# `dump_bookmarks` Extract PDF bookmarks into YAML or JSON ## Usage > pdftl `` `dump_bookmarks` `[json]` `[output` `]` ## Details Extracts the document's Table of Contents (bookmarks) into a highly readable and editable YAML format (or JSON). This faithful extraction preserves both the hierarchical structure and the complex properties of your bookmarks. The resulting file can be easily edited in any text editor and applied back to the same (or a different) PDF using the `update_bookmarks` operation. ### Supported Bookmark Properties Each bookmark node is represented as a dictionary (key-value mapping). The extractor natively supports and outputs the following properties: * **`title`**: The display text of the bookmark. * **`page`**: The 1-indexed target page number. * **`children`**: A nested list of sub-bookmarks to maintain outline hierarchy. * **`color`**: An RGB array for the bookmark text color (e.g., `[1.0, 0.0, 0.0]` for red). * **`bold`** / **`italic`**: Boolean flags for text styling (`true` or `false`). * **`uri`**: An external web link (used if the bookmark points to a URL rather than a page). * **`dest`**: A string reference to a Named Destination embedded inside the PDF. * **`view`**: The precise zoom/viewport array (e.g., `["XYZ", 0, 700, 2.5]`, `["FitH", 500]`). ### Format Example ```yaml - title: Chapter 1 page: 1 bold: true children: - title: Sub-section A page: 2 view: ["FitH", 800] - title: Important Chart page: 3 color: [1.0, 0.0, 0.0] - title: External Resources uri: [https://example.com](https://example.com) ``` ### Dependency note YAML extraction requires the `pyyaml` library. If it is not installed, you can install it via `pip install pdftl[yaml-bookmarks]`, or simply use the `json` flag to extract using Python's standard JSON library instead. ## Examples > Print YAML bookmark data to standard output ``` pdftl in.pdf dump_bookmarks ``` > Dump YAML bookmark data to bookmarks.yaml ``` pdftl in.pdf dump_bookmarks output bookmarks.yaml ``` > Dump JSON bookmark data to bookmarks.json ``` pdftl in.pdf dump_bookmarks json output bookmarks.json ``` **Tags**: info, metadata, bookmarks *Source: pdftl.operations.dump_bookmarks* *Read online: [https://pdftl.readthedocs.io/en/stable/operations/dump_bookmarks.html](https://pdftl.readthedocs.io/en/stable/operations/dump_bookmarks.html)* *Type: Operation*