Files
bentopdf/src/pages/split-pdf.html

659 lines
23 KiB
HTML
Raw Normal View History

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
2026-01-02 21:33:06 +05:30
<!-- Primary Meta Tags -->
<title>Split PDF Online Free - Split PDF Tool | BentoPDF</title>
<meta
name="title"
content="Split PDF Online Free - Split PDF Tool | BentoPDF"
/>
<meta
name="description"
content="★ Split PDF online free - Split PDFs easily ★ No signup ★ Unlimited files ★ Privacy-first ★ Works in browser ★ Fast & secure"
/>
<meta
name="keywords"
content="split pdf, divide pdf, extract pages, separate pdf"
/>
<meta name="author" content="BentoPDF" />
<meta
name="robots"
content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1"
/>
2026-01-02 21:33:06 +05:30
<!-- Canonical URL -->
<link rel="canonical" href="https://www.bentopdf.com/split-pdf.html" />
2026-01-02 21:33:06 +05:30
<!-- Open Graph / Facebook / LinkedIn -->
<meta property="og:type" content="website" />
<meta property="og:url" content="https://www.bentopdf.com/split-pdf" />
<meta
property="og:title"
content="Split PDF Online Free - Split PDF Tool | BentoPDF"
/>
<meta
property="og:description"
content="★ Split PDF online free - Split PDFs easily ★ No signup ★ Unlimited files ★ Privacy-first ★ Works in browser ★ Fast & secure"
/>
<meta
property="og:image"
content="https://www.bentopdf.com/images/og-split-pdf.png"
/>
<meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="630" />
<meta property="og:site_name" content="BentoPDF" />
2026-01-02 21:33:06 +05:30
<!-- Twitter Card -->
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:url" content="https://www.bentopdf.com/split-pdf" />
<meta name="twitter:title" content="Split PDF Free" />
<meta
name="twitter:description"
content="★ Split PDF online free - Split PDFs easily ★ No signup ★ Unlimited files ★ Privacy-first ★ Works in browser ★ Fast & se"
/>
<meta
name="twitter:image"
content="https://www.bentopdf.com/images/twitter-split-pdf.png"
/>
<meta name="twitter:site" content="@BentoPDF" />
2026-01-02 21:33:06 +05:30
<!-- Mobile Web App -->
<meta name="mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-title" content="Split PDF" />
2025-12-30 12:36:30 +05:30
<title>Split PDF - BentoPDF</title>
<meta
name="description"
content="Extract pages from a PDF using various methods. Free, secure, and runs entirely in your browser."
/>
2026-01-02 21:33:06 +05:30
<link href="/src/css/styles.css" rel="stylesheet" />
2026-01-02 21:33:06 +05:30
<!-- Web App Manifest -->
<link rel="manifest" href="/site.webmanifest" />
<!-- Favicons -->
<link rel="icon" type="image/svg+xml" href="/images/favicon.svg" />
<link
rel="icon"
type="image/png"
sizes="192x192"
href="/images/favicon-192x192.png"
/>
<link
rel="icon"
type="image/png"
sizes="512x512"
href="/images/favicon-512x512.png"
/>
<link
rel="apple-touch-icon"
sizes="180x180"
href="/images/apple-touch-icon.png"
/>
2026-01-02 21:33:06 +05:30
<link rel="icon" href="/favicon.ico" sizes="32x32" />
</head>
<body class="antialiased bg-gray-900">
{{> navbar }}
<div
id="uploader"
class="min-h-screen flex flex-col items-center justify-start py-12 p-4 bg-gray-900"
>
<div
id="tool-uploader"
class="bg-gray-800 rounded-xl shadow-xl px-4 py-8 md:p-8 max-w-2xl w-full text-gray-200 border border-gray-700"
>
<button
id="back-to-tools"
class="flex items-center gap-2 text-indigo-400 hover:text-indigo-300 mb-6 font-semibold"
>
<i data-lucide="arrow-left" class="cursor-pointer"></i>
<span class="cursor-pointer" data-i18n="tools.backToTools">
Back to Tools
</span>
</button>
<h1
class="text-2xl font-bold text-white mb-2"
data-i18n="tools:splitPdf.name"
>
Split PDF Online Free - Extract Pages Easily
</h1>
<p class="text-gray-400 mb-6" data-i18n="tools:splitPdf.subtitle">
Extract pages from a PDF using various methods.
</p>
<!-- Drop Zone for Main PDF Upload -->
<div
id="drop-zone"
class="relative flex flex-col items-center justify-center w-full h-48 md:h-64 border-2 border-dashed border-gray-600 rounded-xl cursor-pointer bg-gray-900 hover:bg-gray-700 transition-colors duration-300"
>
<div class="flex flex-col items-center justify-center pt-5 pb-6">
<i
data-lucide="upload-cloud"
class="w-10 h-10 mb-3 text-gray-400"
></i>
<p class="mb-2 text-sm text-gray-400">
<span class="font-semibold" data-i18n="upload.clickToSelect"
>Click to select a file</span
>
<span data-i18n="upload.orDragAndDrop">or drag and drop</span>
</p>
<p class="text-xs text-gray-500">A single PDF file</p>
<p class="text-xs text-gray-500" data-i18n="upload.filesNeverLeave">
Your files never leave your device.
</p>
</div>
<input
id="file-input"
type="file"
class="absolute top-0 left-0 w-full h-full opacity-0 cursor-pointer"
accept="application/pdf"
/>
</div>
<div id="file-display-area" class="mt-4 space-y-2"></div>
<div id="split-options" class="hidden mt-6">
<label
for="split-mode"
class="block mb-2 text-sm font-medium text-gray-300"
>Split Mode</label
>
<select
id="split-mode"
class="w-full bg-gray-700 border border-gray-600 text-white rounded-lg p-2.5 mb-4"
>
<option value="range">Extract by Page Range (Default)</option>
<option value="even-odd">Split by Even/Odd Pages</option>
<option value="all">Split All Pages into Separate Files</option>
<option value="visual">Select Pages Visually</option>
<option value="bookmarks">Split by Bookmarks</option>
<option value="n-times">Split N Times</option>
</select>
<div id="range-panel">
<div class="p-3 bg-gray-900 rounded-lg border border-gray-700 mb-3">
<p class="text-sm text-gray-300">
<strong class="text-white">How it works:</strong>
</p>
<ul
class="list-disc list-inside text-xs text-gray-400 mt-1 space-y-1"
>
<li>
Enter page numbers separated by commas (e.g., 2, 8, 14).
</li>
<li>Enter page ranges using a hyphen (e.g., 5-10).</li>
<li>
Combine them for complex selections (e.g., 1-3, 7, 12-15).
</li>
</ul>
</div>
<label
for="page-range"
class="block mb-2 text-sm font-medium text-gray-300"
>Page Range</label
>
<input
type="text"
id="page-range"
class="bg-gray-700 border border-gray-600 text-white text-sm rounded-lg focus:ring-indigo-500 focus:border-indigo-500 block w-full p-2.5"
placeholder="e.g. 1-5, 8, 11-13"
/>
</div>
<div id="even-odd-panel" class="hidden">
<div class="p-3 bg-gray-900 rounded-lg border border-gray-700 mb-3">
<p class="text-sm text-gray-300">
<strong class="text-white">How it works:</strong>
</p>
<ul
class="list-disc list-inside text-xs text-gray-400 mt-1 space-y-1"
>
<li>
Extract all even pages (2, 4, 6...) or all odd pages (1, 3,
5...) into a new PDF.
</li>
</ul>
</div>
<div class="flex items-center mb-4">
<input
id="split-even"
type="radio"
value="even"
name="even-odd-choice"
class="w-4 h-4 text-indigo-600 bg-gray-700 border-gray-600 focus:ring-indigo-600 ring-offset-gray-800 focus:ring-2"
/>
<label
for="split-even"
class="ml-2 text-sm font-medium text-gray-300"
>Even Pages</label
>
</div>
<div class="flex items-center">
<input
id="split-odd"
type="radio"
value="odd"
name="even-odd-choice"
class="w-4 h-4 text-indigo-600 bg-gray-700 border-gray-600 focus:ring-indigo-600 ring-offset-gray-800 focus:ring-2"
/>
<label
for="split-odd"
class="ml-2 text-sm font-medium text-gray-300"
>Odd Pages</label
>
</div>
</div>
<div id="all-pages-panel" class="hidden">
<div class="p-3 bg-gray-900 rounded-lg border border-gray-700 mb-3">
<p class="text-sm text-gray-300">
<strong class="text-white">How it works:</strong>
</p>
<ul
class="list-disc list-inside text-xs text-gray-400 mt-1 space-y-1"
>
<li>
Every single page of the PDF will be saved as a separate PDF
file.
</li>
<li>
The result will be downloaded as a ZIP file containing all the
pages.
</li>
</ul>
</div>
</div>
<div id="visual-select-panel" class="hidden">
<div class="p-3 bg-gray-900 rounded-lg border border-gray-700 mb-3">
<p class="text-sm text-gray-300">
<strong class="text-white">How it works:</strong>
</p>
<ul
class="list-disc list-inside text-xs text-gray-400 mt-1 space-y-1"
>
<li>
Click on the page thumbnails below to select the pages you
want to extract.
</li>
<li>Selected pages will be highlighted.</li>
</ul>
</div>
<div
id="page-selector-grid"
class="grid grid-cols-3 sm:grid-cols-4 md:grid-cols-6 gap-4 max-h-96 overflow-y-auto p-2 border border-gray-700 rounded-lg"
>
<!-- Thumbnails will be rendered here -->
</div>
</div>
<div id="bookmarks-panel" class="hidden">
<div class="p-3 bg-gray-900 rounded-lg border border-gray-700 mb-3">
<p class="text-sm text-gray-300">
<strong class="text-white">How it works:</strong>
</p>
<ul
class="list-disc list-inside text-xs text-gray-400 mt-1 space-y-1"
>
<li>Split the PDF based on its bookmarks (outline).</li>
<li>Select the bookmark level to split at.</li>
</ul>
</div>
<label
for="bookmark-level"
class="block mb-2 text-sm font-medium text-gray-300"
>Bookmark Level</label
>
<select
id="bookmark-level"
class="w-full bg-gray-700 border border-gray-600 text-white rounded-lg p-2.5 mb-4"
>
<option value="all" selected>All Levels</option>
<option value="0">Level 0 (Top Level Only)</option>
<option value="1">Level 1</option>
<option value="2">Level 2</option>
<option value="3">Level 3</option>
</select>
</div>
<div id="n-times-panel" class="hidden">
<div class="p-3 bg-gray-900 rounded-lg border border-gray-700 mb-3">
<p class="text-sm text-gray-300">
<strong class="text-white">How it works:</strong>
</p>
<ul
class="list-disc list-inside text-xs text-gray-400 mt-1 space-y-1"
>
<li>
Split the PDF into multiple files, each containing N pages.
</li>
</ul>
</div>
<label
for="split-n-value"
class="block mb-2 text-sm font-medium text-gray-300"
>Pages per file (N)</label
>
<input
type="number"
id="split-n-value"
min="1"
value="5"
class="bg-gray-700 border border-gray-600 text-white text-sm rounded-lg focus:ring-indigo-500 focus:border-indigo-500 block w-full p-2.5"
/>
<p id="n-times-warning" class="mt-2 text-sm text-yellow-400 hidden">
<i
data-lucide="alert-triangle"
class="inline-block w-4 h-4 mr-1"
></i>
<span id="n-times-warning-text"></span>
</p>
</div>
<div id="zip-option-wrapper" class="mt-4 flex items-center">
<input
id="download-as-zip"
type="checkbox"
class="w-4 h-4 text-indigo-600 bg-gray-700 border-gray-600 rounded focus:ring-indigo-600 ring-offset-gray-800 focus:ring-2"
/>
<label
for="download-as-zip"
class="ml-2 text-sm font-medium text-gray-300"
>Download as ZIP (for multiple files)</label
>
</div>
<button id="process-btn" class="btn-gradient w-full mt-6">
Split PDF
</button>
</div>
</div>
</div>
<!-- Loader Modal -->
<div
id="loader-modal"
class="hidden fixed inset-0 bg-black bg-opacity-75 flex items-center justify-center z-50"
>
<div
class="bg-gray-800 p-8 rounded-lg flex flex-col items-center gap-4 border border-gray-700 shadow-xl"
>
<div class="solid-spinner"></div>
<p id="loader-text" class="text-white text-lg font-medium">
Processing...
</p>
</div>
</div>
<!-- Alert Modal -->
<div
id="alert-modal"
class="fixed inset-0 bg-gray-900 bg-opacity-90 flex items-center justify-center z-50 hidden"
>
<div
class="bg-gray-800 rounded-lg shadow-xl p-6 max-w-sm w-full border border-gray-700"
>
<h3
id="alert-title"
class="text-xl font-bold text-white mb-2"
data-i18n="alert.title"
data-i18n="alert.title"
>
Alert
</h3>
<p id="alert-message" class="text-gray-300 mb-6"></p>
<button
id="alert-ok"
class="w-full bg-indigo-600 hover:bg-indigo-700 text-white font-semibold py-2 px-4 rounded-lg transition-colors duration-200"
>
OK
</button>
</div>
</div>
2026-01-02 21:33:06 +05:30
<!-- How It Works Section -->
<section class="max-w-4xl mx-auto px-4 py-12">
<h2 class="text-2xl md:text-3xl font-bold text-white mb-8 text-center">
How It Works
</h2>
<div class="space-y-6">
<div class="flex items-start gap-4">
<div
class="flex-shrink-0 w-10 h-10 bg-indigo-600 rounded-full flex items-center justify-center text-white font-bold"
>
1
</div>
<div class="flex-1">
<h3 class="text-lg font-semibold text-white mb-1">Upload PDF</h3>
<p class="text-gray-400">
Select the PDF file you want to split or extract pages from
</p>
</div>
</div>
<div class="flex items-start gap-4">
<div
class="flex-shrink-0 w-10 h-10 bg-indigo-600 rounded-full flex items-center justify-center text-white font-bold"
>
2
</div>
<div class="flex-1">
<h3 class="text-lg font-semibold text-white mb-1">
Choose Split Method
</h3>
<p class="text-gray-400">
Select specific pages, page ranges, or split into individual pages
</p>
</div>
</div>
<div class="flex items-start gap-4">
<div
class="flex-shrink-0 w-10 h-10 bg-indigo-600 rounded-full flex items-center justify-center text-white font-bold"
>
3
</div>
<div class="flex-1">
<h3 class="text-lg font-semibold text-white mb-1">
Preview & Select
</h3>
<p class="text-gray-400">
View page thumbnails and select exactly which pages you want
</p>
</div>
</div>
<div class="flex items-start gap-4">
<div
class="flex-shrink-0 w-10 h-10 bg-indigo-600 rounded-full flex items-center justify-center text-white font-bold"
>
4
</div>
<div class="flex-1">
<h3 class="text-lg font-semibold text-white mb-1">
Split & Download
</h3>
<p class="text-gray-400">
Download extracted pages as separate PDFs or as a ZIP file
</p>
</div>
2025-12-30 12:36:30 +05:30
</div>
</div>
2026-01-02 21:33:06 +05:30
</section>
<!-- Related Tools Section -->
<section class="max-w-6xl mx-auto px-4 py-12">
<h2 class="text-2xl md:text-3xl font-bold text-white mb-6 text-center">
Related PDF Tools
</h2>
<div class="grid grid-cols-2 md:grid-cols-3 lg:grid-cols-6 gap-4">
<a
href="merge-pdf.html"
class="block bg-gray-800 p-4 rounded-lg hover:bg-gray-700 transition-colors border border-gray-700"
>
<h3 class="text-white font-semibold mb-1">Merge Pdf</h3>
<p class="text-gray-400 text-sm">Free online merge pdf tool</p>
</a>
<a
href="extract-pages.html"
class="block bg-gray-800 p-4 rounded-lg hover:bg-gray-700 transition-colors border border-gray-700"
>
<h3 class="text-white font-semibold mb-1">Extract Pages</h3>
<p class="text-gray-400 text-sm">Free online extract pages tool</p>
</a>
<a
href="organize-pdf.html"
class="block bg-gray-800 p-4 rounded-lg hover:bg-gray-700 transition-colors border border-gray-700"
>
<h3 class="text-white font-semibold mb-1">Organize Pdf</h3>
<p class="text-gray-400 text-sm">Free online organize pdf tool</p>
</a>
<a
href="compress-pdf.html"
class="block bg-gray-800 p-4 rounded-lg hover:bg-gray-700 transition-colors border border-gray-700"
>
<h3 class="text-white font-semibold mb-1">Compress Pdf</h3>
<p class="text-gray-400 text-sm">Free online compress pdf tool</p>
</a>
<a
href="delete-pages.html"
class="block bg-gray-800 p-4 rounded-lg hover:bg-gray-700 transition-colors border border-gray-700"
>
<h3 class="text-white font-semibold mb-1">Delete Pages</h3>
<p class="text-gray-400 text-sm">Free online delete pages tool</p>
</a>
</div>
2026-01-02 21:33:06 +05:30
</section>
<!-- FAQ Section -->
<section class="max-w-4xl mx-auto px-4 py-12">
<h2 class="text-2xl md:text-3xl font-bold text-white mb-6 text-center">
Frequently Asked Questions
</h2>
<div class="space-y-4">
<details class="bg-gray-800 p-5 rounded-lg border border-gray-700">
<summary
class="cursor-pointer font-semibold text-white flex items-center justify-between"
>
Can I extract specific page ranges?
<i data-lucide="chevron-down" class="w-5 h-5"></i>
</summary>
<p class="mt-3 text-gray-400">
Yes! You can extract any specific pages or page ranges from your
PDF. Select exactly which pages you need or split into individual
files.
</p>
</details>
<details class="bg-gray-800 p-5 rounded-lg border border-gray-700">
<summary
class="cursor-pointer font-semibold text-white flex items-center justify-between"
>
Will split PDFs lose quality?
<i data-lucide="chevron-down" class="w-5 h-5"></i>
</summary>
<p class="mt-3 text-gray-400">
No! Split PDFs maintain the exact same quality as the original
document. No compression or quality loss occurs.
</p>
</details>
<details class="bg-gray-800 p-5 rounded-lg border border-gray-700">
<summary
class="cursor-pointer font-semibold text-white flex items-center justify-between"
>
Can I split multiple PDFs at once?
<i data-lucide="chevron-down" class="w-5 h-5"></i>
</summary>
<p class="mt-3 text-gray-400">
Yes, process multiple PDFs in batches for efficient document
management.
</p>
</details>
</div>
2026-01-02 21:33:06 +05:30
</section>
{{> footer }}
<script type="module" src="/src/js/utils/lucide-init.ts"></script>
<script type="module" src="/src/js/utils/full-width.ts"></script>
<script type="module" src="/src/js/utils/simple-mode-footer.ts"></script>
<script type="module" src="/src/version.ts"></script>
<script type="module" src="/src/js/logic/split-pdf-page.ts"></script>
<script type="module" src="/src/js/mobileMenu.ts"></script>
<script type="module" src="/src/js/main.ts"></script>
2025-12-30 12:36:30 +05:30
2026-01-02 21:33:06 +05:30
<!-- JSON-LD Structured Data -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "SoftwareApplication",
"name": "Split PDF - BentoPDF",
"applicationCategory": "PDF Tool",
"operatingSystem": "Any - Web Browser",
"offers": {
"@type": "Offer",
"price": "0",
"priceCurrency": "USD"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.8",
"ratingCount": "3584"
}
}
</script>
2026-01-02 21:33:06 +05:30
<script type="application/ld+json">
2025-12-30 12:36:30 +05:30
{
"@context": "https://schema.org",
"@type": "HowTo",
"name": "How to split online",
"description": "Learn how to split using BentoPDF",
"step": [
{
"@type": "HowToStep",
"position": 1,
"name": "Upload File",
"text": "Click or drag and drop your file"
},
{
"@type": "HowToStep",
"position": 2,
"name": "Process",
"text": "Click the process button"
},
{
"@type": "HowToStep",
"position": 3,
"name": "Download",
"text": "Download your processed file"
}
]
2025-12-30 12:36:30 +05:30
}
</script>
2026-01-02 21:33:06 +05:30
<script type="application/ld+json">
2025-12-30 12:36:30 +05:30
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Home",
"item": "https://www.bentopdf.com"
},
{
"@type": "ListItem",
"position": 2,
"name": "Split PDF",
"item": "https://www.bentopdf.com/split-pdf"
}
]
2025-12-30 12:36:30 +05:30
}
</script>
</body>
</html>