Split PDF by Bookmarks & Table of Contents Chapters Online
Split eBooks, manuals, and reports into separate chapter PDFs based on Table of Contents (TOC) bookmark levels online for free with auto-named files.
Drop PDF file here to split by bookmarks
Read PDF /Outlines table of contents and extract individual book chapters, legal sections, or manuals automatically.
How It Works: 3-Step Bookmark Splitting
Follow three simple steps to extract separate PDF documents based on your outline chapter markers.
Load PDF & Scan Outlines
Upload your bookmarked PDF file into browser memory. Click Scan Outline Bookmarks to automatically resolve page jump targets.
Select Desired Sections
Review the calculated page ranges for each bookmark. Choose top-level chapters only, select all, or cherry-pick specific sections.
Split & Download ZIP
Click Split & Save ZIP. Our engine extracts each section losslessly and packages them into a single organized ZIP archive.
Core Chapter Extraction Features
Extract semantic chapters and documents with zero page content alteration or loss of selectable text.
Chapter Range Calculation
Scans internal /Outlines destinations to automatically calculate precise starting and ending page ranges for each chapter.
Depth-Based Filtering
Quickly toggle between top-level chapters (Depth 0) or granular nested sub-sections with instant selection filters.
Sanitized File Naming
Automatically generates clean filenames from original bookmark titles (e.g. Chapter_1_Introduction.pdf) for easy sorting.
Bulk ZIP Packaging
Compiles all extracted chapter PDF documents into a single compressed ZIP archive locally in memory for instant download.
In-Browser Bookmark Chapter Splitter vs. Cloud Tools
Compare intelligent semantic outline chapter splitting against arbitrary fixed page interval cuts.
| Metric | Utilvo In-Browser Engine | Traditional Cloud Splitters |
|---|---|---|
| Split Boundary Detection | Semantic chapters (/Dest target mapping) | Arbitrary fixed page cuts (mid-sentence) |
| Output File Naming | Sanitized bookmark titles (Chapter_1.pdf) | Generic names (split_part_1.pdf) |
| Packaging & Delivery | In-memory ZIP archive bundle | Tedious manual file-by-file downloads |
| Vector Stream Fidelity | 100% Vector & Font Stream Preservation | Often re-compressed with lost bookmarks |
| Data Privacy | 100% Client-Side (Zero Server Upload) | Sensitive manuals uploaded to remote servers |
Splitting by Top-Level Chapters vs. Sub-Section Outline Levels
Deep technical specifications on destination resolving, interval calculation, and multi-file serialization.
1. /Dest Pointer Resolution
The engine resolves destination targets from named destinations or direct array pointers (`[pageRef /Fit]`) using pdfjs-dist. Each reference translates to a zero-indexed integer within the document page tree for precise boundary computation.
2. Boundary Interval Computation
Sorted page indices define interval spans: section i begins at `startPageIndex[i]` and extends through `startPageIndex[i+1] - 1`. The terminal section automatically spans to `totalPages - 1`, guaranteeing complete, gap-free document coverage.
3. Direct Page Object Transfer
Using PDF-Lib `copyPages()`, target pages are transferred along with their fonts, annotations, and resource dictionaries directly into freshly allocated PDF documents. Zero re-rasterization occurs, preserving identical vector paths.
4. In-Memory ZIP Serialization
Each newly compiled PDF is saved to an ArrayBuffer and added to an in-memory JSZip container. The archive generates as a binary Blob and triggers an automatic browser download, requiring zero temporary server storage.
Automatic File Naming Using Bookmark Titles
Follow this checklist to ensure your document splits cleanly into distinct files.
Verify Outlines Exist
Confirm your PDF contains internal bookmarks. If missing, use our Bookmark Editor tool to create outline chapters first.
Check Section Selection
Review which sections are checked. Use "Top-Level Only" if you want full chapters rather than granular subsections.
Inspect Page Ranges
Verify that starting and ending pages for each bookmark match your expectation for each chapter boundary.
Unpack ZIP Archive
Extract the downloaded ZIP package on your computer to access the individual chapter PDF files immediately.
Bookmark Splitting Specifications & Standards
Standards, boundary models, and packaging options for outline-driven PDF splitting.
| Operation / Format | Standard | Processing Engine | Output Type | Role | Best Use Case |
|---|---|---|---|---|---|
| Top-Level Chapter Split | ISO 32000-1 Outline Tree | PDF-Lib + JSZip | .zip (Chapter PDFs) | Target of this export | Extracting major book parts and primary eBook chapters |
| Granular Sub-Section Split | Recursive Depth Extraction | PDF-Lib + JSZip | .zip (Section PDFs) | Target of this export | Slicing detailed technical documentation into modular units |
| Selective Chapter Extraction | Interactive Checklist | PDF-Lib + JSZip | .zip (Selected PDFs) | Target of this export | Extracting only specific relevant chapters from huge manuals |
| Sanitized Filename Generator | POSIX / Windows Safe | Title Sanitizer Engine | .pdf (Clean titles) | Target of this export | Eliminating illegal characters across Windows and macOS filesystems |
Frequently Asked Questions
Common technical questions regarding PDF outline boundary detection, page range calculations, and ZIP packaging.
1How does the engine calculate page split boundaries from PDF bookmarks?
The engine inspects the PDF document outline (/Outlines), extracts destination dictionaries (/Dest) associated with each bookmark item, and converts them to zero-indexed page numbers. It sorts these pages in ascending sequence to derive exact starting and ending ranges for each section.
2Can I choose between splitting top-level chapters or granular sub-sections?
Yes. The interactive outline tree displays hierarchical nesting levels (depth). You can use filter presets to select only top-level chapters (Depth 0), check or uncheck individual sections, or select all nested subsections for comprehensive granular document extraction.
3What happens if multiple bookmarks point to the same page?
If consecutive outline markers share the same destination page index, the engine groups them logically or flags single-page boundary partitions so that no zero-length or corrupt sub-documents are generated during the splitting process.
4Does splitting a PDF by bookmarks degrade page content or fonts?
No. Pages are extracted directly via pdf-lib by transferring existing page object dictionaries, content streams, and resource dictionaries into new document containers without rasterization or re-compression. Visual fidelity and selectable text remain 100% untouched.
5How are the resulting split PDF documents named and packaged?
Each extracted section is automatically named using a sanitized version of its original bookmark title (e.g., Chapter_1_Introduction.pdf). All generated PDF files are then packaged into an in-memory ZIP archive using JSZip for a single convenient download.
6Is my confidential document uploaded to an external server during splitting?
Never. All PDF parsing, page copying, and ZIP compression execute strictly inside your local browser memory. Your files are never transmitted to external cloud servers or remote databases.
Related Document Layout & Outline Tools
Discover complementary bookmark extractors, document splitters, and outline editors.