PDF Bookmarks

A navigational outline (also called the document outline) embedded in a PDF that lets readers jump directly to specific sections — displayed in the Bookmarks panel of most PDF viewers.

PDF bookmarks — formally called the <em>document outline</em> in the PDF specification (<a href="https://www.iso.org/standard/63534.html" target="_blank" rel="noopener">ISO 32000</a>) — are a navigational panel embedded in a PDF that lets readers jump directly to specific sections without scrolling. They appear in the Bookmarks panel of <a href="https://get.adobe.com/reader/" target="_blank" rel="noopener">Adobe Reader</a>, Chrome, Edge, Firefox, and most other PDF viewers as a clickable tree of document sections.

Technical structure of PDF bookmarks

In the PDF specification, bookmarks are stored as a tree of <strong>outline items</strong> (also called bookmark nodes) under the document's <code>/Outlines</code> dictionary entry. Each outline item contains:

- <strong>/Title</strong> — The text displayed in the bookmarks panel - <strong>/Dest</strong> or <strong>/A</strong> — The destination: typically a page number and view specification (position, zoom level), or a named destination (<code>/GoTo</code> action) - <strong>/First</strong>, <strong>/Last</strong> — Links to child nodes for nested bookmarks - <strong>/Next</strong>, <strong>/Prev</strong> — Sibling links for traversal - <strong>/Count</strong> — Number of visible child items - <strong>/C</strong> — Optional colour (RGB) for the bookmark label - <strong>/F</strong> — Optional style flags (bold, italic)

Destinations can be defined as explicit page/position coordinates (<code>[page /XYZ left top zoom]</code>), or as named destinations referenced by a string key in the document's name tree. Named destinations are more robust than explicit coordinates for documents where page content may be reflowed.

The bookmark tree can be arbitrarily deep — chapters containing sections containing subsections — but most PDF viewers display 2–3 levels comfortably. <a href="https://pdf-lib.js.org/" target="_blank" rel="noopener">pdf-lib</a> supports creating and modifying the bookmark outline tree programmatically.

How bookmarks relate to document structure and tagged PDFs

PDF bookmarks and PDF document structure (<a href="https://pdftheguide.com/glossary/tagged-pdf" target="_blank" rel="noopener">tagged PDF</a> logical structure tree) are two separate systems that represent similar information independently. A <a href="https://pdftheguide.com/glossary/tagged-pdf" target="_blank" rel="noopener">tagged PDF</a> has a /StructTree with heading tags (H1, H2, H3) that enable screen reader navigation. Bookmarks provide a visual outline panel for all readers regardless of screen reader use.

Most PDF authoring tools that generate tagged PDFs also generate bookmarks from the same heading structure: - <strong>Microsoft Word</strong>: "Best for electronic distribution" export generates both tagged structure and bookmarks from Word heading styles - <strong>Adobe InDesign</strong>: Table of Contents style mapping generates bookmarks in the exported PDF - <strong>LibreOffice</strong>: PDF export option "Export bookmarks as named destinations" maps document headings to PDF bookmarks

For <a href="https://pdftheguide.com/glossary/pdf-ua" target="_blank" rel="noopener">PDF/UA</a> compliance, documents with 21 or more pages are required to have a bookmark outline. The Matterhorn Protocol checkpoint 14-001 specifically checks for this. Bookmarks are therefore both a navigation convenience and an accessibility requirement for longer documents.

Creating and editing bookmarks

<strong>From authoring tools</strong> — The most reliable approach. Word, InDesign, LibreOffice, and other authoring applications can be configured to generate bookmarks from heading styles at export time. This ensures bookmark structure matches document content structure and is maintained when the document is updated.

<strong>In Adobe Acrobat Pro</strong> — The Bookmarks panel (View > Show/Hide > Navigation Panes > Bookmarks) allows manual creation, deletion, renaming, and reordering of bookmark items. Right-click a bookmark to set its destination to the current page view.

<strong>Programmatically</strong> — PDF manipulation libraries allow bookmark creation in batch workflows. <a href="https://pdf-lib.js.org/" target="_blank" rel="noopener">pdf-lib</a> (JavaScript) supports reading and writing the /Outlines tree. <a href="https://itext.com/" target="_blank" rel="noopener">iText</a> (Java/C#) provides comprehensive bookmark manipulation APIs. <a href="https://pypdf2.readthedocs.io/" target="_blank" rel="noopener">PyPDF2</a> / <a href="https://pypdf.readthedocs.io/" target="_blank" rel="noopener">pypdf</a> in Python can read and write bookmarks.

<strong>Command-line (pdftk)</strong> — The open-source <a href="https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/" target="_blank" rel="noopener">pdftk</a> tool can export bookmarks to a text format (<code>pdftk input.pdf dump_data</code>), edit them in a text editor, and re-import them (<code>pdftk input.pdf update_info bookmarks.txt output output.pdf</code>). Useful for bulk bookmark operations on many PDFs.

Bookmarks vs PDF page labels

Bookmarks and <a href="https://pdftheguide.com/glossary/pdf-page-labels" target="_blank" rel="noopener">PDF page labels</a> are often confused because both affect PDF navigation, but they serve different purposes:

<strong>Bookmarks</strong> navigate to semantic sections — "Chapter 3: Results" takes the reader to the start of that chapter regardless of which physical page it is on.

<strong>Page labels</strong> assign custom display numbers to physical pages — front matter pages shown as "i, ii, iii" and body pages shown as "1, 2, 3". This affects what is displayed in the page number field of the viewer, not where bookmarks point.

In a correctly structured academic thesis PDF: - Pages 1–8 (physical) are labelled i–viii (Roman numerals, front matter) - Pages 9–320 (physical) are labelled 1–312 (Arabic numerals, body text) - Bookmarks point to the physical page numbers but use the labelled page numbers in their destinations - Searching for "page 45" in the viewer jumps to physical page 53 (45 + 8 front matter pages)

Both systems together provide a navigational experience that matches the reader's expectations from the printed document.

Frequently asked questions

How do I add bookmarks to a PDF?

The most reliable method is to generate bookmarks during PDF export from the source application — in Microsoft Word, use "Best for electronic distribution" PDF export; in LibreOffice, check "Export bookmarks as named destinations". To add bookmarks to an existing PDF, use Adobe Acrobat Pro's Bookmarks panel, or a library like pdf-lib for programmatic addition.

Do all PDF viewers show bookmarks?

Yes — bookmarks are a standard PDF feature (ISO 32000) supported by all major viewers: Adobe Reader, Chrome's built-in viewer, Edge, Firefox, Preview on macOS, and Foxit Reader. The bookmark panel is typically opened by a sidebar icon or keyboard shortcut specific to each viewer.

Are bookmarks required for PDF/UA accessibility?

For documents with 21 or more pages, yes. The Matterhorn Protocol for PDF/UA conformance requires a document outline (bookmarks) for long documents. This requirement exists because bookmarks allow keyboard and screen reader users to navigate sections without reading through all preceding content.

What is the difference between a PDF bookmark and a browser bookmark?

A browser bookmark saves a URL to a website in the browser's favourites list. A PDF bookmark is a navigational item embedded inside the PDF file itself — it points to a specific section of that PDF document and is displayed in the PDF viewer's sidebar panel. They are unrelated concepts that share a name.