Most 'free online PDF tools' make you upload your files to some server. You drag in a contract, a tax form, or a client document — and it gets sent to who-knows-where.
I built a different approach: 7 PDF tools that run entirely in your browser.
How It Works
Every tool is a single HTML file with vanilla JavaScript. When you open the page:
- Your browser downloads the HTML + JS (static files from GitHub Pages CDN)
- PDF processing libraries (pdf-lib, jsPDF, pdf.js) load from CDN
- You select a file — it stays in browser memory
- Processing happens using your browser's JavaScript engine and Canvas API
- The result is downloaded directly to your computer
No upload. No server. No tracking. You can disconnect from the internet after the page loads and everything still works.
The 7 Tools
1. Merge PDFs
Combine multiple PDFs into one. Drag to reorder pages before merging.
Use case: Combine scanned pages into a single document, merge contracts with appendices.
2. Split PDF
Extract specific pages or split every page into separate files. Supports page ranges (e.g. 1-5, 8, 10-12).
Use case: Pull out just the signature page from a contract, split a batch scan into individual documents.
3. Images to PDF
Convert JPG, PNG, or WebP images into a PDF. Options for page size (A4, Letter, original), orientation, and margins.
Use case: Convert photos of receipts into a single PDF expense report.
4. PDF to Images
Extract pages from a PDF as PNG or JPG images. Scale options (1x-4x). Batch download as ZIP.
Use case: Extract charts from a PDF report for a presentation.
5. Extract Images
Pull all embedded images from a PDF file. Handy for extracting photos, logos, or diagrams.
6. Base64 to PDF (and back)
Convert PDF to base64 text (for embedding in JSON, HTML, or APIs) and vice versa.
7. Text to Image
Convert any text into an image — useful for creating text-based graphics or watermarks.
The Tech Stack
- pdf-lib (1.17.1) — Merge, split, PDF manipulation
- jsPDF (2.5.1) — Images to PDF
- pdf.js (3.11.174) — PDF to images, extract images
- JSZip (3.10.1) — Batch download as ZIP
- FileSaver.js — Trigger downloads
All loaded from CDN with defer so nothing blocks rendering. No frameworks, no build step, no npm.
Free Limits
| Feature | Free | PRO |
|---|---|---|
| Merge pages | 10 | Unlimited |
| Split pages | 10 | Unlimited |
| Images to PDF | 5 images | Unlimited |
| PDF to images | 10 pages | Unlimited |
| File size | 10 MB | Unlimited |
Free limits are generous — most casual users never hit them.
Why Client-Side Matters
- Privacy: Your documents never leave your device
- Speed: No upload wait time. Processing happens immediately
- Offline: Works after the first page load
- Security: No server to hack, no database to leak
Try It
Source on GitHub (MIT license).
Part of a collection of 24 free browser tools — all client-side, no signup, no tracking.
Top comments (0)