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 Element | Holds | Notes |
|---|---|---|
| Title | Display label | Plain text, supports any Unicode |
| Destination | Page + view | Explicit or named destination |
| Parent / Child links | Tree position | Enables nesting up to many levels |
| Next / Prev | Siblings | Defines display order |
| Color & style | Optional visual cues | Bold/italic for top-level chapters |
| Action | Optional richer behaviour | JavaScript, 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
- Mirror the visible heading hierarchy — H1 = top level, H2 = child, etc.
- Keep labels under ~60 characters; long titles wrap and look messy.
- Use named destinations for chapter starts; raw page numbers break when pages are added or removed.
- Set the document's
PageModetoUseOutlinesso the panel opens automatically. - 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 = UseOutlinesin 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:
- 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.
- Exporting from LaTeX? The
hyperrefpackage builds the outline automatically from your\sectionhierarchy. - 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.
- 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 →