The entire online PDF editing industry is built on a rendering model that was never designed for editing.
We're changing that.
PDF.js (Mozilla) and pdfium (Google/Chromium) are the two libraries that power virtually every online PDF service you've ever used. They're excellent at what they were built for: viewing PDFs.
But here's the problem: they were never designed for editing.
Both PDF.js and pdfium follow the same rendering approach. They read the PDF binary stream, interpret it, and paint pixels onto an HTML Canvas element. The result is an image — a flat, non-interactive picture of your document.
HTML Canvas wasn't even designed for PDFs. It was created by Apple in 2004 for macOS Dashboard widgets. PDF.js and pdfium adopted it because PDF operators (moveTo, lineTo, fill, stroke) happen to map neatly to Canvas API calls — both are immediate-mode 2D drawing systems. But that mapping only works for rendering. Once pixels are painted, the document structure is gone.
Canvas is fundamentally a pixel-based drawing surface. Once the PDF is rendered to canvas, it's no different from a screenshot. There's no text you can select natively. No elements you can click. No structure you can manipulate. It's pixels all the way down.
So how do existing services offer editing? They build additional layers on top of the canvas. Text overlay layers synchronized with coordinates. Input fields positioned over the canvas image. Custom font matching. Mode switches between "view" and "edit".
This is why every online PDF editor feels heavy. Layer over layer. Mode switching. Limited graphic control. You're never actually editing the PDF — you're editing an approximation built on top of a picture of it.
The engine can extract text content and styles, but it cannot represent the PDF stream as DOM elements. That fundamental limitation cascades into every interaction.
PDFox V2 has its own DOM-oriented rendering engine built natively on Rust with PDF 2.0 (ISO 32000-2:2020) — the latest standard. Instead of painting pixels to a canvas, it reads the PDF binary stream and directly represents it as editable HTML DOM elements.
From binary to editable DOM — zero addon layers
Text becomes contentEditable spans. Graphics become SVG paths. Images become DOM elements. The PDF structure is directly mapped to the browser's native editing capabilities.
And unlike PDF.js or pdfium — which implement older PDF specifications — PDFox.js is built on PDF 2.0 (ISO 32000-2:2020), the latest standard. That means native support for 256-bit AES encryption, CAdES digital signatures, UTF-8 text encoding, Document Security Store, and tagged PDF namespaces. Not retrofitted — designed from day one.
PDFox ships a complete PDF 2.0 interpreter written from scratch. No wrappers around PDF.js. No WebAssembly ports of C libraries. A purpose-built engine that understands:
All of this runs entirely in your browser. Your files are processed locally, never touching a server.
No overlay layers. No mode switching. No addons. When you open a PDF in PDFox V2, you get a document you can edit like a Google Doc — because the rendering model was designed for it from day one.
| PDFox (DOM) | Everyone Else (Canvas) | |
|---|---|---|
| Text selection | Native, browser-level | Simulated overlay, often misaligned |
| Accessibility | Screen readers work out of the box | Requires separate text layer hacks |
| Search | Cmd+F just works | Depends on extra implementation |
| CSS styling | Full control over rendered elements | None — it's pixels on a bitmap |
| Large documents | Renders what you see, DOM-efficient | Full page rasterization per viewport |
| Privacy | Nothing leaves your machine | Architecture limits local capabilities |
Open any PDF and edit it directly. No tools to select, no modes to switch. Click and type. That's it.
SVG paths, vector graphics, and images are DOM elements you can select, move, resize, and modify directly.
Built on the latest PDF standard (ISO 32000-2:2020). 256-bit AES encryption, CAdES signatures, UTF-8 encoding, and Document Security Store — not retrofitted, native.
There's no upload step to skip or toggle. Your PDF physically cannot leave your device because the entire processing pipeline runs in-browser. GDPR compliance isn't a checkbox — it's the architecture.
Text selection, find-on-page, copy-paste, accessibility — these aren't features built on top of a canvas hack. They come free because the content is real DOM.
Open PDFox in your browser. Drop a file. Edit. Done. Works on any modern desktop browser — Chrome, Firefox, Edge, Safari.
Dive deeper into the engine, architecture, and features behind PDFox V2.
PDFox.js — a proprietary, TypeScript-first PDF engine built from scratch. ISO 32000-2 compliant with WASM acceleration.
Learn more →11 tree-shakeable packages, triple-output rendering (DOM + Canvas + SVG), and a modular monorepo design.
Learn more →Toolless editing, graphic control, PDF/A compliance, digital signatures, accessibility, and more.
Learn more →Rust WASM modules, TypeScript monorepo, and the build pipeline behind PDFox.js.
Learn more →PDFox is built on a proprietary PDF 2.0 interpreter that reads the raw binary structure of your PDF and renders it directly into the DOM. No canvas. No plugins. No server uploads. Just real HTML elements on your screen.
There's no upload step to skip or toggle. Your PDF physically cannot leave your device because the entire processing pipeline runs in-browser.
Your first document is free. After that, full access is €2.99 for 24 hours — no subscriptions, no recurring charges, no account required.
Try Free