Split a PDF by its bookmarks
A well-structured PDF has a bookmark tree (also called an outline or table of contents) that lists the document's sections with direct links to their starting pages. PrepFile's splitter reads that tree and produces one PDF per top-level bookmark — automatically, without you counting page numbers.
This is the cleanest way to break up a multi-section document: a discovery production set, a multi-exhibit filing, a long agreement with discrete sections, or a standards document with numbered parts. The output files are named after the bookmark titles (sanitized to be filesystem-safe), so the resulting ZIP is self-labeling.
Under the hood: PrepFile uses pdfjs-dist to read the bookmark tree and resolve each entry's destination to a page index, then pdf-lib to copy the page ranges into new documents. For PDFs where the destination references are stored as named destinations rather than direct page references, pdfjs resolves them — which is more reliable than trying to parse the PDF catalog directly.
Open the tools — free, no upload
How to split a PDF by bookmarks
- Click the PDF Splitter tile on the homepage.
- Drop your PDF in — it is read locally, nothing uploads.
- Choose "Split by bookmarks" (the default).
- Click Split PDF.
- A ZIP file downloads containing one PDF per top-level bookmark, numbered and named.
Questions
What if the PDF has no bookmarks?
PrepFile will tell you the PDF has no bookmarks and suggest using page ranges instead. Many scanned PDFs lack a bookmark tree even if they have a printed table of contents.
Does it split on nested bookmarks too?
Currently only top-level bookmarks are used as split points. Nested items are included in the range of their parent section.
What if two sections start on the same page?
If bookmarks point to the same page, the earlier section gets zero pages and is omitted from the output. This can happen with decorative bookmarks that don't correspond to new pages.