pdf-lib
A pure-JavaScript library for creating and modifying PDF documents entirely in the browser — no server round-trip needed.
pdf-lib is the JavaScript library that makes it possible to manipulate PDFs inside a web browser without uploading them to a server. Most of PDF Genie's tools use pdf-lib — merge, split, rotate, watermark, flatten, crop, and many more. If your PDF never leaves your device when you use one of our tools, pdf-lib is the reason.
What pdf-lib can do
- Create PDFs from scratch — add pages, embed fonts, draw text, draw shapes, embed images
- Modify existing PDFs — add/remove pages, reorder, rotate, crop
- Fill and flatten forms — manipulate form field values, then lock them into the page content
- Embed other PDFs — use an existing PDF as a page template, overlay new content
- Encrypt / decrypt (limited) — add a password; strip an owner-password
pdf-lib's limits
pdf-lib is a toolkit for document structure work, not for rendering:
- It cannot render a PDF to an image — that's PDF.js' job
- It does not do OCR — that's Tesseract
- It does not convert Office documents — that's LibreOffice
- Highly complex encryption / digital signatures need specialized libraries
Why it matters for privacy
pdf-lib runs entirely in the browser via JavaScript. When you upload a PDF to our merge tool, for example, the file is loaded into your browser's memory, pdf-lib manipulates it there, and the result is offered for download. The file never goes to our servers. This is a completely different architecture from traditional PDF tools that upload, process server-side, and send back — and it's why tools built on pdf-lib can credibly claim 100% browser-based privacy.