DEV Community

Cover image for I built 190+ free online tools that don't upload your files
Fayazali121
Fayazali121

Posted on AI-assisted

I built 190+ free online tools that don't upload your files

Hi, I'm Fayaz, a web developer from Karachi, Pakistan.

Like most people, I keep needing small file jobs done: shrink a photo, merge a few PDFs, convert a Word file, format some JSON. And every time, the free tools I found came with a catch:

  • a watermark on the result,
  • a sign-up wall before the download,
  • a limit of two files a day unless I paid,
  • or they wanted me to upload private documents to a server I knew nothing about.

So a month ago I started building ToolsBench: one place where these everyday jobs are free, simple, and done properly. It now has more than 190 tools across images, PDFs, documents, video, audio, text, code and more.

The main idea: do the work in the browser

Modern browsers are powerful enough to do most file processing locally. If the work happens on your device, there's nothing to upload, nothing to store, and nothing to leak. It's also faster, because you skip the upload and download round trip.

Here's what does the heavy lifting:

Job Library
Merge, split, rotate PDFs pdf-lib
Render PDF pages (PDF to image) PDF.js
Video and audio conversion ffmpeg.wasm
Text from images (OCR) Tesseract.js
HEIC (iPhone photos) to JPG heic2any
Word documents mammoth, docx
Excel and CSV SheetJS
Compress and resize images the Canvas API
QR codes and barcodes qrcode, JsBarcode, ZXing

A few tools genuinely need a server, such as an IP address lookup. Those say so clearly at the top of the page, so you always know where your data goes.

The stack

  • Next.js (App Router) with React and Tailwind CSS
  • Prisma with Turso (SQLite at the edge) for tool pages, blog posts and FAQs, edited from a small admin panel
  • Hosted on Netlify, DNS on Cloudflare

Things I learned along the way

1. ffmpeg.wasm is amazing, but heavy. The core is tens of megabytes, so it only loads when you open a video or audio tool, and it's cached long-term after the first visit. Nobody should download a video encoder just to format some JSON.

2. Lazy-load everything. With 190+ tools, each tool's code (and its libraries) only loads on its own page. The home page stays fast even though the whole site uses a lot of libraries.

3. Big files need care. Browsers have memory limits, especially on phones. Loading libraries only when a file is actually processed, and releasing object URLs once a download is done, keeps things from slowing down.

4. Hosting adds surprises. My host injected a small HTML comment into the page <head>, which broke React hydration in production only. It took some bisecting to find. If you see a hydration error that you can't reproduce locally, check what your host adds to the HTML.

What's next

I'm adding tools step by step, and I write short guides that explain what each tool can and can't do.

If you try it, I'd love to hear what's missing or broken. Feedback from developers is the most useful kind I can get.

πŸ‘‰ toolsbench.net

Thanks for reading!

Top comments (0)