All articles
Developer ToolsProductivityWorkflow13 min read

12 Free Tools That Make Developers' Lives Easier

Excalidraw, DevToys, Hoppscotch, DevDocs and ExifTool explained through the real problems they solve — plus seven more free tools for diffing, JSON wrangling, regex, cron, SQL and local HTTPS tunnels.

Pick tools by problem, not features

Tool lists usually fail because they read like feature inventories. You remember a tool when you remember the moment it saved you: the whiteboard you needed mid-interview, the JWT you pasted into a sketchy website at 1am, the API you had to poke at before the frontend existed.

So here are the five tools worth learning first, each mapped to the problem it solves, then seven more that quietly earn their place in a daily workflow. Everything below is free to use, and most of it is open source.

Explain an architecture
Excalidraw
Decode / format / hash
DevToys
Call and test an API
Hoppscotch
Look something up fast
DevDocs
Inspect a file's metadata
ExifTool
Five daily developer problems and the free tool that handles each one.

1. Excalidraw — architecture and visual thinking

Excalidraw
Virtual whiteboard for hand-drawn-style diagrams
Free · open source
https://excalidraw.com

Excalidraw is an infinite whiteboard for sketch-style diagrams: architecture, wireframes, flows, entity relationships, brainstorming. The value is not that you can draw boxes — every tool draws boxes. It is that the deliberately rough visual style signals this is a thinking artifact, not a specification, so nobody argues about alignment while you are still arguing about the design.

The two-minute version of a diagram you would otherwise spend twenty minutes on:

ClientLoad BalancerService AService BRedisPostgres
A request path sketched in seconds: client, load balancer, two services, a cache and a database.

Where it earns its place

  • System design interviews. Shared canvas, no setup, exports cleanly if you want to keep the artifact.
  • Explaining bugs. A five-box sequence beats four paragraphs in a thread.
  • API and schema design. Draw the entities and relationships before writing the migration.
  • Documentation. Export to PNG or SVG, keep the editable .excalidraw file next to it so the diagram stays maintainable.
Practical tip
Commit the .excalidraw source alongside the exported image in your repo. An exported PNG nobody can edit becomes wrong documentation within a quarter.

2. DevToys — the developer Swiss Army knife

DevToys
Around 30 offline developer utilities in one app
Free · open source
https://devtoys.app

DevToys replaces the reflex loop of searching for "json formatter online", "base64 decoder", "jwt debugger" and pasting work data into whichever ad-covered page ranks first that week. It bundles roughly thirty utilities into one desktop app that runs locally.

Google → JSON formatter → paste production payload
Google → Base64 decoder → paste internal token
Google → JWT decoder    → paste customer's auth token   ← this one is a real problem
Google → UUID generator
Google → Hash generator
The workflow it replaces.

The tools you will actually open

  • JSON / YAML formatter and converter — turn a single-line log dump into something readable, or move config between formats.
  • JWT decoder — inspect the header and payload of a token to see claims, issuer and expiry.
  • Base64 encode / decode — for data URIs, basic auth headers and encoded payloads in logs.
  • Hash and checksum generator — MD5, SHA-1, SHA-256 fingerprints to compare files or verify a download.
  • UUID generator — stop hand-typing test identifiers.
  • Regex and JSONPath testers — iterate on a pattern with live match highlighting instead of redeploying to find out.
{"user":{"id":123,"name":"John","skills":["Java","Redis"]}}

{
  "user": {
    "id": 123,
    "name": "John",
    "skills": ["Java", "Redis"]
  }
}
Same payload, before and after the formatter.
Decoding is not verifying
A JWT decoder splits the token and Base64-decodes the header and payload. It does not check the signature. A token can decode perfectly and still be forged, expired or issued by the wrong party — signature verification happens server-side with the signing key. Treat decoded claims as a debugging view, never as proof of identity.
Why local matters more than convenience
Tokens, customer payloads and internal identifiers pasted into an online converter leave your machine. A local utility keeps that data on your laptop. This is the single strongest reason to install DevToys, or an equivalent like CyberChef running locally.

3. Hoppscotch — API testing without the account wall

Hoppscotch
Open-source API client for web, desktop and CLI
Free · open source
https://hoppscotch.io

For backend work this is the highest-value tool on the list. Hoppscotch sends HTTP requests and shows you the response — method, headers, query parameters, body, auth — with a fast UI and no mandatory sign-in before you can send your first request.

POST /users HTTP/1.1
Host: api.example.com
Authorization: Bearer <token>
Content-Type: application/json

{
  "name": "Upasana",
  "role": "engineer"
}
A request you can build and send in under a minute.

The features that matter past the first request

  • Collections. Group related requests so the API surface is documented by usage rather than by a stale wiki page.
  • Environments. Define API_URL once per environment and switch between local, staging and production instead of editing every URL.
  • Authentication. Basic auth, bearer tokens, OAuth 2.0 and API keys are supported directly.
  • Pre-request scripts. Generate a timestamp, sign a payload or fetch a token before the request fires.
  • Tests. Assert on status codes and response fields so a request becomes a repeatable check.
  • CLI. Run saved collections from a terminal or a CI pipeline — the step that turns manual poking into a regression suite.
User APIs
 ├── GET    {{API_URL}}/users
 ├── GET    {{API_URL}}/users/:id
 ├── POST   {{API_URL}}/users
 ├── PUT    {{API_URL}}/users/:id
 └── DELETE {{API_URL}}/users/:id

Local        API_URL = http://localhost:8080
Staging      API_URL = https://staging.example.com
Production   API_URL = https://api.example.com
Collections plus environments: define the variable once, switch the target.
Keep production credentials out of shared environments
Environment variables in an API client are convenient and easy to leak through a shared workspace or an exported file. Keep production tokens in a local-only environment, and prefer short-lived credentials.

4. DevDocs — documentation without twenty tabs

DevDocs
Unified, searchable documentation for hundreds of technologies
Free · open source
https://devdocs.io

DevDocs pulls official documentation for many languages, frameworks and platforms into one fast search interface. The point is not to avoid documentation — it is to reach the authoritative page in one keystroke instead of routing through a search engine, a content-farm blog and a nine-year-old Stack Overflow answer.

The underrated feature is offline mode: DevDocs can install documentation sets into browser storage using IndexedDB and a service worker, so your reference material survives a dead connection on a train or a locked-down network.

Step 1
Search a symbol
Array.prototype.map
Step 2
Local index answers
IndexedDB + Service Worker
Step 3
Docs render
no network round trip
Offline documentation: the lookup resolves against a local index, not the network.

How to get value on day one

  • Enable only the doc sets you use, so search results stay relevant.
  • Learn the keyboard shortcuts — the tool is built around typing, not clicking.
  • Install offline docs for your primary language before you travel.
  • Add it as a browser search keyword so a lookup starts in the address bar.

5. ExifTool — the metadata your files carry (bonus)

ExifTool
Command-line reader and writer for file metadata
Free · open source
https://exiftool.org

This one is more niche than the first four, which is why it belongs as a bonus rather than a core pick. But it produces the most "I had no idea" reaction: files carry far more information than the bytes you can see.

$ exiftool photo.jpg

File Name       : photo.jpg
File Type       : JPEG
Image Width     : 4032
Image Height    : 3024
Make            : Apple
Model           : iPhone 14 Pro
Create Date     : 2026:03:11 18:42:07
Software        : 17.4.1
GPS Latitude    : 12 deg 58' 21.6" N     ← only when the file actually stores it
GPS Longitude   : 77 deg 35' 41.2" E
One command, a surprising amount of output.

GPS coordinates only appear when the capturing device recorded them and nothing stripped them since. That conditional is exactly why the tool matters for anyone shipping user-facing uploads.

When you will actually need it

  • Photo upload pipelines. Strip location and device metadata before storing or serving user images — this is a privacy requirement, not a nice-to-have.
  • Media processing. Read orientation tags so images do not render sideways after a resize.
  • Digital asset management. Extract capture dates and camera data for cataloguing.
  • Incident and forensics work. Establish provenance of a file.
# remove every metadata tag before storing a user upload
exiftool -all= -overwrite_original upload.jpg
The one-liner worth remembering for any upload pipeline.
Do the stripping server-side
Never rely on the client to remove metadata. Run the strip in your ingestion pipeline, after the file lands and before it is stored or served.

7 more free tools worth installing

The five above cover design, utilities, APIs, docs and files. These seven fill the gaps you hit in a normal week.

CyberChef
Chain encoding, encryption, compression and parsing operations
Free · open source
https://gchq.github.io/CyberChef/

Where DevToys gives you one utility at a time, CyberChef lets you build a pipeline: URL-decode, then Base64-decode, then gunzip, then pretty-print JSON — all in one recipe you can save and share. It is the right tool for a mangled payload of unknown shape. Run the offline build for sensitive data.

jq
Command-line JSON processor
Free · open source
https://jqlang.github.io/jq/

Once JSON is in your terminal, jq filters, reshapes and aggregates it without a throwaway script. It composes with curl and log tooling, which is what makes it stick.

curl -s api.example.com/runs \
  | jq '.runs[] | select(.status == "failed") | {id, error, duration_ms}'
Pull just the failing runs out of an API response.
HTTPie
Human-friendly HTTP client for the terminal
Free · open source
https://httpie.io/cli

The terminal counterpart to Hoppscotch. JSON bodies, sane defaults and colourised output without remembering six curl flags.

http POST api.example.com/users name=Upasana role=engineer
A JSON POST without escaping gymnastics.
regex101
Regex tester with live explanation and debugger
Free
https://regex101.com

Its real feature is the right-hand pane that explains each token of your pattern, plus flavour switching between PCRE, JavaScript, Python and Go. Writing regex against a live match set with an explanation beside it turns a guessing game into a readable exercise.

Crontab.guru
Plain-English translation of cron expressions
Free
https://crontab.guru

Type */15 9-17 * * 1-5 and read back "at every 15th minute past every hour from 9 through 17, Monday through Friday". Thirty seconds here prevents a job that silently runs once a month instead of every fifteen minutes.

Meld
Visual diff and three-way merge tool
Free · open source
https://meldmerge.org

For merge conflicts and config drift, a side-by-side visual diff beats reading conflict markers in a terminal. It handles whole-directory comparison too, which is the fastest way to answer "what is different between these two environments?".

DBeaver Community
One SQL client for Postgres, MySQL, SQLite and more
Free · open source
https://dbeaver.io

A single client across every database you touch, with schema browsing, an ER diagram view and query history. The ER view alone is worth it when you inherit a schema nobody documented.

A note on local tunnels
For exposing a local server to a webhook provider, tools like ngrok and Cloudflare Tunnel have usable free tiers. Treat any public tunnel as production-exposed: shut it down when you are done, and never point one at a server holding real data.

Which tool for which problem

ToolSolvesRunsReach for it when
ExcalidrawDiagrams & architectureBrowser / desktopYou are explaining a design to a human
DevToysEveryday conversionsLocal desktopYou would otherwise paste data into a random website
HoppscotchAPI developmentBrowser / desktop / CLIThe endpoint exists but the UI does not
DevDocsDocumentation lookupBrowser / offlineYou need the official answer, fast
ExifToolFile metadataCLIYou handle user uploads or media files
CyberChefMulti-step decodingBrowser / offline buildThe payload is encoded three ways
jqJSON in the terminalCLIThe response is JSON and you want three fields
HTTPieQuick HTTP callsCLIYou want curl without the flags
regex101Pattern buildingBrowserThe regex almost works
Crontab.guruSchedule syntaxBrowserBefore you ship any cron expression
MeldDiff & mergeDesktopConflict markers stopped making sense
DBeaverSQL across enginesDesktopYou touch more than one database

Building your own free toolkit

Do not install all twelve today. Adoption fails when a tool has no attached trigger. Pick the problem that annoyed you most this week and install only that tool, then let the next annoyance choose the next one.

  • Prefer local over web for anything sensitive. Tokens, customer payloads and internal identifiers should not travel to a formatter you found through search.
  • Prefer tools with a CLI. Anything scriptable can eventually run in CI, which is how a manual habit becomes an automated guarantee.
  • Keep artifacts in the repo. Diagram sources, API collections and query snippets belong next to the code they describe.
  • Learn one keyboard shortcut per tool. That single shortcut is usually the difference between a tool you installed and a tool you use.

Tooling will not compensate for weak fundamentals — no diagram tool teaches you where to place a cache, and no API client tells you which consistency guarantee your write path needs. What good tools buy you is the removal of friction, so the time you spend goes into the design decision rather than the mechanics around it.

Keep reading

Suggested next articles based on this one.

Design it, don't just read it.

Practise LLD and system design problems with structured rubrics and AI feedback.

Start practising free