Free tools for developers
UUID generators, JSON formatters, JWT decoders and more — fast, free, and 100% private. Every tool runs locally in your browser; your data never touches a server.
Search tools
Search for a developer tool
Popular categories
Encoding
16 toolsThe most-searched category on DevTools Hub — URL encoding, decoding, and Base64 conversions.
JWT
8 toolsThe single biggest source of search traffic — decoding claims, checking expiration, and JWT security.
Docker
5 toolsValidate, lint, and visualize Docker Compose files — and make sense of container networking.
Kubernetes
7 toolsValidate manifests, calculate resource requests/limits, and make sense of Kubernetes YAML.
Toolkits
Generators Toolkit
3 toolsIndependent tools for the test data every project eventually needs — unique IDs and placeholder text. All run entirely in your browser.
JSON Toolkit
10 toolsFormat, validate, diff, minify, convert, query, and schema-generate/validate JSON — ten tools for the format everything speaks. All run entirely in your browser.
Encoding Toolkit
16 toolsBase64, URL, HTML, hex, and ASCII encoding and decoding, plus query string and full URL parsing, building, inspection, Unicode analysis, and string-literal escaping — sixteen tools for the encodings that show up constantly in web development. All run entirely in your browser.
Date & Time Toolkit
5 toolsTimestamps, timezones, and cron schedules — five tools for the two date-and-time problems every backend eventually runs into. All run entirely in your browser.
JWT Toolkit
8 toolsEverything for working with JSON Web Tokens, in one place — decode, understand, verify, build, and secure them. All eight tools run entirely in your browser; nothing you paste is ever sent anywhere.
Hashing Toolkit
8 toolsMD5, SHA, checksums, HMAC, and password hashing — eight tools for hashing text, verifying files, and signing messages. All run entirely in your browser.
Regex Toolkit
6 toolsBuild, test, visualize, debug, and escape for JavaScript regular expressions — six tools covering the whole regex workflow. All run entirely in your browser.
SQL Toolkit
6 toolsFormat, validate, minify, diff, index-advise, and explain SQL — six tools covering readability, correctness, schema changes, and performance. All run entirely in your browser.
OpenAPI Toolkit
5 toolsView, validate, diff, and put an OpenAPI/Swagger document to work — five tools covering the full spec lifecycle. All run entirely in your browser.
Docker Toolkit
5 toolsValidate, lint, format, and visualize Docker Compose files and Dockerfiles — five tools covering the whole Docker workflow. All run entirely in your browser.
GitHub Actions Toolkit
4 toolsValidate, visualize, lint, and audit secrets in GitHub Actions workflows — four tools covering correctness and security. All run entirely in your browser.
Environment Toolkit
4 toolsValidate, diff, and convert .env files — four tools for the dotenv format's real parsing rules and the gotchas that fail silently. All run entirely in your browser.
Kubernetes Toolkit
7 toolsValidate, format, calculate resources, diff, explore relationships, and merge or compare Helm values for Kubernetes manifests — seven tools covering correctness, readability, and resource planning. All run entirely in your browser.
YAML Toolkit
2 toolsValidate and format YAML — syntax errors, duplicate keys, parser-version gotchas, and consistent indentation — schema-agnostic, for any YAML file. All run entirely in your browser.
AWS Toolkit
9 toolsParse and build ARNs, generate, review, simulate, and minify IAM policies, validate tag policies, look up Regions, and validate CloudFormation templates — nine tools for everyday AWS work. All run entirely in your browser.
GraphQL Toolkit
2 toolsFormat and validate GraphQL queries, mutations, and SDL schemas with the real reference parser. All run entirely in your browser.
Algorithms Toolkit
8 toolsComputer science fundamentals for practicing engineers — algorithm complexity, performance analysis, and scalability, with interactive tools and practical examples. All run entirely in your browser.
Data Structures Toolkit
4 toolsHow the structures underneath every algorithm actually work — arrays, hash tables, trees, and more, visualized step by step. All run entirely in your browser.
Scalability Toolkit
3 toolsThe numbers behind systems that hold up under load — caching, capacity, and the metrics worth actually tracking. All run entirely in your browser.
Distributed Systems Toolkit
2 toolsTools for the problems that show up once a system spans more than one machine — unique IDs, coordination, and consistency. All run entirely in your browser.
Password Security Toolkit
4 toolsGenerate a strong password, check the strength of one you already have, and define or validate the policy an entire organization follows. All run entirely in your browser.
Latest tools
Password Policy Validator
Paste a password policy's text and check it against NIST SP 800-63B guidance.
Password Policy Generator
Generate a password policy document and check it against NIST SP 800-63B guidance.
Distributed ID Explorer
Compare UUID, ULID, Snowflake, and KSUID side by side — generate, identify, and decode any of them.
ULID Generator
Generate and decode ULIDs — lexicographically sortable, timestamp-embedded unique IDs.
Snowflake ID Generator
Generate and decode Twitter/Discord-style Snowflake IDs — timestamp, machine ID, and sequence.
Throughput Calculator
Estimate system capacity from requests/sec, latency, and instance count, via Little's Law.
Latest articles
View all postsDocker Compose Environment Variables Explained
The project's root .env file doesn't automatically end up inside your container — it's read by the Compose CLI purely to substitute ${VAR} placeholders in docker-compose.yml before parsing. The three distinct mechanisms (.env interpolation, environment:, env_file:), the ${VAR:-default} vs ${VAR-default} syntax most people never learn, precedence, and why build args are a separate lifecycle entirely.
How Docker Compose Overrides Work
"Override" doesn't mean the same thing for every field — a mapping like environment: merges key-by-key, but a list like ports: gets concatenated, not replaced, which is exactly how a port collision or duplicate volume mount shows up after merging files. The three merge behaviors by YAML shape, the !override and !reset tags that force a real replace, file load order, and COMPOSE_FILE's second job for the project .env file.
Docker Compose Volumes Explained
"Does my data survive a restart" depends on which of three different things you used — bind mount, named volume, or anonymous volume — and which exact command you ran. The more surprising part: a bind mount can silently hide what the image actually built, which is exactly why the classic node_modules-disappears-after-bind-mounting problem happens, and the anonymous-volume trick that fixes it.