SelfPDF Documentation

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.

1

Pick a tool

Browse the tools page or use the navigation to find the PDF operation you need.

2

Upload your file

Drag and drop your PDF (or other file format) into the upload area.

3

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

Organize

Combine two or more PDF files into a single document, in any order you choose.

How to use

  1. 1Click "Add Files" or drag-and-drop your PDF files into the upload area.
  2. 2Reorder the files by dragging them into the desired sequence.
  3. 3Click "Merge PDF" to combine them.
  4. 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

Organize

Extract specific pages or page ranges from a PDF into one or more separate documents.

How to use

  1. 1Upload your PDF file.
  2. 2Choose a split mode: split by every page, by fixed intervals, or by custom page ranges.
  3. 3Preview the split result.
  4. 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

Organize

Reduce the file size of your PDF for easier sharing and storage.

How to use

  1. 1Upload the PDF you want to compress.
  2. 2Select a compression level (Low, Medium, High).
  3. 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

Organize

Attempt to fix corrupted or damaged PDF files that won't open in standard readers.

How to use

  1. 1Upload the corrupted PDF.
  2. 2Click "Repair PDF".
  3. 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

Convert

Convert each page of your PDF into a high-quality PNG or JPEG image.

How to use

  1. 1Upload your PDF.
  2. 2Choose output format (PNG or JPEG) and resolution.
  3. 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

Convert

Convert one or more images (PNG, JPEG, WEBP, GIF) into a single PDF document.

How to use

  1. 1Upload your images.
  2. 2Reorder them if needed.
  3. 3Select page size and orientation.
  4. 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

Convert

Convert a PDF document into an editable Microsoft Word (.docx) file.

How to use

  1. 1Upload your PDF.
  2. 2Click "Convert to Word".
  3. 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

Convert

Convert a Microsoft Word (.docx or .doc) file into a PDF.

How to use

  1. 1Upload your Word file.
  2. 2Click "Convert to PDF".
  3. 3Download the PDF.

Tips

  • Preserves fonts, images, and basic layout.

Limitations

  • Complex macros or embedded objects may not be preserved.

PDF to PowerPoint

Convert

Convert PDF pages into editable PowerPoint slides (.pptx).

How to use

  1. 1Upload your PDF.
  2. 2Click "Convert to PowerPoint".
  3. 3Download the .pptx file.

Tips

  • Each PDF page becomes one slide.

Limitations

  • Animations and transitions from original presentations cannot be recovered.

PowerPoint to PDF

Convert

Convert PowerPoint presentations (.pptx) into a PDF.

How to use

  1. 1Upload your .pptx file.
  2. 2Click "Convert to PDF".
  3. 3Download the PDF.

Tips

  • Great for sharing presentations without requiring PowerPoint.

Limitations

  • Animations are flattened to static slides in the output.

PDF to Excel

Convert

Extract tables from a PDF and convert them into an editable Excel spreadsheet (.xlsx).

How to use

  1. 1Upload your PDF.
  2. 2Click "Convert to Excel".
  3. 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

Convert

Convert an Excel spreadsheet (.xlsx or .xls) into a PDF.

How to use

  1. 1Upload your Excel file.
  2. 2Click "Convert to PDF".
  3. 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

Convert

Convert an HTML file (with embedded CSS) into a PDF document.

How to use

  1. 1Upload your .html file, or paste HTML directly into the editor.
  2. 2Click "Convert to PDF".
  3. 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

Convert

Extract text from scanned or image-based PDFs using Optical Character Recognition (OCR).

How to use

  1. 1Upload your scanned PDF.
  2. 2Select the language(s) present in the document.
  3. 3Click "Run OCR".
  4. 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

Convert

Combine one or more scanned images into a single, organised PDF document.

How to use

  1. 1Upload scanned images (PNG, JPEG, WEBP).
  2. 2Order the pages.
  3. 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

Edit

Rotate individual pages or all pages in a PDF by 90°, 180°, or 270°.

How to use

  1. 1Upload your PDF.
  2. 2Choose which pages to rotate and the rotation angle.
  3. 3Download the rotated PDF.

Tips

  • You can rotate individual pages independently.

Watermark PDF

Edit

Add a text or image watermark to every page of your PDF.

How to use

  1. 1Upload your PDF.
  2. 2Enter watermark text or upload a watermark image.
  3. 3Adjust position, opacity, size, and rotation.
  4. 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

Edit

Add customisable page numbers (e.g., "Page 1 of 10") to your PDF.

How to use

  1. 1Upload your PDF.
  2. 2Choose position (header or footer, left/centre/right), starting number, and format.
  3. 3Download the numbered PDF.

Tips

  • You can start numbering from any number to skip a cover page, for example.

Sign PDF

Edit

Draw or type a signature and embed it onto your PDF document.

How to use

  1. 1Upload your PDF.
  2. 2Draw your signature on the canvas, type it, or upload an image.
  3. 3Click to place the signature on the desired page and location.
  4. 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

Edit

Crop the page boundaries of your PDF to remove unwanted margins or whitespace.

How to use

  1. 1Upload your PDF.
  2. 2Drag the crop handles to define the desired crop area.
  3. 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

Security

Add a password to your PDF to restrict opening, printing, or copying content.

How to use

  1. 1Upload your PDF.
  2. 2Set an "Open Password" (required to view the file) and/or a "Permissions Password" (controls editing/printing rights).
  3. 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

Security

Remove password protection from a PDF file you own.

How to use

  1. 1Upload the password-protected PDF.
  2. 2Enter the password.
  3. 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.