Unwrite
Browser-based tools, built so your files never leave your device.
PDFs, images, text, favicons, and even local AI. Fast, private, and designed to work entirely offline when possible.
Built to stay local.
Every tool is designed to run locally, with minimal friction and no unnecessary uploads.
Your files stay on your device.
Tools run locally using WebAssembly and modern browser APIs, without sending your files to a server.
No accounts required.
Open a tool and start working immediately. No signup flow, dashboards, or unnecessary friction.
Actively maintained.
New tools ship regularly, and existing tools continue improving over time.
The toolbox.
Unwrite GPT
Clean up AI-generated writing locally in your browser.
Unwrite PDF Editor
Compress, merge, split, repair PDFs. Everything happens in the browser.
Unwrite Images
Compress, resize, and convert images. WebAssembly-powered, no uploads.
HTML Cleaner
Strip tags, inline styles, and Word or Google Docs cruft from pasted HTML.
Favicon Generator
Create favicons for every platform. ICO, PNG, SVG, and manifest output.
Compare Text
Side-by-side diff for two versions of text.
LLM in the Browser
Local AI models running directly in your browser.
Choose from 18+ open models, running locally in your browser without an API key.
Automated hreflang tags for Shopify stores.
Keep your international SEO in sync without writing a single line of Liquid. Catches broken tags before Google does.
From the workbench.
Notes on how these tools are built, and why they work the way they do.
Why WebAssembly powers Unwrite
Every tool on Unwrite runs in your browser. WebAssembly is what makes that possible.
From the blogThe hidden risks behind free online tools
The security angle on free online tools is worse than you think. Trojanised PDF editors, crypto-mining extensions, and fake download buttons.
From the blogAuditing third-party tracking on our own site
We promised no tracking. Then we discovered Cloudflare was injecting five JavaScript files into every page. Here is what we found and what we ripped out.
From the blogRunning a 3.7GB language model in a browser tab
Gemma 4 is 3.75GB. We run it in a browser tab. Here is how the stack works.