Look inside a PDF

Every PDF tool edits pages; almost none shows you what a PDF actually is. This walks the full object graph the way a PDF engineer reads it — useful for debugging generators, auditing what a file carries, and learning the format.

Loading the tool…

How it works

  1. Drop the PDF — qpdf parses the complete object graph in your browser.
  2. Filter by object type or search across dictionaries; click an object to see it formatted.
  3. Check the overview: version, page count, encryption, and how many saved generations the file carries.

Why nothing is uploaded

Every operation on this page is done by code running inside your browser tab, using the same engine that renders web pages. The file is read from disk into your tab’s memory, transformed there, and written back out as a download. It is never sent anywhere — not to us, not to a third party.

Verify it yourself

  1. Open your browser’s developer tools (F12) and select the Network tab.
  2. Load your file and run the tool.
  3. The only requests you will see fetch the tool’s own code — and, for a few heavy tools, their open-source engine from a public CDN — plus one small page-view ping to loreatec.jp (page address and title, nothing more). None of them carry your file.

Proof it stays local →

Frequently asked questions

What are “saved generations” and why are they flagged?

PDFs can be saved incrementally: the new version is appended and the old bytes stay in the file. More than one generation means earlier content may be recoverable by cutting the file at an earlier %%EOF — which matters when a document was “corrected” before being shared.

What would I actually use this for?

Debugging a PDF your code generates (why is the font not embedded? where did the metadata go?), auditing a file before publication (what does it really contain?), and understanding why one 200 KB PDF opens instantly while another crawls. The object graph answers questions page-level tools cannot even ask.

Does it show the content of streams?

It shows each stream’s dictionary — length, filters, type — but does not extract the decoded payloads in this version. For page images there is the extract-images tool; for text, the text-extraction tools.

Is the PDF uploaded?

No. A standard open-source PDF library, compiled to WebAssembly, parses the file inside this tab. For a tool whose audience inspects unreleased and confidential documents, local is the only acceptable design.