PDF file
0 pages
Extract page ranges or split a PDF into parts, directly in your browser. No upload required.
0 pages
Enter a range like 2-5, single pages, or a mix separated by commas.
This free PDF splitter uses the self-hosted pdf-lib library to read and rebuild PDF documents entirely on your device. When you pick a file, the tool loads it, counts its pages, and lets you extract a page range, split the document into fixed-size parts, or hand-pick specific pages. Each output PDF is generated in your browser and offered as a separate download button.
Your files are never sent to a server. Loading, page copying, and export all happen locally in the browser tab, which keeps the tool fast and private. It works on any modern browser, on both mobile and desktop.
Want proof? Open your browser's developer tools and watch the network tab while you work: your PDFs never upload.
Use a hyphen for a span and commas to combine spans and single pages, for example 2-5, 8, 10-12. Pages are added in the order you list them and duplicates are ignored. If you enter a page beyond the document length or a backwards range like 5-2, the tool shows a clear error instead of producing a broken file.
When you split every N pages, each part is its own PDF, so the tool gives you one download button per part rather than bundling them into a zip. This keeps everything client-side, since no archive library or server is involved. The page-range and selected-pages modes produce a single combined PDF.
No. The file is read with the browser File API and processed in memory. Nothing is uploaded, stored, or tracked, and closing the tab discards everything.
No. Encrypted PDFs cannot be split until the password is removed, and the tool will tell you if a file is protected. Text, images, and vector content in normal PDFs are copied across without re-rendering, so quality is preserved.
Clean.tools also runs an MCP server — read-only utility tools your AI agent can call directly. No key, no signup: requests are processed in memory and request contents are never stored.
claude mcp add --scope user --transport http clean-tools https://mcp.clean.tools/mcpclaude mcp add --scope user --transport http clean-tools https://mcp.clean.tools/mcphttps://mcp.clean.tools/mcphttps://mcp.clean.tools/mcpEvery tool, the REST API, and setup for Cursor, Claude Desktop, VS Code & more →