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.
Compare PDF
OrganizeReview two PDF documents side by side.
How to use
- 1Upload two PDF files.
- 2Review both visual previews next to each other.
- 3Use the original files to investigate differences.
Tips
- Upload exactly two PDFs for a meaningful comparison.
Limitations
- This tool provides visual review rather than semantic change tracking.
Delete PDF Pages
OrganizeRemove selected pages from a PDF.
How to use
- 1Upload a PDF.
- 2Select pages to remove.
- 3Download the new PDF.
Tips
- Keep a copy of the original before deleting pages.
Limitations
- The original file remains unchanged on your device.
Reorder PDF Pages
OrganizeArrange PDF pages in a new order.
How to use
- 1Upload a PDF.
- 2Set the desired page order.
- 3Download the reordered PDF.
Tips
- Use page numbers to define a clear sequence.
Limitations
- Large files may take longer to render.
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.
PDF to JPG
ConvertConvert PDF pages into JPG images.
How to use
- 1Upload a PDF.
- 2Choose the output settings.
- 3Download the JPG images.
Tips
- JPG is useful for compact image sharing.
Limitations
- Image quality depends on the selected resolution.
PDF to PNG
ConvertConvert PDF pages into PNG images.
How to use
- 1Upload a PDF.
- 2Render the pages.
- 3Download the PNG images.
Tips
- PNG is useful when crisp text and lossless quality matter.
Limitations
- Large PDFs can produce large image files.
PDF to Text
ConvertExtract selectable text into a downloadable text file.
How to use
- 1Upload a text-based PDF.
- 2Review the extracted text.
- 3Copy or download the TXT file.
Tips
- Use OCR first for scanned PDFs.
Limitations
- Complex layouts may change reading order.
EEdit Tools
Modify the appearance and content of your PDF pages.
PDF Editor
EditCreate and edit PDFs in your browser.
How to use
- 1Open the PDF Editor.
- 2Add or edit supported page content.
- 3Export the finished PDF.
Tips
- Use the editor for interactive page-level changes.
Limitations
- Some advanced editing capabilities are still being expanded.
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.
Fill PDF
EditFill supported PDF form fields in your browser.
How to use
- 1Upload a fillable PDF.
- 2Enter the form information.
- 3Download the completed PDF.
Tips
- Review every field before downloading.
Limitations
- Non-fillable PDFs may need the PDF Editor workflow.
IPDF Intelligence Tools
Extract, summarize, translate, and prepare PDF content for AI-assisted workflows.
PDF to Markdown
PDF IntelligenceConvert PDF text into editable Markdown for notes, documentation, and AI workflows.
How to use
- 1Upload a text-based PDF.
- 2Review the extracted Markdown.
- 3Copy or download the Markdown file.
Tips
- Text-based PDFs produce the cleanest results.
- Scanned documents should go through OCR first.
Limitations
- Complex layouts, tables, and scanned pages may need manual cleanup.
Summarize PDF
PDF IntelligenceCreate a concise AI-powered summary of a long PDF.
How to use
- 1Upload your PDF.
- 2Choose a summary goal.
- 3Review the summary against the original document.
Tips
- Ask for key points, decisions, risks, or action items.
- Verify names, numbers, and dates before relying on the result.
Limitations
- Scanned PDFs need OCR and important claims require human review.
Translate PDF
PDF IntelligenceTranslate PDF text into a selected target language with an AI-assisted workflow.
How to use
- 1Upload your PDF.
- 2Select the target language.
- 3Review the translation and formatting before downloading.
Tips
- Keep a terminology list for technical documents.
- Check right-to-left scripts, dates, names, and units carefully.
Limitations
- Exact layout preservation is not guaranteed and regulated content needs qualified review.
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.
Redact PDF
SecurityCover sensitive content in a PDF before sharing it.
How to use
- 1Upload the PDF.
- 2Mark sensitive content for redaction.
- 3Export and review the redacted copy.
Tips
- Always inspect the exported document before sharing.
Limitations
- Redaction quality depends on the selected content and PDF structure.
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.
Advanced PDF Workflows
These browser-first tools help you prepare, review, and transform documents without uploading the source file.
Fill PDF Forms
Detect interactive AcroForm fields, edit text values, and download a completed copy. PDFs without editable fields need a compatible form editor.
Redact PDF
Add opaque redaction areas by page and PDF coordinates. The marks are drawn into the generated copy; always reopen and test the result before sharing.
Compare PDF
Extract both documents page by page and review an editable unified comparison with original and revised text sections.
PDF to JPG and PNG
Render every page as an image and download all outputs together in a ZIP archive. JPG is smaller; PNG preserves lossless detail.
PDF to Text
Extract selectable text into a copyable and downloadable TXT document. Scanned pages should go through OCR first.
Delete and Reorder Pages
Remove selected pages or provide a new page order, then download a separate PDF while keeping the original unchanged.
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.