PDF Named Destinations
Symbolic names assigned to specific locations in a PDF — used in hyperlinks, bookmarks, and JavaScript to navigate to a target page and position in a reliable, rename-resistant way.
Named destinations are a PDF navigation feature that assigns a symbolic name to a specific location in a document — a page number, a view position, and a zoom level. Instead of referring to "page 47, top-left corner, at 150% zoom", you can refer to "Section-3-Introduction" or "Figure-12" and the PDF viewer resolves this name to the correct location at the time the link is followed.
This indirection has a practical consequence that makes named destinations superior to page-number-based links: if the document is re-paginated — pages inserted or removed — any links that reference page numbers break, while links that reference named destinations remain valid as long as the destination name is preserved.
Named destinations are used extensively in long technical documents, legal references, regulatory filings, and any document where internal cross-references need to survive future revisions. They are the recommended approach for internal hyperlinks in tagged PDFs, and they underpin the way PDF bookmarks navigate to document positions.
How named destinations work technically
In the PDF file structure, named destinations are stored in the document catalogue — the root dictionary of every PDF. Specifically, they are stored in the <strong>/Names</strong> dictionary under a <strong>/Dests</strong> name tree.
A name tree is an efficient binary-tree-like structure for mapping string keys to arbitrary PDF objects. Each entry maps a destination name (a string like `"chapter-3"` or `"fig-12"`) to a destination array that specifies:
1. The target page (as an indirect reference to the page dictionary) 2. The fit type — how to fit the view when jumping to the destination 3. Additional parameters for the fit type (coordinates, zoom factor)
Fit types include: - <strong>/XYZ</strong> — Jump to x, y coordinates at a specified zoom. The most common type. - <strong>/Fit</strong> — Fit the entire page in the window - <strong>/FitH</strong> — Fit the page width, scrolling to y coordinate - <strong>/FitV</strong> — Fit the page height, scrolling to x coordinate - <strong>/FitR</strong> — Fit a specific rectangle in the window
A GoTo action (the PDF action type for internal navigation) can reference a named destination by name using the `/D` key:
``` << /Type /Action /S /GoTo /D (chapter-3) % reference by name >> ```
Or it can reference a destination directly (without a name):
``` << /Type /Action /S /GoTo /D [42 0 R /XYZ 0 700 1.5] % page 43, y=700, zoom=1.5x >> ```
The named version is portable — the destination can be updated independently of the action that references it.
Named destinations vs explicit destinations
PDF supports two ways to specify where a link or bookmark should navigate:
**Explicit destination** — The destination array (page, fit type, coordinates) is embedded directly in the action or bookmark. Simple and direct, but if pages are renumbered or content moved, the link points to the wrong place.
**Named destination** — The destination array is stored under a symbolic name in the /Names dictionary. Links and bookmarks reference the name, not the array directly. This allows destinations to be updated in one place, and the change propagates to all links that reference that name.
For long-lived documents that will be revised — legal agreements, technical manuals, regulatory filings — named destinations are the professional standard. Document management systems and content management platforms that generate PDF output from structured content typically use named destinations for all internal cross-references.
<a href="https://www.pdfa.org/resource/technical-note-0010/" target="_blank" rel="noopener">PDF Association Technical Note 0010</a> covers named destination best practices in detail.
URL fragment-based navigation in PDFs
Named destinations are also the mechanism behind URL-based navigation to specific PDF locations. When you link to a PDF with a URL fragment like:
`https://example.com/document.pdf#chapter-3`
…the fragment `chapter-3` is treated as a named destination by the PDF viewer. This works in: - Adobe Acrobat/Reader (both plugin and standalone) - Chrome's built-in PDF viewer - Firefox's PDF.js viewer
The <a href="https://www.ietf.org/rfc/rfc3778.txt" target="_blank" rel="noopener">IETF RFC 3778 (The application/pdf Media Type)</a> specifies that URL fragments in PDF links are interpreted as named destinations.
This makes named destinations useful for PDF content that is published on the web and needs to support deep linking — linking directly to a specific chapter, section, or figure from an external web page or another PDF. For example, a research paper's citation might link to a specific table in a PDF dataset.
To use this effectively: 1. Ensure your PDF generation tool creates named destinations for key sections 2. Use meaningful names (not page numbers, which would defeat the purpose) 3. Test the fragment URL in multiple PDF viewers to verify consistent behaviour
Creating named destinations in PDF tools
Named destinations are created differently depending on the authoring tool:
**Adobe InDesign** — When exporting to PDF, InDesign automatically creates named destinations for all paragraph styles marked as headings, and for anchors explicitly created with the Hyperlink > New Hyperlink Destination feature. The names match the anchor names set in the document.
**Microsoft Word** — Word's PDF export (File > Save As PDF) creates named destinations for all headings and bookmarks. Bookmarks in Word (Insert > Bookmark) become named destinations in the exported PDF.
**LaTeX** — The <a href="https://ctan.org/pkg/hyperref" target="_blank" rel="noopener">hyperref package</a> creates named destinations for all `\label{}` commands. Cross-references and table of contents entries in the PDF use these destinations. Destination names are derived from the label names.
**PDF libraries** — pdf-lib (JavaScript), pypdf (Python), and iText (Java) all support creating named destinations programmatically. pdf-lib uses `pdfDoc.catalog.set(PDFName.of('Names'), ...)` to populate the name tree.
**Acrobat Pro** — Can create destinations through the View > Show/Hide > Navigation Panes > Destinations panel. Each destination can be named and positioned by navigating to the target location first.
Frequently asked questions
What is a PDF named destination?
A named destination is a symbolic name stored in a PDF that maps to a specific page location and view state. Instead of linking "go to page 47", you create "go to the destination named 'chapter-3'" — which resolves to page 47 currently, but remains valid if pages are renumbered. Named destinations are used for internal links, bookmarks, and URL fragment navigation into PDFs.
How do I create a link to a specific section in a PDF?
To create a deep link to a PDF section from a web page, the PDF must contain a named destination for that section. Append the destination name as a URL fragment: `document.pdf#destination-name`. If the PDF was created from Word or InDesign, headings and bookmarks typically become named destinations automatically. If you need to add named destinations to an existing PDF, Adobe Acrobat Pro supports this through its Destinations panel.
Do all PDF viewers support named destinations?
All major PDF viewers support named destinations for internal navigation (bookmarks, links within the document). URL fragment navigation (appending `#name` to a PDF URL) is supported in Adobe Reader, Chrome's built-in viewer, and Firefox's PDF.js viewer. Some lightweight PDF viewers and older mobile PDF readers may not support URL fragments, though they will still follow internal named destination links.
What happens when a named destination reference is broken?
If a link or bookmark references a named destination that does not exist in the PDF's /Names dictionary — because the destination was deleted, renamed, or the destination section was removed from a newer version of the document — most viewers will show an error or do nothing when the link is clicked. Adobe Acrobat shows an "Invalid destination" error. This is different from a broken URL link (which would fail at the network level); a broken named destination fails silently in some viewers. Validate destination references when updating long-lived documents.