Add Bookmarks to a PDF

Adding bookmarks to a PDF builds a clickable outline — the table-of-contents panel viewers show beside the pages — so readers can jump straight to any chapter or section of a long document. Bookmarks are stored as a tree of outline dictionaries inside the file, separate from the visible pages, which is why adding them changes nothing about how the document looks or prints. This page shows the three dependable ways to create them: Adobe Acrobat's panel, LibreOffice's heading export, and a scripted pdftk bookmark file.

Why there is no one-click converter on this page

Useful bookmarks require judgment a widget cannot supply: knowing which page each chapter starts on and what to call it. Tools that auto-detect headings guess from font sizes and get real documents wrong, so this page walks you through the methods that produce correct outlines instead.

Disclosure: this page contains affiliate placeholder links. If they were live, we could earn a commission at no extra cost to you.

AFFILIATE PLACEHOLDER: Recommended desktop PDF suite (placeholder link)

How to add bookmarks to a PDF (step by step)

Method 1: Adobe Acrobat (interactive)

  1. Open the PDF in Acrobat and click the bookmark icon in the left panel, or choose View → Show/Hide → Side panels → Bookmarks.
  2. Scroll to the page and zoom level you want the bookmark to jump to — the bookmark captures the current view.
  3. Press Ctrl-B (Cmd-B on Mac) or click the New bookmark button, then type the bookmark's title.
  4. Drag bookmarks in the panel to reorder them, or drag one onto another to nest it as a child entry, then save the PDF.

Method 2: pdftk (free, scriptable, exact)

pdftk edits the outline through a plain-text metadata file. First dump the current metadata, then add Bookmark blocks, then write it back:

pdftk report.pdf dump_data output meta.txt

Append one block per bookmark to meta.txt (level 1 is a top-level entry, level 2 nests under the previous level-1 entry):

BookmarkBegin
BookmarkTitle: 1. Introduction
BookmarkLevel: 1
BookmarkPageNumber: 3
BookmarkBegin
BookmarkTitle: 1.1 Scope
BookmarkLevel: 2
BookmarkPageNumber: 4
BookmarkBegin
BookmarkTitle: 2. Findings
BookmarkLevel: 1
BookmarkPageNumber: 9

Then merge the edited metadata into a new file:

pdftk report.pdf update_info meta.txt output report-bookmarked.pdf

Method 3: LibreOffice — generate bookmarks from headings

  1. If you still have the source document, open it in LibreOffice Writer and make sure chapter titles use the Heading 1/2/3 paragraph styles.
  2. Choose File → Export As → Export as PDF… and on the General tab tick Export outlines (older versions call it "Export bookmarks").
  3. Export. Every heading becomes a bookmark, nested to match the heading levels, with destinations that stay correct even after layout changes.

How it works

Inside a PDF, the outline is a small object graph hanging off the document catalog's /Outlines entry. Each bookmark is an outline item dictionary with a /Title string, /Parent, /Prev, and /Next links that stitch siblings into a doubly linked list, /First and /Last pointers to child items, and a /Count whose sign records whether the entry displays open or closed. Navigation comes from each item's /Dest (or a GoTo action): a destination array such as [page /XYZ left top zoom] naming a target page object and view. Because destinations reference page objects rather than page numbers, bookmarks keep working when pages are inserted or removed — but tools that rebuild the page tree carelessly (many merge utilities) orphan those references, which is why outlines so often vanish after merging.

This structure explains each method's character. Acrobat manipulates the item tree directly while you watch. pdftk regenerates the tree from your text description, converting each BookmarkPageNumber into a destination for that page — precise, repeatable, and easy to generate from a script or spreadsheet, but the page numbers are only as correct as your typing. LibreOffice builds the tree from the document's own heading structure at export time, which is the most maintainable route when the source document still exists: the outline can never drift out of sync with the content that produced it.

Two useful refinements live in the same neighborhood of the file. The catalog's /PageMode can be set to UseOutlines so viewers open the bookmarks panel automatically — worthwhile for manuals and reports. And because the outline is metadata, it costs almost nothing: a few hundred bytes per entry, no rendering changes, no reflow, no risk to the page content itself.

Worked example: outlining a 148-page policy manual

An HR team has policy-manual.pdf, 148 pages and 6.2 MB, produced years ago from a source file nobody can find — so the LibreOffice route is out. From the printed table of contents they build a pdftk metadata file with 9 level-1 chapters and 41 level-2 sections (50 bookmarks total), generated from a two-column spreadsheet with a short formula. Running pdftk policy-manual.pdf update_info meta.txt output manual-nav.pdf takes under two seconds; the output is 6.21 MB, about 8 KB larger. Opening the result shows the full nested outline, and clicking "7.2 Parental leave" jumps directly to page 96. One error surfaced immediately — a chapter mistyped as page 61 instead of 63 — and was fixed by editing two characters in the text file and re-running the command.

Frequently asked questions

What are PDF bookmarks and where do they live in the file?

Bookmarks are the clickable outline shown in a viewer's side panel. Inside the file they are a linked tree of outline dictionaries, separate from the page content, where each entry stores a title and a destination page and view.

Can I add bookmarks to a PDF for free?

Yes. The command-line tool pdftk edits bookmarks with a plain text file, and LibreOffice generates them automatically from document headings on export. Both are free; only Acrobat's drag-and-drop panel costs money.

Why does my exported PDF have no bookmarks even though the document has headings?

The export setting was probably off. In Word, tick Create bookmarks using Headings in the PDF options dialog; in LibreOffice, enable Export outlines. Headings styled manually as bold text, rather than with heading styles, never become bookmarks.

Do PDF bookmarks change how the document looks or prints?

No. Bookmarks live outside the page content, so pages render and print exactly as before. They only add navigation, plus a few kilobytes of outline dictionaries to the file.

Can a PDF be set to show its bookmarks panel automatically?

Yes. Setting the document's PageMode to UseOutlines makes compliant viewers open the bookmarks panel when the file is opened. Acrobat exposes this under Document Properties, Initial View.

Do bookmarks survive merging two PDFs together?

Often not: many merge tools drop or flatten the outline tree, and page numbers shift anyway. Merge first, then add or rebuild bookmarks on the combined file so destinations point at the right pages.

Related tools