Docento.app Logo
Docento.app
Laptop on a wooden desk
All Posts

How to Create PDF Bookmarks from Headings

May 17, 2026·6 min read

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

  1. Apply heading styles in your source document (Heading 1, Heading 2, etc.)
  2. Export to PDF with bookmark generation enabled
  3. 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:

  1. Use built-in Heading 1, 2, 3 styles throughout the document (not just manual bold)
  2. File → Save As → PDF
  3. Click Options...
  4. Check Create bookmarks using: Headings
  5. 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:

  1. Apply Heading styles via Format → Paragraph styles
  2. File → Download → PDF Document
  3. Headings translate to PDF bookmarks

Verify in your PDF reader.

In LibreOffice Writer

Similar to Word:

  1. Apply Heading 1, 2, 3 styles
  2. File → Export As → Export as PDF
  3. In the dialog, check "Export bookmarks"
  4. Export

LibreOffice's PDF export is robust; bookmarks generally come through cleanly.

In Adobe InDesign

InDesign's bookmark control is more detailed:

  1. Apply paragraph styles for headings
  2. Window → Interactive → Bookmarks
  3. Manually add bookmarks, or use "Generate bookmarks from paragraph styles"
  4. 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:

  1. Open the PDF
  2. Show the bookmarks panel (Acrobat: View → Show/Hide → Navigation Panes → Bookmarks)
  3. Click each bookmark to verify it navigates correctly
  4. 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_info can 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:

  1. Apply Heading 1, 2, 3 styles consistently
  2. Verify document outline view shows proper structure
  3. Save As → PDF
  4. Options → Create bookmarks using Headings
  5. Verify in the PDF

For a LaTeX document:

  1. Use \section{}, \subsection{}, etc.
  2. Include \usepackage{hyperref} with bookmarks enabled
  3. Compile
  4. Verify

For an existing PDF without bookmarks:

  1. Open in Acrobat Pro
  2. If tagged: New Bookmarks from Structure
  3. 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.

Related Posts