PDF Editor
Failed to load PDF libraries. Please reload the page.
Open a PDF
100% browser-side processing — no data is ever sent.
Technical specifications & Privacy (Local PDF Editor)
The editor uses PDF.js (Mozilla) to render pages to canvas, Fabric.js for interactive drawing, and pdf-lib to generate the final file. All three libraries are served locally from /assets/js/vendor/.
No PDF file is ever transmitted to a server. All processing is performed in the browser via the FileReader API, the Canvas 2D context, and WebAssembly (PDF.js worker).
Blur applies a Gaussian blur CSS filter (ctx.filter = 'blur(14px)') to the original PDF pixels before embedding the blurred region as an image in the annotation layer. AcroForm fields are detected via page.getAnnotations() and filled natively with pdf-lib without rasterising text.
The exported PDF retains the original document and overlays a transparent PNG layer per annotated page, positioned in PDF coordinates (origin bottom-left, 1 pt = 1/72 inch).