DataDesignTools
All tools run in your browser · Free to use
Free · Fast · Runs entirely in your browser

Developer
data tools
done right.

JSON formatting, JSONPath queries, Base64 encoding, SQL formatting, HTML preview and more — all free, all instant, right in your browser.

10
Tools
100%
Free
0ms
Setup
∞
Always on
// tools

Everything you need — all in your browser

JSON, SQL, Base64, HTML — instant tools built for developers. Fast, free, and always available.

↗
{ }
JSON Formatter

Format, minify, sort keys, escape and stringify JSON. Dual-panel with live tree view.

▶ FormatPretty-print with 2sp, 4sp, or tab indent
⊡ MinifyCollapse to a single line, strip all whitespace
A↑ SortSort every key alphabetically A→Z or Z→A
⚕ RepairFix trailing commas, single quotes, unquoted keys, strip junk outside JSON
✦ CleanStrip HTML tags, <script> blocks, JS injections from all string values
⬡ TreeCollapsible visual tree view of your JSON structure
FormatSortTreeValidate
↗
$.
JSONPath Evaluator

Query JSON with path expressions. Results update live as you type.

$.a.b.cDot and bracket notation to navigate any depth
$..fieldRecursive descent — find a key anywhere in the tree
[*]Wildcard — select all elements of an array or object
?(@.x > 5)Filter expressions to match values by condition
Live evalResults update automatically as you type, 120ms debounce
QueryFilterLive
↗
◎
JSON → TOON

Convert JSON to Token-Optimized Object Notation. Save 30–60% on LLM token usage.

null → ~Null represented as a single character
true → TBooleans shrink from 4–5 tokens to 1
No { }Object braces removed — structure inferred from indentation
* per itemArrays use a * prefix instead of [ ] brackets
Cost tablePer-model token & cost savings breakdown vs formatted JSON
TOONLLMOptimize
↗
⇆
JSON Diff

Compare two JSON objects side-by-side. See exactly what was added, removed or changed with full JSON paths.

⇆ Side-by-sideTwo Monaco editors — paste or type JSON in each panel
+ AddedAll keys present in B but not in A, with their values
− RemovedAll keys present in A but missing from B
~ ChangedValues that differ between A and B with old → new display
JSON pathsEvery difference shown with its full $.path.to.field location
⎘ Copy reportExport a plain-text diff summary to clipboard
DiffCompareDelta
↗
↕
Escape / Stringify

Escape and unescape strings. Stringify and parse JSON with character diff.

EscapeAdd JSON escape sequences — quotes, newlines, tabs, backslashes
UnescapeRemove JSON escape sequences and restore original text
StringifyDouble-encode JSON as a string literal for embedding in code
UnstringifyParse a double-encoded JSON string back to formatted JSON
Char diffShows how many characters were added or removed by the operation
EscapeStringifyParse
↗
64
Base64 Encoder

Encode and decode Base64 and URL-safe Base64. Full Unicode support.

EncodeConvert any text or binary content to Base64
DecodeConvert Base64 back to readable text
URL-SafeReplaces + → -, / → _, strips = padding for use in URLs
⇄ SwapInstantly reverse the operation — output becomes new input
UnicodeFull UTF-8 support including emoji and non-Latin scripts
Base64EncodeDecodeURL
↗
%
URL Encoder / Decoder

Encode and decode URLs using encodeURIComponent / decodeURIComponent.

EncodeConvert special chars to %XX percent-encoded sequences
DecodeConvert %XX sequences back to readable text
⇄ SwapMove output back to input for chaining operations
UnicodeFull UTF-8 support including emoji and non-Latin scripts
URLEncodeDecode
↗
gz
Gzip ⇄ Text

Compress text to gzip or decompress gzip back to text. Base64 or Hex output.

CompressGzip any text and get the result as Base64 or Hex
DecompressPaste Base64 / Hex gzip data and read the original text
Formatsgzip, zlib (deflate) and raw deflate
.gz filesOpen a .gz file to decompress it, or download compressed output
RatioShows raw vs compressed size and % saved
GzipCompressDecompress
↗
⬡
SQL Formatter

Format and syntax-highlight SQL queries. Minify, uppercase and lowercase keywords.

▶ FormatBreak query onto multiple lines with proper keyword alignment
⊡ MinifyCollapse formatted SQL back to a single line
↑ UpperConvert all keywords to UPPERCASE
↓ LowerConvert all keywords to lowercase
Auto modeFormat automatically as you type with the Auto checkbox
SQLFormatHighlight
↗
</>
HTML Preview

Live sandboxed preview with desktop, tablet (768px) and mobile (375px) viewports.

DesktopFull-width live preview — see exactly how the page renders
Tablet 768pxPreview at tablet breakpoint in a framed viewport
Mobile 375pxPreview at iPhone-sized mobile breakpoint
↗ New TabOpen current HTML in a real browser tab
↓ DownloadSave the current HTML as an .html file
LocalRendered in your browser — your HTML is never uploaded
HTMLPreviewResponsive
// guides

How to use our tools

Step-by-step instructions for every tool on DataDesignTools.

JSON Formatter

The JSON Formatter lets you beautify, minify, sort and validate any JSON document instantly in your browser.

  1. Paste your JSON into the left editor panel, or click Paste to read from your clipboard.
  2. Click Format to pretty-print with 2-space indentation, or choose 4-space or tab from the indent dropdown.
  3. Use Minify to collapse the JSON to a single line — useful for API payloads or environment variables.
  4. Click Sort to sort all object keys alphabetically, making large documents easier to diff manually.
  5. If your JSON is broken (trailing commas, single quotes, unquoted keys), click Repair to auto-fix it.
  6. Switch to the Tree tab on the right panel to see a collapsible visual tree of your JSON structure.
$.

JSONPath Evaluator

JSONPath is a query language for JSON, similar to XPath for XML. Use it to extract values, filter arrays, and navigate nested structures.

  1. Paste your JSON document into the left panel.
  2. Type a JSONPath expression in the path input field. The result updates automatically as you type.
  3. Use $ to refer to the root of the document.
  4. Use $.user.name to access a nested property.
  5. Use $.users[*].email to select a field from every element in an array.
  6. Use $.items[?(@.price > 10)] to filter array elements by a condition.
  7. Use $.. (recursive descent) to find a key at any depth, e.g. $..id.
⇆

JSON Diff

JSON Diff compares two JSON documents and shows exactly what changed — added keys, removed keys, and modified values — with full JSON path references.

  1. Paste your original JSON into the JSON A panel (left) and the updated JSON into JSON B panel (right).
  2. Click Compare. Both documents are formatted and compared automatically.
  3. The diff results appear at the bottom. Green rows are additions, red rows are removals, amber rows are changes.
  4. Each result shows the full JSON path (e.g. $.user.address.city) so you can locate any change instantly.
  5. Click any result row to scroll the diff view to that line and highlight it.
  6. Use Edit to return to the editors and adjust your JSON without losing your input.
  7. Click Copy Report to export a plain-text summary of all differences.
⬡

SQL Formatter

The SQL Formatter cleans up messy SQL queries with proper indentation, keyword casing, and syntax highlighting.

  1. Paste your SQL query into the editor, or type directly.
  2. Click Format to break the query onto multiple lines with keyword alignment.
  3. Use Upper or Lower to normalise keyword casing (e.g. SELECT vs select).
  4. Click Minify to collapse the query back to a single line.
  5. Enable Auto to format automatically as you type.
64

Base64 Encoder / Decoder

Base64 is an encoding scheme that converts binary or text data to a safe ASCII string. It is commonly used in authentication headers, data URIs, and email attachments.

  1. Paste your text into the input panel.
  2. Click Encode to convert it to Base64, or Decode to reverse a Base64 string back to text.
  3. Use URL-Safe mode to replace + with - and / with _ — required for use in URLs and JWT tokens.
  4. Click Swap to instantly move the output back to the input for chaining operations.
  5. Full Unicode support: emoji and non-Latin scripts encode correctly.
↕

Escape / Stringify

This tool handles JSON string escaping — useful when embedding JSON inside another JSON string, or when preparing text for inclusion in code.

  1. Escape adds JSON escape sequences: quotes become \", newlines become \n, tabs become \t.
  2. Unescape removes those escape sequences and restores the original text.
  3. Stringify double-encodes a JSON value as a quoted string literal, ready to embed inside another JSON document.
  4. Unstringify parses a double-encoded JSON string back to formatted JSON.
◎

JSON → TOON

TOON (Token-Optimised Object Notation) compresses JSON into a compact format that uses far fewer tokens when sent to LLMs like GPT or Claude, saving cost.

  1. Paste your JSON into the left panel.
  2. The TOON output appears automatically on the right — null becomes ~, true becomes T, false becomes F.
  3. Object braces { } are removed; structure is inferred from indentation.
  4. Arrays use a * prefix per item instead of [ ] brackets.
  5. Check the cost table below the output to see estimated token and cost savings per model.
  6. Click Copy TOON to copy the compact output for use in your LLM prompt.
</>

HTML Preview

The HTML Preview tool renders your HTML live in a sandboxed iframe so you can see exactly how it looks across desktop, tablet, and mobile viewports.

  1. Paste or type your HTML into the editor panel.
  2. The preview updates automatically as you type.
  3. Use the Desktop button for full-width rendering.
  4. Click Tablet (768px) to preview at a tablet breakpoint.
  5. Click Mobile (375px) to preview at iPhone-sized width.
  6. Click ↗ New Tab to open the current HTML in a real browser tab, or ↓ Download to save it as an .html file.
%

URL Encoder / Decoder

URL encoding converts special characters into %XX percent-encoded sequences safe for use in URLs, query strings, and API requests.

  1. Paste your text or URL into the input panel on the left.
  2. Click Encode to convert special characters — spaces become %20, & becomes %26, etc.
  3. Click Decode to reverse a percent-encoded string back to readable text.
  4. Use ⇄ Swap to move the output back to the input for chaining — e.g. decode then re-encode.
  5. Full Unicode support: emoji and non-Latin scripts are correctly encoded.
// faq

Frequently asked questions