PDF Object Inspector
A PDF is a network of numbered indirect objects rather than just visible pages. This read-only inspector lists actual object numbers and types, follows indirect references, displays encoded stream sizes and filters, maps page resource dictionaries and embedded file specifications, and checks the latest cross-reference section against object byte offsets. It helps diagnose file structure; it does not edit, decrypt or certify a PDF.
Key features
- Browse real numbered objects, dictionary keys, incoming and outgoing references
- Inspect page fonts, XObjects and other inherited resource groups
- See attachment FileSpec-to-embedded-stream relationships without extracting file bytes
- Check classic xref tables and bounded unfiltered or Flate xref streams
- Flag mismatched offsets and missing references; distinguish normal cycles from corruption
How to use
- Choose a PDF up to 8 MiB and 150 pages, or open the local example.
- Review object counts, the latest xref section and any structural findings.
- Search object IDs, types or dictionary keys, then follow incoming and outgoing references.
- Switch page numbers to inspect their resource dictionaries and review attachment relationships.
- Download the JSON report if you need to preserve the structural inventory.
Use cases
- Trace a missing font or image resource to its indirect object
- Check whether a PDF's final xref offset points to the declared object
- Identify which FileSpec refers to an embedded file stream
Frequently asked questions
Does it validate the complete PDF specification?
No. It checks a bounded structural subset: the final xref table or a simple Flate/unfiltered xref stream, parsed objects and references. Incremental history, hybrid supplemental xrefs and every filter or PDF conformance rule are not fully checked.
Can it inspect compressed object streams?
The local PDF parser materializes supported objects stored inside object streams. The final xref stream marks each compressed object with its container and index. Object stream internals are not exposed as editable bytes.
Are reference cycles always errors?
No. Page-tree Parent/Kids links naturally point in both directions. Cycles are informational; missing targets and incorrect xref offsets are reported separately.
Will this alter my PDF or extract an attachment?
No. The source stays unchanged. Attachment filenames and embedded-stream references are shown, but attachment contents are neither extracted nor uploaded.
What are the safety limits?
Files are capped at 8 MiB, 150 pages, 4,000 parsed objects and 12,000 edges. The latest xref stream decoder caps output at 1 MiB. Encrypted PDFs are not supported.
Privacy
All parsing runs in your browser; the PDF is not uploaded. The JSON export includes object metadata, references and attachment filenames, so review it before sharing.
Comments & questions