Skip to content
Let's Talk

Own Product

PDFThor — The complete PDF editor. Nothing in between.

PDFThor is a full PDF editor that runs directly in the browser. The PDF file stays on the user's computer and is not uploaded to an external server. Its engine is PDFium, the PDF engine from Google Chrome, compiled to WebAssembly. Signing, encrypting, redacting or filling in forms all run locally in the browser. PDFThor can be embedded as a Web Component in React, Angular or plain HTML. The same principle applies to AI features: the customer decides which model is used, where it runs, and whether document content is passed to a model at all.

March 2026 - PresentWeb
The editor with its floating toolbar and page previews, showing the eight-page sample contract.
0Server calls for PDF operations
PDFiumGoogle Chrome's PDF engine, as WebAssembly
1 + 12Team: one developer, twelve AI agents

The Challenge

Contracts, personnel files, patient records or letters from public authorities often contain information nobody wants to hand to an external service. That usually leaves two options. Either PDF editing runs through a hosted provider. Then questions about data processing, storage location and data protection come up immediately. With particularly sensitive data or professional confidentiality, that can quickly rule the option out. Or the company builds the PDF editor itself. That gives full control, but it takes a lot of time and ties up its own development capacity for good. PDFThor sits in between: the editor runs directly in the user's browser and is integrated into the existing application. The document does not have to pass through an additional service.

A PAdES signature from a PKCS#12 certificate, validated in the browser. The demo certificate is self-signed, so the panel reports “valid with warnings”.

The Approach

The foundation is PDFThor's own PDF engine, built on PDFium, the PDF engine from Google Chrome. It is compiled to WebAssembly and runs entirely in the browser. The editor stays responsive with large documents too: scrolling, zooming and editing carry on while pages are still being rendered. Existing signatures stay valid when a document is edited later. The PDF logic is separated from the user interface and can be tested and developed independently of it. PDFThor can be embedded as a Web Component in React, Angular or plain HTML. PKCS#12 certificates can be read in the browser and used to create PAdES signatures. The viewer validates the signatures in a document, and signing through an external signature provider is available as an option. PDFs can be encrypted with AES-256, with permissions set individually. Redaction removes the text from the file, precisely to the character, and does not merely cover it up visually. The redacted text can no longer be copied or found by a search. All results of a search can be redacted in one step. The built-in AI chat works with frontier models like Claude, ChatGPT, Gemini or Grok. The request goes directly from the browser to the provider, with the user's own API key and no PDFThor server in between. Only the document text is sent, and only when the user asks a question.

The PDF file stays with the user and is not transferred to an external service.

Impact & Results

PDFThor covers the main PDF features completely: signing, encrypting, redacting and forms including XFDF import and export. PDF/A-2b and PDF/A-3b documents can be checked and converted, and the output is checked against veraPDF. E-invoices in ZUGFeRD, Factur-X or XRechnung format can be embedded in the PDF. Page operations include splitting, merging, inserting, deleting, rotating, reordering, duplicating, extracting and cropping. For annotating there are highlights, underline and strikethrough, notes, formatted free text, freehand drawings, freeform highlights, shapes, images, an eraser and a stamp catalogue that takes custom stamps. Typical editing features are included as well, among them watermarks, headers and footers, bookmarks, search, attachments and signature fields. Metadata can be removed from a document too. Every feature has unit tests and end-to-end tests that run in Chromium, Firefox and WebKit. PDFThor will make its AI models configurable: frontier models like Claude or ChatGPT, the customer's own model behind their own endpoint, or models that comply with the Swiss Data Protection Act and the GDPR, running on Azure in Switzerland, for example. PDFThor will create eIDAS signatures with long-term validation. PDFThor will get an interface for AI agents, a form designer, text editing in the document's own font and measurement tools. And it will meet WCAG 2.2 AA for accessibility.

Every hit of a search for “Northwind” redacted in one step, removed from the file precisely to the character.

My Role

Founder, lead engineer and architect. Architecture: the editor, with the PDF logic separated from the user interface. Engine: PDFThor's own PDF engine, built on PDFium. Cryptography: signatures and encryption. Development with a dedicated team of AI agents for engine, cryptography, UI and tests, steered through GitHub issues.

TypeScriptWeb ComponentsPDFiumWebAssemblyC++ViteVitestPlaywrightClaude Code
Highlights, a note and a stamp from the catalogue, all listed in the sidebar.
A filled-in change request with text fields, a dropdown and a checkbox.
PDF/A-3b check in the browser, with a ZUGFeRD invoice embedded in the document.
A question about the contract in the AI chat, with Claude as the provider and the user's own API key.
The same viewer at phone width.

Got a similar challenge?

Tell me about your challenge. I'll share how I'd approach it — and a realistic timeline.

This website uses third-party services (Google reCAPTCHA, Calendly) that may set cookies. See our Privacy Policy for details.