Developer Tools

Speed up your daily workflow with 18 free developer utilities for encoding, formatting, parsing, generating, and testing common data formats.

From prettifying JSON and decoding JWTs to generating UUIDs, bcrypt hashes, and regex patterns — everything runs entirely in your browser. No scripts, no installs, no data sent to any server.

Encoding & Decoding
Base64 Encoder / Decoder
Encode any text or file to Base64 and decode Base64 strings back to plain text or binary. Supports URL-safe variant.
Use Base64
URL Encoder / Decoder
Encode special characters for safe use in URLs, or decode percent-encoded URL strings back to plain text instantly.
Use URL Encoder
HTML Entities
Encode HTML special characters into entities (&, <, >) or decode them back to plain text for safe output.
Use HTML Entities
Number Base Converter
Convert numbers between binary, octal, decimal, and hexadecimal bases with full step-by-step conversion output.
Use Base Converter
Formatting & Parsing
JSON Formatter
Validate, format, and minify JSON. Prettify messy JSON with syntax highlighting and detailed error detection.
Use JSON Formatter
JSON Unescape & Cleaner
Remove backslashes and clean escaped JSON. Handles stringified, double-escaped, and HTML-entity-encoded JSON.
Use JSON Unescape
JSON Diff
Compare two JSON documents side by side. Highlights added, removed, and changed values with structural diff.
Use JSON Diff
JWT Decoder
Decode and inspect JWT tokens. View header, payload, and signature claims without needing the secret key.
Use JWT Decoder
Regex Tester
Write and test regular expressions with live match highlighting, group capture display, and full flag support.
Use Regex Tester
Timestamp Converter
Convert Unix timestamps to human-readable dates and back. Supports UTC and local timezones.
Use Timestamp Converter
Cron Explainer
Paste any cron expression and get a plain-English description of when it runs, plus the next execution times.
Use Cron Explainer
Color Converter
Convert colours between HEX, RGB, RGBA, HSL, HSLA, and HSV formats with a live colour preview swatch.
Use Color Converter
REST API Checker
Send HTTP requests (GET, POST, PUT, DELETE) with custom headers and body. Inspect response status, headers, and body.
Use REST API Checker
Security & Generation
Password Generator
Generate strong, cryptographically random passwords with customisable length, character sets, and complexity rules.
Use Password Generator
UUID Generator
Generate cryptographically random UUID v4 identifiers. Bulk-generate UUIDs and copy them with one click.
Use UUID Generator
Hash Generator
Generate MD5, SHA-1, SHA-256, and SHA-512 hashes for any input text. Useful for integrity checks and fingerprinting.
Use Hash Generator
Bcrypt Generator
Hash passwords using bcrypt with configurable cost factors. Verify any bcrypt hash against a plain-text password.
Use Bcrypt Generator
Random String Generator
Generate random strings of any length using letters, numbers, symbols, or a fully custom character set.
Use Random String

Free Online Developer Tools

Our developer tools collection helps programmers work faster: encode/decode Base64, URLs, and HTML entities; format and validate JSON; diff JSON documents; decode JWTs; test regular expressions; convert Unix timestamps and number bases; explain cron schedules; convert colours; check REST APIs; and generate passwords, UUIDs, hashes, bcrypt hashes, and random strings — all free, in-browser, no login required.

From the Blog

In-depth technical articles and guides.

View all →
HTML Entities — Encode & Decode Special Characters for Correct, Safe HTML
HTML Entities — Encode & Decode Special Characters for Correct, Safe HTML
Learn what HTML entities are, why they exist, the most common named entities, how numeric entities work for any Unicode character, and when modern UTF-8 pages don't need them — with a free HTML entities tool.
Secure Randomness: Why Math.random() Fails for Security Tokens — and the Right Alternatives
Secure Randomness: Why Math.random() Fails for Security Tokens — and the Right Alternatives
Math.random() in JavaScript is predictable from 128 observations. Python's random module explicitly warns it's not for security. Here's why PRNGs fail for tokens, the secure alternatives in every major language, and the specific bit lengths needed for different security contexts.
Named Capture Groups, Lookahead, and Lookbehind: Modern Regex Features That Make Patterns Readable
Named Capture Groups, Lookahead, and Lookbehind: Modern Regex Features That Make Patterns Readable
Named capture groups turn regex matches from numbered tuples into readable dictionaries. Lookahead and lookbehind assertions match positions without consuming characters. Here's the modern regex feature set — named groups, non-capturing groups, all four assertion types — with practical patterns for log parsing and URL extraction.
Why Your RTC Chip Returns 89 When the Time Is 59 — BCD, Gray Code, and Other Number Encodings in Modern Hardware
Why Your RTC Chip Returns 89 When the Time Is 59 — BCD, Gray Code, and Other Number Encodings in Modern Hardware
Binary-Coded Decimal (BCD) encodes each decimal digit as a 4-bit group — which is why real-time clock chips return 0x59 to mean 59 seconds (not 89), and why hardware with BCD limits constrains values to 0-99 rather than 0-255. Here's BCD in RTC hardware and financial calculations, Gray code's one-bit-change property that prevents rotary encoder errors, and why TCP checksums use one's complement arithmetic.
JSON Parsing in Python, JavaScript, Go, and Ruby: Edge Cases That Cause Real Bugs
JSON Parsing in Python, JavaScript, Go, and Ruby: Edge Cases That Cause Real Bugs
Python's None vs JSON null, JavaScript's integer precision limit at 2^53, Go's strict struct tags, and Ruby's symbolize_names security concern are real production pitfalls. Here's the JSON parsing edge cases in each major language and how they cause bugs at API boundaries.
Reading a UUID: What the Hex Characters Actually Encode — and Why v1 Exposes Your Server's MAC Address
Reading a UUID: What the Hex Characters Actually Encode — and Why v1 Exposes Your Server's MAC Address
A UUID looks random but encodes information depending on its version: v1 embeds the creation timestamp and the generating machine's MAC address (recoverable by anyone who sees the UUID); v4 is genuinely random (122 random bits); v5 is deterministically computed from a namespace and name; v7 is timestamp-ordered with random low bits. Here's what each segment of a UUID actually contains, why v1 is a privacy risk in public-facing contexts, and when UUIDs shouldn't be used as security tokens.
Cron and Daylight Saving Time: Why Your 2:30 AM Job Didn't Run — or Ran Twice
Cron and Daylight Saving Time: Why Your 2:30 AM Job Didn't Run — or Ran Twice
A cron job scheduled for 2:30 AM doesn't run on "spring forward" night, because 2:30 AM doesn't exist that night — and the same job might run twice on "fall back" night, because 2:30 AM happens twice. Here's why this is exactly the time window many maintenance jobs use, why UTC eliminates the problem entirely for most automated jobs, and why "9 AM local time" scheduling that survives DST requires timezone-aware libraries, not static cron expressions.
Your Password Hash Is a Denial-of-Service Amplifier
Your Password Hash Is a Denial-of-Service Amplifier
A deliberately slow hash makes your login endpoint a denial-of-service amplifier. Rate limiting before hashing, dummy hashes for unknown users, and async execution fix it.
UUID v4 vs UUID v7 vs ULID vs NanoID: Which Identifier Format Should You Use?
UUID v4 vs UUID v7 vs ULID vs NanoID: Which Identifier Format Should You Use?
UUID v4's random bits fragment database B-tree indexes, causing write amplification. UUID v7 adds a millisecond timestamp prefix to fix this. ULID is sortable and URL-safe without hyphens. NanoID is compact and customisable. Here's how each works and when to choose each format.
What Developers Still Get Wrong About Password Storage in 2024
What Developers Still Get Wrong About Password Storage in 2024
LinkedIn stored 117 million passwords as unsalted SHA-1 — cracked within days. Adobe used 3DES encryption (reversible) instead of hashing. These are the specific, named password storage mistakes that keep producing data breaches. Here's every common error, why it fails, and the correct modern approach with bcrypt and Argon2.