Processed in your browser — never uploaded

Split a PDF into separate files

Extract every page as its own PDF, or pull specific page ranges — all locally in your browser.

Drop one PDF to split

or click to browse

Security: split without server upload

PDF splitting in VeloTools runs entirely inside the browser tab. The file is read via the File API into renderer process memory; pdf-lib parses the xref table and copies selected page objects into a new PDF catalog. No fragment of the source stream is packaged into an HTTP request.

To audit: open DevTools, Network tab, run split — you will see only static assets (HTML/JS), no POST with multipart/form-data body. That distinguishes a client-side utility from cloud tools where the file must pass through remote infrastructure.

How to split a PDF in 3 steps

  1. Upload one PDF — page count is detected locally.
  2. Choose per-page output or a custom range (e.g. 1-3, 5).
  3. Click Split PDF and download a single PDF or ZIP — no account or queue.

Technical specifications

Input files1 PDF per operation
Max sizeDevice RAM (guide: ~200 MB on desktop)
PDF versions1.4 – 2.0; linearized and non-linearized
Per-page modeN output files for N pages
Range modeSyntax 1-3, 5, 8-10 (1-based)
Extraction methodLossless copyPages — no rasterization
Multiple outputsZIP (JSZip, built locally)
Network0 bytes of PDF content transmitted

PDF object trees and bookmarks when splitting

A PDF is not a linear stack of pages — it is a directed object graph. The trailer points to /Root to /Pages to a /Kids array of /Page nodes. Each page references /Resources: fonts, XObject images, ExtGState. Split does not crop JPEGs; it clones the subgraph for each selected page into a minimal new document.

Bookmarks (/Outlines). The PDF outline is a separate tree whose nodes point to /Dest or /A with a page index. When extracting a single page, the source /Outlines tree is not copied: the output is one page without bookmark hierarchy. That is expected lossless-extract behavior, not content quality loss. Rebuild outlines in an editor or use Merge PDF on prepared parts if needed.

Shared resources across pages. If one image is used on page 1 and page 5, extracting only page 1 pulls the minimal object subset required — shared XObject references resolve at copyPages time. Extracting page 5 separately may duplicate that stream; normal cost of page isolation.

Split vs compress. Split does not reduce size: a 30 MB three-page scan yields three ~10 MB files. Shrinking is Compress PDF (rasterization). On low-memory devices: split, compress chunks, then merge.

Encrypted PDFs. Password-protected files fail split until decrypted. Use Unlock PDF with the known password first.

Frequently asked questions

Are bookmarks preserved when splitting?
No. /Outlines belong to the full document. An extracted page gets a new catalog without the source bookmark tree.
Is quality lost during split?
No. Lossless copyPages is used — image streams and vector text are not re-encoded.
Is the file sent to a server?
No. The full pipeline runs in browser RAM. Offline mode in DevTools does not block split after JS loads.
How do I specify non-contiguous pages?
In range mode: 1-3, 7, 10-12. Spaces are ignored. Numbers start at 1, same as Adobe Reader.