DEV Community

Cover image for I built 51 free browser-based developer tools — here's why and how
Henry Y
Henry Y

Posted on

I built 51 free browser-based developer tools — here's why and how

Every developer has a collection of bookmarked tool websites. One for JWT decoding, another for JSON formatting, another for generating UUIDs,another for regex testing.

Most of them have three problems:

  1. They upload your data to a server. You paste an internal API response, a JWT containing user IDs, or a private config file — and it silently goes to someone else's backend.
  2. Ads are injected directly into the tool area, breaking concentration right when you're debugging something.
  3. They're slow. A 200 KB React bundle to render a textarea and a button.

So I built DevToolbox — 51 tools that run entirely in your browser. Nothing is ever transmitted to a server.

What's included

The tools cover the most common daily tasks:

  • JSON Formatter & Validator — beautify, minify, error detection with line numbers
  • JWT Decoder — inspect header/payload/expiry without exposing your token
  • Regex Tester — real-time matching with capture group highlights
  • Base64 Encoder/Decoder — text, images, and file drag-and-drop
  • Hash Generator — MD5, SHA-1, SHA-256, SHA-512 via Web Crypto API
  • UUID Generator — v1/v4/v7, bulk generate up to 10,000, export CSV
  • Cron Expression Builder — visual scheduler + next 5 run times
  • SQL Formatter — MySQL, PostgreSQL, SQLite dialect support
  • DNS Lookup & SSL Checker — via Cloudflare DoH and CT logs
  • ...and 42 more

The architecture decision: Astro over Next.js

The hard requirement was Lighthouse Performance > 95 on mobile. That ruled out any framework that ships a full SPA runtime by default.

With Next.js static export, even a page with zero interactivity ships ~200 KB of JavaScript. That's the React runtime, the router, and the hydration scaffolding — none of which a formatting tool needs.

Astro's island architecture solved this cleanly. The page shell —header, layout, SEO content, FAQ, related tools — is pure static HTML with zero JavaScript. The interactive tool component hydrates as a React island only when it scrolls into view (client:visible).

Result: tool pages ship ~40 KB of JS instead of 200+ KB. LCP on mobile 4G is under 1.5 seconds.

Keeping data client-side: the tricky cases

Most tools are straightforward — JSON parsing, Base64 encoding, regex matching all have native browser APIs. But two tools needed a server:

SSL Checker
uses certificate transparency logs (crt.sh). That API has no CORS headers, so a browser fetch fails. Solution: a Cloudflare Pages Function acts as a thin proxy. The query goes browser → CF Worker → crt.sh, so your domain query never comes directly from your IP.

DNS Lookup
uses Cloudflare's DNS-over-HTTPS API (cloudflare-dns.com/dns-query), which does support CORS. This one works directly from the browser with no proxy needed.

Things I learned building 51 tools

Keyboard shortcuts matter more than I expected.
Adding Ctrl+Enter to run and Ctrl+K to clear on every tool changed the feel completely. Tools become faster to use than a terminal command.

"Load Example" removes the blank-slate problem.
Before I added example buttons, new users would land on a tool, see an empty textarea,and leave. One click to load sample data drops that friction entirely.

History is underrated.
Storing the last 8 inputs in localStorage means you can close a tab and come back to where you were. Implemented with a small useHistory hook and a dropdown — about 60 lines of code,but disproportionately useful.

Static sites + edge functions is a surprisingly good stack for
tool sites.

You get the SEO and performance benefits of static HTML for everything that doesn't need a server, and edge functions for the few things that do. No backend to maintain, no database,scales infinitely on Cloudflare's free tier.

What's next

  • Shareable URLs for all tools (hash-based state, already works in JSON Formatter and Base64)
  • More tools: TOML↔JSON, HTTP Header Analyzer, OpenAPI validator
  • Offline PWA support

If there's a tool you reach for daily that's missing, I'd genuinely like to know — either in the comments here or on the site.

freecodtools.dev

Top comments (0)