Bookmarks are the navigation structure a PDF author builds on top of the raw pages, the same idea as a table of contents in a printed book, except that clicking one jumps straight to the section it names. Not every PDF has them. Documents authored in word processors or design tools with a table of contents feature usually do, while scanned documents and simple exports usually do not, and there is no way to tell from the file size or the page count alone.
Nothing is uploaded to check this. The PDF is parsed by a JavaScript library running entirely in your browser tab, so a confidential report or an unpublished manuscript can be inspected without ever being sent anywhere.
What a pdf bookmark viewer shows that a table of contents does not
Reach for this whenever you need to confirm a document's navigation structure without stepping through a full desktop PDF reader. Checking that a long report's bookmarks were generated correctly after an export, confirming a legal document's table of contents matches its actual sections, or inspecting an unfamiliar PDF's structure before deciding how to process it programmatically are all good uses.
It is also a fast way to answer a simple yes or no question: whether a given PDF has bookmarks at all. A document with none is a strong hint that a table of contents will need to be built by hand, in the authoring tool, rather than assumed to already exist.
- Use a pdf bookmark viewer to confirm an export correctly generated a document's table of contents.
- View pdf bookmarks before deciding how to split or extract sections of a long report.
- Check whether a legal document's section headings match its intended outline.
- Inspect a pdf outline viewer's tree before writing code that programmatically navigates a PDF.
- Confirm a document has no bookmarks at all before building a table of contents by hand.
Reading the outline tree
Each entry in the list is a bookmark exactly as the PDF author defined it, shown with its title and indented to reflect its position in the hierarchy. A top level entry might represent a chapter, with nested entries underneath it representing that chapter's individual sections, mirroring the same parent and child structure you would see in a table of contents panel inside a desktop reader.
Clicking an entry jumps the embedded preview to the page that bookmark targets, which is the fastest way to confirm a bookmark actually points where its title claims it does, rather than to a leftover page from an earlier draft.
What a PDF table of contents can and cannot tell you
The bookmark tree only reflects what the document's author, or the software that generated the file, chose to include. A polished report from a word processor's export feature usually has a complete outline built automatically from its heading styles, while a PDF assembled by merging scanned pages typically has none at all, since there is no structure in a scanned image for a bookmark to describe.
A bookmark's target is stored as a reference to a page and a position on it, not as a copy of the text near that position, so a bookmark can become misleading if pages were deleted, reordered or extracted after the bookmarks were created. This viewer shows exactly what is currently stored, which is the right way to check whether that has happened.
Copying the outline as data
The full tree can be copied as JSON, preserving the nesting, titles and page targets in a structured form. This is useful when the goal is not just to look at the bookmarks but to feed them into another tool, a script, or a document management system that expects a table of contents as data rather than as a rendered list.
Walking the outline tree with pdfjs
A PDF rendering library running entirely inside your browser tab parses the document's structure and reads its outline dictionary, which is the part of the PDF format that stores bookmarks, their titles, their nesting and the page or location each one targets. That tree is then rendered as the expandable list you see, with no rasterising or re-encoding of the document required to read it.
Because none of this touches a server, opening even a large document and reading its bookmarks happens as fast as your own device can parse the file, with no upload wait and no size limit beyond what your browser tab's memory can hold.
How to view PDF bookmarks
- 1
Open your PDF
Drag a PDF onto the drop area or click to browse. The document is parsed immediately.
- 2
Browse the outline tree
Expand and collapse nested bookmarks to explore the document's navigation structure.
- 3
Jump to a bookmark
Click any entry to confirm the page it targets in the embedded preview.
- 4
Copy the outline if needed
Copy the full tree as JSON to reuse the bookmark structure in another tool or script.
Related tools worth bookmarking
Sources and further reading
Frequently asked questions
Common questions about the pdf bookmark viewer.
No. The renderer walks the outline dictionary, the nested tree of bookmark objects a PDF stores separately from its page content, directly against the document already parsed into memory. Reading that tree to display it does not require rendering a single page of the actual content, and it never requires handing an unpublished manuscript or an internal report to anything outside the tab.
Not every PDF has an outline. Scanned documents, simple exports and files assembled by merging separate pages usually have no bookmark structure, since nothing in the authoring process created one. This is normal and does not indicate a damaged file.
No. This is a read only viewer intended to let you inspect an existing outline tree quickly. Adding or editing bookmarks requires the application that authored the document, or a dedicated PDF editing tool that supports writing outline entries.
It jumps the embedded page preview to the location that bookmark targets, which is the fastest way to confirm the bookmark points where its title suggests rather than to an outdated or incorrect page.
Yes. The full tree, including nesting, titles and page targets, can be copied as JSON, which is useful for feeding the structure into a script or another document tool rather than only viewing it on screen.
No fixed limit is imposed by the tool. The practical ceiling is the memory available in your browser tab, which comfortably handles documents running to hundreds of pages, since reading an outline is a lightweight operation compared with rendering full page content.
Drop the file onto this page. The outline loads immediately as an expandable tree, which is usually faster than opening a full desktop reader, waiting for its sidebar to populate, and manually expanding every nested section by hand.