How to split a legal brief pdf into individual sections
- Step 1Map each section to absolute page numbers — Open the filing and record the first and last page of each section by physical position in the file (page 1 = first page of the PDF). Don't rely on printed folio numbers if the document restarts numbering between sections.
- Step 2Load the brief into the splitter — Drop the full filing into the PDF Split by Range tool. Parsing is local; the page count appears above the options so you can confirm the correct document.
- Step 3Enter section ranges as numbers — Type the ranges separated by commas or semicolons:
1-12, 13-45, 46-80. Use a hyphen for start-end. Do not include section captions — only digits, hyphens, commas and semicolons are parsed. - Step 4Split the filing — One output PDF is produced per token, with pages in original ascending order. The result panel reports the output file count and total size.
- Step 5Download each section — Files download in the order entered, named
<brief>.split-range.1.pdf,.2.pdf, etc. Approve the browser's multiple-download prompt if it appears. - Step 6Renumber or re-Bates if required — If a section needs its own internal pagination, run Page Numbers; to apply a fresh Bates range to a produced section, use Bates Numbering.
Section-range syntax
The single range box is split on commas and semicolons. Each token is one section file. Captions and labels are not parsed.
| You type | Output files | Result |
|---|---|---|
1-12, 13-45, 46-80 | 3 files | Facts (1–12), Argument (13–45), Appendix (46–80) |
1-12; 13-45 | 2 files | Semicolon separates the same as a comma |
Argument: 13-45 | 1 file | Argument: is dropped; pages 13–45 are extracted |
46-200 (80-page filing) | 1 file | End clamped to 80 → pages 46–80 |
1-12, 1-12, 13-45 | 3 files | Duplicate ranges allowed — facts appears twice plus argument |
What is and isn't preserved
Behaviour of pdf-lib copyPages on a filing's content.
| Element | Carried into section files? |
|---|---|
| Page text (selectable) | Yes — copied as-is |
| Bates / exhibit stamps printed on pages | Yes — part of the page content |
| Images, signatures, seals | Yes — at original resolution |
| Form fields | Copied with the page, but cross-document references may not survive — flatten first if critical |
| Bookmark / outline tree | No — split files have no outline |
| Document metadata (author, title) | Not carried into the new section files |
Tier ceilings for the source filing
Checked on the input PDF before splitting. Trial bundles often exceed Free limits.
| Tier | Max file size | Max pages |
|---|---|---|
| Free | 2 MB | 50 pages |
| Pro | 50 MB | 500 pages |
| Pro + Media | 500 MB | 2,000 pages |
| Developer | 2 GB | 10,000 pages |
Cookbook
Section-splitting recipes for common filings. Page numbers are absolute file positions, not printed folios.
Brief into three sections
Statement of facts on 1–12, argument on 13–45, appendix on 46–80.
Range box: 1-12, 13-45, 46-80 Outputs: brief.split-range.1.pdf (Statement of Facts) brief.split-range.2.pdf (Argument) brief.split-range.3.pdf (Appendix)
Pull each exhibit out separately
Exhibits A–C occupy pages 50–58, 59–61, 62–70. One token per exhibit gives one file each.
Range box: 50-58, 59-61, 62-70 Outputs: filing.split-range.1.pdf (Exhibit A) filing.split-range.2.pdf (Exhibit B) filing.split-range.3.pdf (Exhibit C)
Shared statement of facts in two sections
Both argument sections should carry the facts (pages 1–8) at the front. Include the facts range in each token using overlapping ranges — but note split-range can't concatenate within one token, so build each combined section with Extract Pages instead.
split-range can only make whole-span tokens, so: • facts alone: 1-8 • arg I alone: 20-35 • arg II alone: 36-52 To PREPEND facts to each argument in ONE file, use /pdf-tools/pdf-extract-pages with '1-8, 20-35' (one combined PDF)
Split off a sealed portion
Pages 30–34 are under seal and must be circulated to court only. Carve them out as a standalone file, all locally.
Range box: 30-34 Output: filing.split-range.pdf (5 sealed pages, never uploaded)
Re-Bates a produced section
After splitting out the argument, apply a fresh Bates range to the produced file for discovery.
1. split-range '13-45' -> brief.split-range.pdf (Argument) 2. /pdf-tools/pdf-bates-numbering on that file prefix ARG- start 1 -> ARG-000001 ... ARG-000033
Edge cases and what actually happens
Section captions typed into the box
Labels ignoredText like Argument: or Statement of Facts is not a number and is dropped; only the numeric range survives. Outputs are never named after captions. Type ranges only and rename files afterward.
Existing Bates numbers in the section files
PreservedBates stamps are part of the page content, so they're copied verbatim into each section file. If you need a section renumbered independently for production, apply Bates Numbering to the produced file.
Bookmark outline missing from sections
Not preservedpdf-lib copies pages but not the document outline, so split sections have no bookmark tree. The visible TOC or index pages survive if they fall inside a range; the clickable navigation does not.
Filing exceeds the tier page limit
Blocked (free 50 / pro 500)The whole-document page count is checked before splitting. A 600-page trial bundle is blocked on Pro's 500-page ceiling. Upgrade to Pro+Media (2,000) or Developer (10,000), or pre-split with Split by Fixed Size into smaller volumes first.
Sealed document processed for confidentiality
Local onlyAll work happens in the browser with pdf-lib; the file is never transmitted. This satisfies the common requirement that sealed or privileged material not be sent to third-party servers. Only an anonymous usage counter is recorded when signed in.
Reversed or empty ranges
Dropped45-13 matches nothing and produces no file. Blank tokens are skipped. If nothing valid remains, the run fails with 'No valid page ranges parsed.' — verify start precedes end.
Form fields in a court form section
Flatten firstInteractive form fields copy with the page, but field references that span the document can break when isolated. If a section contains a fillable court form whose values matter, run Flatten before splitting so the values are baked into the page.
Encrypted or restricted filing
May fail to loadOwner-restricted files usually load (encryption ignored on read). A filing requiring an open password won't parse for page counting — strip it with Remove Password first, then split.
Frequently asked questions
Will page numbering in the extracted section match the original brief?
The extracted file contains the same pages with their original printed content, including any folio or Bates numbers stamped on the page. The PDF's own page indexing restarts at 1 in each section file. If you need fresh internal numbering, run Page Numbers on each section.
Can I split a sealed court document safely?
Yes. All processing is local in your browser using pdf-lib — the document is never sent to a server. This is appropriate for sealed, privileged, or protective-order material. Only an anonymous count is recorded if you're signed in.
Is there a page count limit?
Yes, on the source filing: Free handles PDFs up to 2 MB / 50 pages, Pro up to 50 MB / 500 pages, Pro+Media up to 500 MB / 2,000 pages, Developer up to 2 GB / 10,000 pages. The check is on the whole document before splitting.
How do I label each section file?
You can't from the tool. Output files are named <brief>.split-range.1.pdf, .2.pdf, etc., in the order you typed the ranges. Rename them to section names in your file manager — and do not type captions into the range box, as they're ignored.
Do Bates numbers and exhibit stamps survive the split?
Yes. They're printed on the page, and pages are copied byte-for-byte, so stamps appear exactly as filed. To give a produced section a new Bates range, run Bates Numbering on it afterward.
Can two sections share the same pages?
Yes — overlapping ranges are allowed and a page can appear in multiple files. For example 1-8, 1-8, 20-35 produces the facts twice plus an argument file. Each token is evaluated independently against the source.
What if I need the statement of facts AND the argument in one file?
split-range makes one file per token, so it can't concatenate two spans into a single PDF. Use Extract Pages with 1-12, 13-45 to get one combined section, or split first and then Merge the section files.
Will the clickable table of contents work in each section?
No. The document's bookmark/outline tree is not copied into the split files. Any TOC pages that fall inside a range are present as pages, but the clickable navigation must be rebuilt if you need it.
Is the original filing altered?
Never. Output files are always new; your uploaded brief is untouched and is never even sent off your device. Download as many section files as your ranges produce without affecting the source.
Can I split a brief that's password-protected?
Owner-restricted briefs usually load because encryption is ignored when reading. A brief needing an open password to be parsed will fail — use Remove Password first, then split the unlocked copy.
What if a fillable court form is inside a section?
Form fields copy with the page, but cross-document field references can break once isolated. If the filled values matter, run Flatten on the filing before splitting so the entered data is rendered into the page content.
How are out-of-range page numbers handled?
They're clamped to the document. On an 80-page filing, 46-200 returns pages 46–80 with no error; a start below 1 is raised to 1. A reversed range like 45-13 matches nothing and yields no file.
Privacy first
All PDF processing runs locally in your browser using PDF-lib and pdf.js. No file is ever uploaded — only metadata counters are saved for signed-in dashboard stats.