For years, every time I needed to merge a PDF or compress an image online, I had to upload my private files to some random server and just hope they got deleted. That always felt wrong.
So I started building small tools that do everything in the browser — no upload, no backend, no database. The files never leave the user's device. I ended up with 50+ of them, and I want to share what I learned about going fully client-side.
Why client-side?
Three big wins:
- Privacy: the user's files never touch a server. Nothing to leak, nothing to store, nothing to comply with.
- Cost: no server means no hosting bill that scales with traffic. A static site can handle millions of users.
- Speed: no upload/download round-trip. The work happens instantly on the user's machine.
The browser can do more than people think
Most "simple" tools don't actually need a server. Modern browser APIs cover a huge amount:
- Canvas API — resize, crop, compress, and convert images entirely in memory.
- File API + Blob — read user files and trigger downloads without ever uploading.
- Web Crypto API — hashing (SHA-256, etc.) natively, no library needed.
- Libraries like pdf-lib and pdf.js — full PDF manipulation (merge, split, rotate) on the client.
For example, compressing an image is just: read the file → draw it to a canvas → re-export at a lower quality → download the blob. No server in the loop.
What does NOT work client-side
Being honest about the limits, because this matters:
- Downloading videos from YouTube/TikTok — blocked by CORS, needs a server.
- Anything needing live data (real-time currency rates, etc.) — needs an API.
- Heavy video transcoding — technically possible with WASM but painful and slow.
Knowing what can't be done client-side saved me from shipping broken tools.
The result
I put all of this into [SwiftTooly] — a free collection of browser-based tools (PDF, image, text, QR, converters, dev utilities). Everything runs locally, no sign-up.
Happy to answer questions about any of the implementations — the image and PDF stuff especially has some fun edge cases.
What other tools do you think genuinely don't need a backend?
Top comments (0)