A long PDF without bookmarks is hard to navigate. With bookmarks generated from headings, readers can jump to any section in one click, and screen readers can navigate by structure. Most authoring tools can generate bookmarks automatically from heading styles, but it takes setup. This guide walks through the practical workflow.
Why bookmarks from headings
Manual bookmark creation is tedious for long documents. Auto-generated bookmarks:
- Save time
- Stay in sync with content
- Reflect actual document structure
- Update automatically on re-export
The trick is using proper heading styles in your source document.
The general workflow
- Apply heading styles in your source document (Heading 1, Heading 2, etc.)
- Export to PDF with bookmark generation enabled
- Verify bookmarks in the resulting PDF
If your source has structured headings, bookmarks generate automatically. If not, the document needs styling first.
In Microsoft Word
Word generates bookmarks from headings:
- Use built-in Heading 1, 2, 3 styles throughout the document (not just manual bold)
- File → Save As → PDF
- Click Options...
- Check Create bookmarks using: Headings
- Save
The resulting PDF has a bookmark tree matching the heading hierarchy.
For more on the broader topic, see how to add bookmarks to PDF.
In Google Docs
Google Docs uses headings for the document outline:
- Apply Heading styles via Format → Paragraph styles
- File → Download → PDF Document
- Headings translate to PDF bookmarks
Verify in your PDF reader.
In LibreOffice Writer
Similar to Word:
- Apply Heading 1, 2, 3 styles
- File → Export As → Export as PDF
- In the dialog, check "Export bookmarks"
- Export
LibreOffice's PDF export is robust; bookmarks generally come through cleanly.
In Adobe InDesign
InDesign's bookmark control is more detailed:
- Apply paragraph styles for headings
- Window → Interactive → Bookmarks
- Manually add bookmarks, or use "Generate bookmarks from paragraph styles"
- Export → PDF with bookmarks enabled
For high-design publications, InDesign provides the most control.
In LaTeX
LaTeX's hyperref package generates bookmarks from sectioning commands:
\usepackage{hyperref}
\hypersetup{
pdftitle={My Document},
bookmarks=true,
bookmarksopen=true
}
\section{}, \subsection{}, \subsubsection{} automatically become bookmark levels. The result is a properly-nested bookmark tree.
In Markdown + Pandoc
Pandoc converting Markdown to PDF:
pandoc -s --pdf-engine=xelatex input.md -o output.pdf
Markdown headings (#, ##, ###) become PDF bookmarks via LaTeX intermediate.
After-the-fact bookmark generation
If you have a PDF without bookmarks but with detectable structure:
Adobe Acrobat Pro: Right-click in the bookmarks panel → "New Bookmarks from Structure" (works on tagged PDFs) or generate manually.
cpdf (Coherent PDF): can add bookmarks programmatically.
pikepdf (Python): generate bookmarks from heading detection.
For tagged PDFs, bookmark generation from structure is straightforward. For non-tagged PDFs, you must detect headings via heuristics (font size, position).
Heading hierarchy
For predictable bookmark structure:
- H1, top-level sections
- H2, subsections
- H3, sub-subsections
- And so on (typically up to H4 or H5)
Skipping levels (H1 to H3) creates inconsistent bookmark trees. Stay sequential.
Bookmark expansion behavior
By default, the bookmark tree opens at the top level. You can configure:
- Expand to specific level, show H1 and H2 by default; collapse deeper
- Expand all, show entire tree
- Show only top level, minimal
Set in the authoring tool's PDF export options, or in Acrobat by right-clicking the bookmarks.
Verifying bookmarks
After PDF generation:
- Open the PDF
- Show the bookmarks panel (Acrobat: View → Show/Hide → Navigation Panes → Bookmarks)
- Click each bookmark to verify it navigates correctly
- Check the hierarchy matches the document structure
If a bookmark is misnamed or pointing wrong, manually correct in Acrobat or re-export with fixed source.
Bookmark customization
Beyond auto-generated:
- Rename bookmarks if heading text is too long or unclear
- Reorder if needed
- Change destination to specific zoom or page view
- Apply visual styles (bold, italic, color) for emphasis
- Add manually for non-heading destinations (figures, tables, appendices)
Acrobat Pro's bookmark editor handles all of this.
Bookmarks and accessibility
For accessible PDFs:
- Bookmarks complement but do not replace tagged structure
- Screen readers use the tag tree for reading order
- But bookmarks help all users navigate large documents
A PDF/UA-compliant document typically has both tags and bookmarks.
Bookmarks in long documents
For documents over 50 pages, bookmarks are essentially required for usability. Common practice:
- Chapter or major section as top-level bookmarks
- Numbered subsections as second-level
- Tables and figures as their own bookmarks (manually added)
- Appendices as a separate top-level branch
Specific scenarios
Academic papers. Section bookmarks for navigation. Many style guides require.
Technical manuals. Detailed hierarchy reflecting the table of contents.
Reports. Section bookmarks for skim-readers.
Books. Chapter + section bookmarks.
Legal documents. Section and subsection numbering reflected.
Government documents. Often required for accessibility compliance.
Common gotchas
Styles not applied consistently. If you used Heading 1 in some sections and bold text in others, bookmarks miss the bold sections.
Heading skipped levels. H1 → H3 without H2 produces awkward bookmark trees.
Long heading text. Bookmarks are truncated in some readers. Use concise headings or edit bookmark names.
Lost on re-save. Some PDF editors strip bookmarks on save. Verify after editing.
Page rearrangement breaks bookmarks. Moving pages may break the bookmark targets. Re-link or regenerate.
Generated bookmarks misnamed. Sometimes the "heading" picked up is from a footer or header. Verify and clean up.
Bookmark depth confusion. Authors over-nest (5+ levels) making the tree unwieldy. Keep to 3-4 levels typically.
Tools for bookmark management
Interactive:
- Adobe Acrobat Pro, most capable bookmark editor
- Foxit PDF Editor, comparable
- PDF-XChange Editor, solid
Programmatic:
- pdftk,
update_infocan modify outline - qpdf, limited bookmark support
- pikepdf, Python access to outline structure
- cpdf, clean bookmark commands
Browser-based:
- Docento.app supports bookmark editing without installing software
Practical recipe
For a long Word document:
- Apply Heading 1, 2, 3 styles consistently
- Verify document outline view shows proper structure
- Save As → PDF
- Options → Create bookmarks using Headings
- Verify in the PDF
For a LaTeX document:
- Use
\section{},\subsection{}, etc. - Include
\usepackage{hyperref}with bookmarks enabled - Compile
- Verify
For an existing PDF without bookmarks:
- Open in Acrobat Pro
- If tagged: New Bookmarks from Structure
- If not tagged: manually add or run an auto-tag pass first
Takeaway
Bookmarks from headings make long PDFs navigable. The work happens in the source document, applying proper heading styles, not in the PDF itself. Word, Google Docs, LibreOffice, InDesign, LaTeX, and Pandoc all support automatic bookmark generation when source is properly styled. For after-the-fact bookmark addition, Acrobat Pro and similar editors handle the work. For browser-based bookmark operations, Docento.app covers common tasks. For related topics, see how to add bookmarks to PDF, how to add a table of contents to PDF, and tagged PDF vs untagged PDF.