PDF Bookmarks Guide: Outlines & Navigation

A 200-page PDF without bookmarks is unreadable on any device. The outline panel is the difference between "I'll skim later" and "I'll actually use this." Bookmarks take minutes to add and make documents feel instantly professional.

Outline Structure

Outline ElementHoldsNotes
TitleDisplay labelPlain text, supports any Unicode
DestinationPage + viewExplicit or named destination
Parent / Child linksTree positionEnables nesting up to many levels
Next / PrevSiblingsDefines display order
Color & styleOptional visual cuesBold/italic for top-level chapters
ActionOptional richer behaviourJavaScript, URI — use sparingly

Manual vs Programmatic Bookmarks

For short documents, adding bookmarks manually in a PDF editor is fastest. Open the outline panel, select a target page, and add a top-level or nested entry. For long, frequently regenerated documents (reports, books, exports from a CMS), generate the outline programmatically. Tools like pdf-lib (JS), PyMuPDF (Python), and iText (Java) can walk the structure tree, find heading tags, and write outline entries in one pass.

Good Bookmark Hygiene

  1. Mirror the visible heading hierarchy — H1 = top level, H2 = child, etc.
  2. Keep labels under ~60 characters; long titles wrap and look messy.
  3. Use named destinations for chapter starts; raw page numbers break when pages are added or removed.
  4. Set the document's PageMode to UseOutlines so the panel opens automatically.
  5. Test on mobile readers — some flatten nesting beyond two levels.

Common Problems

  • All bookmarks point to page 1: happens when destinations were never set during export. Re-export with bookmarks enabled.
  • Outline panel hidden by default: set PageMode = UseOutlines in the catalog.
  • Wrong zoom on click: use the Fit or FitH (fit width) destination type, not XYZ which preserves the author's zoom level.
  • Broken after merge: use a merge tool that preserves outlines and re-targets pages.

A Quick Workflow to Add Bookmarks

The fastest reliable path depends on where the document comes from:

  1. Authoring in Word or Google Docs? Apply real heading styles (Heading 1, 2, 3) instead of just bolding text, then export with “create bookmarks from headings” enabled. The outline is generated for free and mirrors your structure.
  2. Exporting from LaTeX? The hyperref package builds the outline automatically from your \section hierarchy.
  3. Working with an existing flat PDF? Open it in a PDF editor, turn on the outline panel, and add a top-level entry at each chapter start, nesting sub-sections beneath. Keep the tree no deeper than three levels so mobile readers display it cleanly.
  4. Regenerating the file often? Script it with a library (pdf-lib, PyMuPDF, or iText) that reads the tagged headings and writes outline entries in one pass, so you never re-do the work by hand.

Whichever route you take, finish by setting PageMode to UseOutlines so the panel opens on launch, and click through every entry once to confirm the destinations land where you expect.

Combine Sectioned PDFs

Merge chapter PDFs into a single book — bookmarks and order preserved.

Merge PDF →

Frequently Asked Questions

A table of contents is visible page content the reader scrolls to; bookmarks are a separate side-panel navigation tree that stays available no matter where you are in the document. Good long PDFs usually have both — a TOC for print and overview, bookmarks for fast on-screen jumping.
Yes — this is the recommended approach. Word, Google Docs, LaTeX (hyperref), and InDesign all build the outline from your heading styles on export, and libraries like pdf-lib, PyMuPDF, and iText can do it programmatically. The key is using real heading styles, not manually bolded text.
Yes — Word, LaTeX, InDesign, and libraries like pdf-lib, PyMuPDF, iText.
If the merge tool preserves outlines and re-targets pages. Always verify.
Set PageMode to UseOutlines so the outline panel opens automatically.