Documentation
Everything you need to know about SelfPDF — from a 30-second quickstart to detailed per-tool guides and self-hosting instructions.
Getting Started
SelfPDF requires no installation, no sign-up, and no payment. Open your browser, visit the tool you need, and you\'re done.
Pick a tool
Browse the tools page or use the navigation to find the PDF operation you need.
Upload your file
Drag and drop your PDF (or other file format) into the upload area.
Download the result
Click the action button, then download your processed file instantly.
No account needed
There is no sign-up, no email, and no account required. Every tool is free to use immediately, unlimited times.
How It Works
SelfPDF is built on a strict client-side architecture. Understanding how it works explains why it\'s both private and fast.
No server involved in file processing
Unlike cloud PDF services, SelfPDF does not send your files to any server. All processing is performed by JavaScript and WebAssembly code running inside your browser tab. The server only serves the application code (HTML, JS, CSS) — never your documents.
WebAssembly for native-speed performance
Computationally intensive operations (OCR, compression, rendering) use WebAssembly (WASM) modules compiled from native code. This allows SelfPDF to achieve performance that approaches native apps, while running in a sandboxed browser environment.
In-memory processing
Your file is loaded into the browser tab's heap memory, processed, and the result is generated as a Blob URL. Nothing is written to disk by SelfPDF. When you close the tab, the garbage collector reclaims the memory immediately.
Offline capable
Once the page and its WASM modules have loaded, SelfPDF requires no internet connection to process files. This makes it suitable for sensitive environments.
OOrganize Tools
Manage the structure and size of your PDF documents.
Merge PDF
OrganizeCombine two or more PDF files into a single document, in any order you choose.
How to use
- 1Click "Add Files" or drag-and-drop your PDF files into the upload area.
- 2Reorder the files by dragging them into the desired sequence.
- 3Click "Merge PDF" to combine them.
- 4Download the merged PDF.
Tips
- You can add as many files as your device's RAM allows.
- The output file order matches the order shown in the list.
Limitations
- Files must be valid, non-corrupted PDFs.
- Password-protected PDFs must be unlocked first.
Split PDF
OrganizeExtract specific pages or page ranges from a PDF into one or more separate documents.
How to use
- 1Upload your PDF file.
- 2Choose a split mode: split by every page, by fixed intervals, or by custom page ranges.
- 3Preview the split result.
- 4Download the individual PDF(s).
Tips
- Use custom ranges (e.g., "1-3, 5, 7-10") for precise extraction.
- Splitting by every page is useful for creating individual slide PDFs.
Limitations
- Page ranges must be within the document's page count.
Compress PDF
OrganizeReduce the file size of your PDF for easier sharing and storage.
How to use
- 1Upload the PDF you want to compress.
- 2Select a compression level (Low, Medium, High).
- 3Click "Compress" and download the smaller file.
Tips
- PDFs that are mostly text won't shrink much — compression works best on image-heavy PDFs.
- Higher compression = smaller file but potentially lower image quality.
Limitations
- Output quality depends on the content of the original PDF.
Repair PDF
OrganizeAttempt to fix corrupted or damaged PDF files that won't open in standard readers.
How to use
- 1Upload the corrupted PDF.
- 2Click "Repair PDF".
- 3If reparable, the fixed version will be available for download.
Tips
- Works best on PDFs with minor structural damage or incomplete writes.
Limitations
- Severely corrupted files with missing data may not be recoverable.
CConvert Tools
Convert PDFs to other formats and other formats to PDF.
PDF to Images
ConvertConvert each page of your PDF into a high-quality PNG or JPEG image.
How to use
- 1Upload your PDF.
- 2Choose output format (PNG or JPEG) and resolution.
- 3Download images as a ZIP archive.
Tips
- PNG provides lossless quality, ideal for documents with text.
- JPEG produces smaller files, better for photo-heavy PDFs.
Limitations
- Very large or complex PDFs may take longer to render.
Images to PDF
ConvertConvert one or more images (PNG, JPEG, WEBP, GIF) into a single PDF document.
How to use
- 1Upload your images.
- 2Reorder them if needed.
- 3Select page size and orientation.
- 4Download the PDF.
Tips
- Images are fitted to the selected page size while preserving aspect ratio.
Limitations
- Supported formats: PNG, JPEG, WEBP, GIF, BMP, TIFF.
PDF to Word
ConvertConvert a PDF document into an editable Microsoft Word (.docx) file.
How to use
- 1Upload your PDF.
- 2Click "Convert to Word".
- 3Download the .docx file.
Tips
- Best results with text-based PDFs. Scanned PDFs should use OCR first.
Limitations
- Complex formatting (multi-column, tables) may not convert perfectly.
Word to PDF
ConvertConvert a Microsoft Word (.docx or .doc) file into a PDF.
How to use
- 1Upload your Word file.
- 2Click "Convert to PDF".
- 3Download the PDF.
Tips
- Preserves fonts, images, and basic layout.
Limitations
- Complex macros or embedded objects may not be preserved.
PDF to PowerPoint
ConvertConvert PDF pages into editable PowerPoint slides (.pptx).
How to use
- 1Upload your PDF.
- 2Click "Convert to PowerPoint".
- 3Download the .pptx file.
Tips
- Each PDF page becomes one slide.
Limitations
- Animations and transitions from original presentations cannot be recovered.
PowerPoint to PDF
ConvertConvert PowerPoint presentations (.pptx) into a PDF.
How to use
- 1Upload your .pptx file.
- 2Click "Convert to PDF".
- 3Download the PDF.
Tips
- Great for sharing presentations without requiring PowerPoint.
Limitations
- Animations are flattened to static slides in the output.
PDF to Excel
ConvertExtract tables from a PDF and convert them into an editable Excel spreadsheet (.xlsx).
How to use
- 1Upload your PDF.
- 2Click "Convert to Excel".
- 3Download the .xlsx file.
Tips
- Works best when the PDF contains clearly formatted, bordered tables.
Limitations
- Merged cells and complex table styles may not convert perfectly.
Excel to PDF
ConvertConvert an Excel spreadsheet (.xlsx or .xls) into a PDF.
How to use
- 1Upload your Excel file.
- 2Click "Convert to PDF".
- 3Download the PDF.
Tips
- Each worksheet becomes a separate page in the PDF.
Limitations
- Charts and graphs may not render identically to Excel's native print output.
HTML to PDF
ConvertConvert an HTML file (with embedded CSS) into a PDF document.
How to use
- 1Upload your .html file, or paste HTML directly into the editor.
- 2Click "Convert to PDF".
- 3Download the PDF.
Tips
- Inline your CSS for the most accurate output.
- External fonts and images may not load if they require an internet connection.
Limitations
- JavaScript is not executed during conversion.
OCR Scanner
ConvertExtract text from scanned or image-based PDFs using Optical Character Recognition (OCR).
How to use
- 1Upload your scanned PDF.
- 2Select the language(s) present in the document.
- 3Click "Run OCR".
- 4Download the searchable PDF or the extracted text file.
Tips
- Higher-resolution scans produce more accurate results.
- Supported languages: English, French, German, Spanish, Arabic, Chinese, Japanese, and many more via Tesseract.js.
Limitations
- Handwritten text recognition is limited and may be inaccurate.
- OCR of complex layouts (multi-column, tables) may require manual cleanup.
Scan PDF
ConvertCombine one or more scanned images into a single, organised PDF document.
How to use
- 1Upload scanned images (PNG, JPEG, WEBP).
- 2Order the pages.
- 3Download the assembled PDF.
Tips
- Use a consistent resolution across all scans for a uniform-looking document.
Limitations
- Image-only PDF — for searchable output, run OCR afterwards.
EEdit Tools
Modify the appearance and content of your PDF pages.
Rotate PDF
EditRotate individual pages or all pages in a PDF by 90°, 180°, or 270°.
How to use
- 1Upload your PDF.
- 2Choose which pages to rotate and the rotation angle.
- 3Download the rotated PDF.
Tips
- You can rotate individual pages independently.
Watermark PDF
EditAdd a text or image watermark to every page of your PDF.
How to use
- 1Upload your PDF.
- 2Enter watermark text or upload a watermark image.
- 3Adjust position, opacity, size, and rotation.
- 4Download the watermarked PDF.
Tips
- Use a low opacity (15–30%) for a subtle, professional-looking watermark.
Limitations
- Image watermarks should be PNG with a transparent background for best results.
Page Numbers
EditAdd customisable page numbers (e.g., "Page 1 of 10") to your PDF.
How to use
- 1Upload your PDF.
- 2Choose position (header or footer, left/centre/right), starting number, and format.
- 3Download the numbered PDF.
Tips
- You can start numbering from any number to skip a cover page, for example.
Sign PDF
EditDraw or type a signature and embed it onto your PDF document.
How to use
- 1Upload your PDF.
- 2Draw your signature on the canvas, type it, or upload an image.
- 3Click to place the signature on the desired page and location.
- 4Download the signed PDF.
Tips
- For a professional look, use the draw mode with a stylus or mouse.
- Uploaded signatures should be PNG images with a transparent background.
Limitations
- This is a visual signature, not a cryptographic digital signature. For legally binding eSignatures, use a dedicated eSign service.
Crop PDF
EditCrop the page boundaries of your PDF to remove unwanted margins or whitespace.
How to use
- 1Upload your PDF.
- 2Drag the crop handles to define the desired crop area.
- 3Apply the crop and download.
Tips
- Cropping only adjusts the visible area — it does not permanently delete content outside the crop area in all viewers.
Limitations
- Page dimensions will change after cropping.
SSecurity Tools
Protect your PDFs with passwords and remove existing protection.
Protect PDF
SecurityAdd a password to your PDF to restrict opening, printing, or copying content.
How to use
- 1Upload your PDF.
- 2Set an "Open Password" (required to view the file) and/or a "Permissions Password" (controls editing/printing rights).
- 3Click "Protect" and download the secured PDF.
Tips
- Use a strong, unique password. SelfPDF has no way to recover it if lost.
- AES-256 encryption is used for maximum security.
Limitations
- You are responsible for remembering your password. SelfPDF cannot recover it.
Unlock PDF
SecurityRemove password protection from a PDF file you own.
How to use
- 1Upload the password-protected PDF.
- 2Enter the password.
- 3Click "Unlock" and download the unprotected PDF.
Tips
- Only use this tool on PDFs you own or have explicit permission to unlock.
Limitations
- Requires the correct password — SelfPDF does not perform brute-force cracking.
Tips & General Limitations
File size is limited by your device\'s RAM
Since processing happens in your browser\'s memory, the maximum file size you can work with depends on your device\'s available RAM. For most laptops and desktops (8 GB+ RAM), files up to ~500 MB should work without issues. For very large files, close other browser tabs to free up memory.
Always keep the original file
SelfPDF processes files non-destructively — your original file is never modified. However, as a best practice, always keep a backup of important documents before processing them.
PDF version compatibility
SelfPDF handles most PDF versions (1.0 through 2.0). Some very old or exotic PDF features may not be supported. If a file fails to process, try opening it in Adobe Acrobat Reader and re-saving it to update the format before using SelfPDF.
Browser compatibility
SelfPDF is optimised for modern, evergreen browsers: Chrome 90+, Firefox 90+, Safari 15+, and Edge 90+. Internet Explorer is not supported. For the best experience and performance, use the latest version of Chrome or Firefox.
Self-Hosting
Want to run SelfPDF on your own infrastructure? It's a standard Next.js application and deploys easily to any Node.js environment, Vercel, Netlify, Docker, or a plain VPS.
# Clone the repository
git clone https://github.com/Rehanbuilds/selpdf-v2.git
# Install dependencies
npm install
# Run in development mode
npm run dev
# Build for production
npm run build && npm start
No environment variables or backend services are required for core functionality. The application is purely static except for optional server-side metadata generation.
Contributing
SelfPDF is a community-maintained open-source project. Contributions of all kinds are welcome — bug reports, feature requests, code improvements, documentation fixes, and translations.
🐛 Report a Bug
Found something that doesn't work? Open a GitHub Issue with steps to reproduce, your browser version, and the PDF that caused the problem (if shareable).
💡 Request a Feature
Have an idea for a new tool or improvement? Open a GitHub Issue and describe the use case. Feature requests with clear rationale are prioritised.
🔀 Submit a PR
Fork the repository, make your changes, and open a Pull Request. Please include a description of what changed and why. Tests are appreciated.
📖 Improve Docs
Notice something missing or unclear in the documentation? Docs improvements are just as valuable as code changes — and often faster to merge.
Frequently Asked Questions
Are my files really never uploaded?
Yes. SelfPDF is built so that all PDF processing happens in your browser using JavaScript and WebAssembly. Your files are loaded into your browser's memory from your local disk and never sent over any network connection. You can verify this by opening your browser's network developer tools while using SelfPDF — you'll see no outgoing file requests.
Is there a file size limit?
There is no hard-coded file size limit in the application. The practical limit is determined by your device's available RAM. For most modern devices, files up to several hundred megabytes work fine. For very large files (1 GB+), you may experience slowdowns or browser memory warnings.
Does SelfPDF work offline?
Yes, once the page has fully loaded (including the WebAssembly modules), SelfPDF works without an internet connection. For the best offline experience, visit the tool page you need while online to allow it to cache, then you can use it offline.
Can I use SelfPDF commercially?
Absolutely. SelfPDF is MIT-licensed software. You can use it for any purpose, including commercial use, at no cost. If you choose to self-host and modify the code, you must include the MIT license notice as per the license terms.
Why does OCR take so long?
OCR (Optical Character Recognition) is computationally intensive. Tesseract.js runs as a WebAssembly module in your browser, which is significantly faster than pure JavaScript but slower than running natively. Processing time scales with the number of pages and image resolution. A 10-page scanned document typically takes 30–60 seconds.
Why isn't my password-protected PDF unlocking?
You must enter the exact password used to protect the file. SelfPDF does not perform brute-force password cracking. If you've forgotten the password, unfortunately SelfPDF cannot help — and neither can any legitimate tool without cracking, which is both time-intensive and often illegal without the document owner's permission.
How do I report a security vulnerability?
Please do not open a public GitHub Issue for security vulnerabilities. Instead, contact the maintainers privately through the GitHub Security Advisories feature in the repository settings. We aim to respond to all security reports within 72 hours.