Developer Tools
Format, encode, hash, generate, and inspect data with focused browser utilities.
Browse developer tools
Choose a focused tool and get the result directly in your browser.
Base64 Encoder & Decoder — Encode Text Online
Encode or decode text with Base64.Hash Generator — MD5, SHA-1, SHA-256 & SHA-512
Generate MD5, SHA-1, SHA-256, and SHA-512 hashes.UUID Generator — Create Random UUID v4 Online
Generate secure random UUID v4 values.URL Encoder & Decoder — Encode Query Strings
Encode or decode URL text and query values.JWT Decoder — View JSON Web Token Payload
Decode JWT headers and payloads locally.XML Formatter — Format, Validate & Minify XML
Format, validate, and minify XML.CSS Formatter
Indent CSS while preserving modern syntax.HTML Entity Encoder / Decoder
Encode or decode HTML entities in any text.HTML Formatter
Indent HTML source without rendering it.JSON Diff Checker
Compare two JSON documents and see what changed.JSON Escape / Unescape
Escape or unescape JSON string values in one click.JSON Schema Validator
Validate JSON against a JSON Schema draft locally.JSON Sort Keys
Sort the keys of any JSON object alphabetically.JSON Validator
Check JSON syntax and structure locally.Markdown to HTML Converter
Turn Markdown into clean HTML with a live preview.Number Base Converter
Convert numbers between binary, octal, decimal, and hex.Regex Tester
Test JavaScript regular expressions safely.Slug Generator
Create SEO-friendly URL slugs from any text.SQL Formatter
Format SQL for common database dialects.Text Diff Advanced
Compare two texts with line, word, or character diff.Timestamp Converter
Convert Unix timestamps and UTC dates.URL Parser
Break any URL into protocol, host, path, query parameters, and more.UUID v7 Generator
Generate time-ordered, sortable UUID v7 values.UUID Validator
Validate UUIDs and detect their version and variant.XML to JSON Converter
Convert XML documents into clean JSON instantly.YAML Validator
Check YAML 1.2 syntax and structure.The JSON toolchain
JSON is the largest family here because debugging it breaks into distinct questions. Is it syntactically valid? What does it look like once indented? Does it match the contract it is supposed to satisfy? How does it differ from the response you got yesterday?
Formatting answers the second question and is where most sessions start: a minified payload from a network tab becomes readable, and reformatting it as minified again strips the whitespace back out before you paste it somewhere size-sensitive. Validation answers the first, and pointing at the offending line beats staring at a wall of braces.
Schema validation answers the third. The validator detects the draft from the $schema keyword and applies draft-appropriate behavior, covering draft-04 through 2019-09, which matters because keywords like exclusiveMinimum changed meaning between drafts. Comparing two documents answers the fourth, and sorting keys alphabetically first makes a diff far quieter when the only real change is buried in inconsistent key order.
Encoding, decoding, and reading tokens
Encoding problems announce themselves as corruption. A query parameter truncated at an ampersand needs URL encoding. A plus sign arriving as a space means it was never encoded. Text rendering as literal markup, or markup rendering as text, is an HTML entity problem in one direction or the other.
Base64 is not encryption and should never be relied on as such — it is a way to move bytes through a channel that only tolerates text, which is why it turns up in data URLs, email attachments, and config values.
A JWT is three Base64url segments separated by dots, and the middle one is a readable JSON payload. Decoding it locally shows the claims, the issuer, and the expiry, which is usually all you need to work out why an API is returning 401. Decoding is not verification: reading a token tells you what it asserts, not whether its signature is valid, and a decoder should never be handed a production token you would not otherwise paste into a browser tab.
Identifiers and checksums
UUID version 4 is random, which is exactly what you want for an identifier that should leak nothing about when or where it was made. That randomness is also its weakness as a database key: consecutive inserts land in unrelated index positions.
Version 7 fixes that by putting a timestamp in the high bits, so values generated in sequence sort in creation order while staying practically unguessable. If you are choosing a primary key today, v7 is usually the better default; if you are replacing an identifier in an existing system, match what is already there.
Hashes answer a different question: whether two things are byte-for-byte identical. MD5 and SHA-1 still appear in checksum listings and are fine for detecting accidental corruption, but both are broken against a deliberate attacker and should not be used to prove a file was not tampered with. Prefer SHA-256 when the answer has to hold up. The developer set is not walled off from the rest of the site either, so the same directory that lists these also lists the image, PDF, and text utilities that turn up in the same afternoon.
Markup, configuration, and query languages
JSON is not the only format that arrives unreadable. XML, YAML, and TOML each have their own validators and formatters here, and each fails in its own characteristic way: XML on unclosed tags and mismatched namespaces, YAML on indentation and tab characters, TOML on nested table syntax.
SQL and CSS formatters cover the same need for query and stylesheet source, and an HTML formatter indents markup without rendering it, which matters when you are inspecting a template rather than viewing a page.
The remaining utilities are the small ones you reach for repeatedly: testing a regular expression against sample input before committing it, converting a Unix timestamp into a date you can read, switching a value between binary, octal, decimal, and hexadecimal, and turning a title into a URL-safe slug.
Explore other categories
Find more private tools for files, text, development, and everyday work.