Neatbo.

PDF bookmark workspace

Inspect PDF bookmarks, replace them using titles and page numbers, or clear the active bookmark tree.

Browser-local processingInputPDF + bookmark JSONOutputPDF / bookmark reportUp to 30 MiB per file · File limit: 1
  1. 1Add input
  2. 2Adjust settings
  3. 3Get your result

Tool input and files are processed in this browser without being uploaded.

Your input

Inputs are kept temporarily in this tab when switching tools. Refreshing or closing clears them; large results may need to be regenerated.

⌘ / Ctrl + Enter to run

or drag and drop it here

Files stay on this device. Your originals stay unchanged.

.pdf

Up to 30 MiB per file · File limit: 1

    0 characters · 0 bytes
    Options

    Complete the required options first. You can keep the defaults for the rest.

    Inspect does not change the PDF. Replace uses the JSON list; clear removes the whole active bookmark tree.

    Preparing the tool…

    Before you start

    Create a named navigation list that travels with your PDF. Inspect existing bookmarks first, then replace the tree using a JSON list of titles and one-based page numbers.

    How to use this tool

    1. Upload the PDF and inspect its current bookmark titles and page targets.
    2. Select Replace bookmarks and enter a JSON array such as [{"title":"Opening","page":1}]. Each target is a one-based page number.
    3. Download the PDF and reopen its bookmarks in a PDF reader. To remove navigation instead, select Clear bookmarks.

    Supported inputs and limits

    One unencrypted PDF up to 30 MiB and 300 pages. Replace mode accepts 1–1,000 flat bookmarks; titles may contain Unicode and up to 200 characters. Page numbers must be whole numbers within the document.

    Writing supports direct page destinations only. Existing nested bookmarks are replaced as a whole; named or external targets are marked unsupported during inspection. Detected signatures and XFA are rejected for editing. Clearing removes active navigation, without promising forensic deletion of old PDF objects.

    Worked example

    Example input

    A three-page PDF with [{"title":"Opening","page":1},{"title":"合同 😀","page":2},{"title":"Last page","page":3}]
    Example options
    {"mode":"replace"}

    Example output

    A three-page PDF with three named bookmarks targeting pages 1, 2 and 3, plus a JSON report.

    When something does not work

    Check the JSON array, remove extra properties or duplicate keys, and use title and page for each item. Inspect the PDF's page count before correcting out-of-range targets. Keep the original when replacing its navigation.

    Frequently asked questions

    Will these bookmarks stay with the downloaded PDF?

    Yes. Replace mode writes a PDF outline with titled bookmarks and direct page destinations. Reopening the result in a reader that supports PDF outlines shows those titles.

    What happens to the existing bookmark tree?

    Replace mode replaces the whole active outline with the supplied flat list. Clear mode removes the active outline. Inspect mode does not modify the file.

    Can I create nested or named destinations?

    This workspace writes flat page targets only. Inspection can list existing nested entries and marks destinations it cannot resolve. It does not edit external or named targets.

    Documentation & further reading

    Related tools