PDF Tools: Complete Guide to Merge, Split and Edit PDFs
Complete PDF suite: merge, split, edit, convert and compress. 100% offline, no uploads. Free privacy-first tool for professionals.
What is PDF Tools and Why Use It
PDF Tools is a complete suite of tools for manipulating PDF files directly in your browser. No installation required, works offline, and your files never leave your device. With 5 main features - Merge, Split, Edit, Convert, and Compress - it covers all daily PDF management needs for professionals, students, and anyone working with documents.
Our PDF Tools uses modern technologies like pdf-lib and pdfjs to process files locally. No uploads to external servers means maximum privacy and instant speed even with large files.
The 5 Main Features
1. Merge PDF
Combine multiple PDF files into a single document. Perfect for:
- Joining ebook chapters
- Combining invoices or tax documents
- Creating portfolios from separate files
- Assembling reports from multiple sources
Special features:
- Drag-and-drop to reorder files
- Page count preview per file
- Multiple simultaneous uploads
2. Split PDF
Extract specific pages or split a PDF into separate files:
- Extract single pages from a long document
- Separate report sections
- Create excerpts from contracts
- Isolate chapters from ebooks
Special features:
- Thumbnail preview of every page
- Custom range selection (e.g.: 1-3, 5, 7-9)
- Download as ZIP or separate files
- Delete pages before extraction
3. Edit PDF
Reorganize and modify PDF structure:
- Reorder pages with drag-and-drop
- Rotate pages by 90°, 180°, 270°
- Delete unwanted pages
- Advanced editor for annotations and text
Advanced editor includes:
- Add text and annotations
- Freehand drawing
- Insert geometric shapes
- Text highlighting
4. PDF Conversion
Convert between PDF and images in both directions:
Images → PDF
- Supports PNG, JPG, WebP
- Page formats: A4, Letter, fit to image
- Multiple upload and reordering
PDF → Images
- Export to PNG or JPG
- Adjustable quality (10-100%)
- Download as ZIP archive
5. PDF Compression
Reduce PDF file size while maintaining quality. Powered by Ghostscript WASM, our compression preserves text and vector graphics while intelligently compressing images:
| Quality | Resolution | Ideal Use |
|---|---|---|
| Screen | 72 dpi | Screen viewing, smallest files |
| eBook | 150 dpi | Web sharing, email attachments |
| Printer | 300 dpi | Standard printing quality |
| Prepress | 300+ dpi | Professional printing, maximum quality |
Key advantage: Unlike other browser-based tools that convert PDFs to images, our Ghostscript-powered compression preserves selectable text, hyperlinks, and vector graphics automatically.
7+ Real-World Use Cases
1. Work Document Preparation
Scenario: Quarterly report of 50+ pages
1. Merge reports from different departments (Merge)
2. Reorder sections in correct order (Edit)
3. Remove draft pages or duplicates (Edit)
4. Compress for email sending < 10MB (Compress)
5. Result: professional document ready for management
2. Tax Document Management
Scenario: Tax return preparation
1. Scan receipts as images
2. Convert images to single PDF (Convert)
3. Merge with other tax documents (Merge)
4. Result: organized tax archive
3. Photography Portfolio Creation
Scenario: Portfolio for creative job interview
1. Select best photos in JPG/PNG
2. Convert to A4 format PDF (Convert)
3. Add cover and descriptions
4. Compress for easy sharing
5. Result: professional PDF portfolio
4. Ebook Chapter Extraction
Scenario: Study only certain chapters
1. Upload complete ebook (Split)
2. Select pages of interesting chapters
3. Download as separate files
4. Result: lightweight excerpts for mobile study
5. Contract Signing and Sending
Scenario: Contract to sign and return
1. Open PDF in Edit tab
2. Use advanced editor to add signature
3. Add date and initials where required
4. Save signed document
5. Result: contract ready for sending
6. Web Optimization
Scenario: PDF to upload to website
1. Upload PDF in Compress tab
2. Select "eBook" quality (150 dpi) for best balance
3. Text and hyperlinks are automatically preserved
4. Result: lightweight PDF with selectable text
7. Visual PDF Backup
Scenario: Archive PDF as images
1. Upload PDF in Convert tab
2. Select PDF → Images
3. Choose PNG format for maximum quality
4. Download ZIP with all pages
5. Result: visual backup of every page
Code Examples: Programmatic Integration
JavaScript: Merge PDF with pdf-lib
import { PDFDocument } from 'pdf-lib';
async function mergePDFs(pdfBuffers) {
const mergedPdf = await PDFDocument.create();
for (const buffer of pdfBuffers) {
const pdf = await PDFDocument.load(buffer);
const pages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());
pages.forEach(page => mergedPdf.addPage(page));
}
return await mergedPdf.save();
}
// Usage
const files = await Promise.all([
fetch('/doc1.pdf').then(r => r.arrayBuffer()),
fetch('/doc2.pdf').then(r => r.arrayBuffer())
]);
const merged = await mergePDFs(files);
// merged is a Uint8Array of the combined PDF
JavaScript: Rotate PDF Pages
import { PDFDocument, degrees } from 'pdf-lib';
async function rotatePages(pdfBuffer, pageRotations) {
const pdfDoc = await PDFDocument.load(pdfBuffer);
const pages = pdfDoc.getPages();
pageRotations.forEach(({ pageIndex, rotation }) => {
if (pages[pageIndex]) {
pages[pageIndex].setRotation(degrees(rotation));
}
});
return await pdfDoc.save();
}
// Rotate page 1 by 90° and page 3 by 180°
const rotations = [
{ pageIndex: 0, rotation: 90 },
{ pageIndex: 2, rotation: 180 }
];
const rotated = await rotatePages(pdfBuffer, rotations);
JavaScript: Extract Specific Pages
import { PDFDocument } from 'pdf-lib';
async function extractPages(pdfBuffer, pageNumbers) {
const sourcePdf = await PDFDocument.load(pdfBuffer);
const newPdf = await PDFDocument.create();
// pageNumbers is 1-indexed, copyPages wants 0-indexed
const indices = pageNumbers.map(n => n - 1);
const pages = await newPdf.copyPages(sourcePdf, indices);
pages.forEach(page => newPdf.addPage(page));
return await newPdf.save();
}
// Extract pages 1, 3, 5-7
const extracted = await extractPages(pdfBuffer, [1, 3, 5, 6, 7]);
Python: Merge PDF with PyPDF2
from PyPDF2 import PdfMerger
def merge_pdfs(pdf_paths, output_path):
merger = PdfMerger()
for pdf_path in pdf_paths:
merger.append(pdf_path)
merger.write(output_path)
merger.close()
# Usage
merge_pdfs(['doc1.pdf', 'doc2.pdf', 'doc3.pdf'], 'merged.pdf')
Python: Compress PDF with Ghostscript
import subprocess
def compress_pdf(input_path, output_path, quality='ebook'):
"""
quality options:
- 'screen': 72 dpi, smallest size
- 'ebook': 150 dpi, good for web
- 'prepress': 300 dpi, high quality
- 'printer': 300 dpi, print quality
"""
subprocess.run([
'gs', '-sDEVICE=pdfwrite',
f'-dPDFSETTINGS=/{quality}',
'-dNOPAUSE', '-dQUIET', '-dBATCH',
f'-sOutputFile={output_path}',
input_path
])
compress_pdf('large.pdf', 'compressed.pdf', 'ebook')
Node.js: Convert Images to PDF
import { PDFDocument } from 'pdf-lib';
import fs from 'fs/promises';
async function imagesToPdf(imagePaths, outputPath) {
const pdfDoc = await PDFDocument.create();
for (const imagePath of imagePaths) {
const imageBytes = await fs.readFile(imagePath);
let image;
if (imagePath.endsWith('.png')) {
image = await pdfDoc.embedPng(imageBytes);
} else {
image = await pdfDoc.embedJpg(imageBytes);
}
// A4 page in points (595.28 x 841.89)
const page = pdfDoc.addPage([595.28, 841.89]);
// Scale image to fit page
const scale = Math.min(
595.28 / image.width,
841.89 / image.height
);
page.drawImage(image, {
x: (595.28 - image.width * scale) / 2,
y: (841.89 - image.height * scale) / 2,
width: image.width * scale,
height: image.height * scale
});
}
const pdfBytes = await pdfDoc.save();
await fs.writeFile(outputPath, pdfBytes);
}
await imagesToPdf(['img1.jpg', 'img2.png'], 'output.pdf');
Comparison: PDF Tools vs Alternatives
| Feature | THEJORD PDF Tools | Adobe Acrobat | Smallpdf | iLovePDF |
|---|---|---|---|---|
| Free | 100% | No (subscription) | Daily limit | Daily limit |
| Privacy (local) | 100% offline | Desktop local | Server upload | Server upload |
| No registration | Not required | Required | Required for advanced | Required for advanced |
| File size limit | None | None | Varies | Varies |
| Merge | Unlimited | Unlimited | 2 files free | 25 files |
| Compression | 4 levels (Ghostscript) | Advanced | 3 levels | 3 levels |
| Advanced editor | Annotations, text | Complete | Basic | Basic |
FAQ - Frequently Asked Questions
Are my files uploaded to external servers?
No, never. PDF Tools processes all files locally in your browser using JavaScript. Your documents never leave your device. This guarantees total privacy and offline functionality.
Is there a file size limit?
There's no limit imposed by the tool, but very large files (100+ MB) may slow down the browser. For huge PDFs, consider splitting them into smaller parts first.
Can I process password-protected PDFs?
PDFs with editing restrictions are processed normally. PDFs with opening passwords require protection removal with other tools first.
Does compression damage text quality?
No. Our Ghostscript-powered compression automatically preserves text as vector graphics, keeping it perfectly readable and selectable. Unlike other browser-based tools that convert PDFs to images, our compression only recompresses embedded images while maintaining text, hyperlinks, and vector graphics intact.
Can I undo changes?
The original file is never modified. Every operation creates a new file. If you make a mistake, simply reload the original file.
Does it work on mobile?
Yes, the interface is responsive and works on smartphones and tablets. For large files, a device with more RAM offers better performance.
How many PDFs can I merge at once?
There's no limit. You can merge hundreds of files. The only constraint is available browser memory.
How do I maintain page order in merge?
Use drag-and-drop to reorder files in the list. The displayed order will be the order in the final PDF.
Best Practices
For Compression
- Screen (72 dpi) for smallest files, screen viewing only
- eBook (150 dpi) for web sharing and email - best balance
- Printer (300 dpi) for documents to print
- Prepress (300+ dpi) for professional printing, maximum quality
- Always verify result before deleting original
For Merging
- Sort files before uploading to save time
- Check sizes of resulting files
- Use descriptive names to easily identify files
For Conversion
- PNG for quality - lossless, ideal for text and graphics
- JPG for size - smaller, good for photos
- Quality 90%+ for important documents
- Quality 70% for fast web sharing
Security and Privacy
- Zero upload: Files stay on your device
- No tracking: We don't collect data about your documents
- Open source: Code is verifiable
- HTTPS: Always encrypted connection
- Local memory: Files are not permanently saved
Related Tools on THEJORD
- Base64 Encoder - Encode files for embedding
- Diff Checker - Compare text documents
- JSON Formatter - Format structured data
- QR Code Generator - Create QR codes for document links
External Resources
- pdf-lib - JavaScript PDF library
- PDF.js - Mozilla PDF viewer
- PDF Specifications (Adobe)