Example
Input (minified CSS)
.btn{padding:8px 16px;border-radius:6px;background:#5b21b6;color:#fff}.btn:hover{background:#4c1d95}Output (formatted)
.btn {
padding: 8px 16px;
border-radius: 6px;
background: #5b21b6;
color: #fff;
}
.btn:hover {
background: #4c1d95;
}Note
Selectors, media queries, and @keyframes all get indented. CSS-in-JS inline styles require a different tool.
Usage / FAQ
When to use
- Restore readability for minified CSS bundles (Tailwind, CSS-in-JS, …)
- Tidy CSS before pasting into issues or Slack
- Visualize nested rules: media queries, @keyframes
- Indent one-liner CSS produced by an AI
- Use minify mode for a first-pass production compress
FAQ
- Q.Does selector or property order change?
- A.No. Only whitespace and indentation change — semantics are 100% preserved.
- Q.Does it handle SCSS or Less?
- A.Best-effort for plain CSS only. Advanced syntax like SCSS `&`, `@if`, or functions may be wrong — use a dedicated SCSS formatter (prettier) instead.
- Q.Is my CSS sent anywhere?
- A.No. Everything runs in the browser.
Fun facts
CSS was first proposed to the W3C in 1994 by Norway's Håkon Wium Lie (at CERN at the time, later CTO of Opera). Together with Bert Bos, he finalized CSS Level 1 in 1996. The simple idea of 'separate document structure (HTML) from presentation (CSS)' became the standard paradigm of web design.
W3C — CSSStarting with CSS3, the spec stopped being a single document and became **modular** — Selectors Level 4, Grid Layout, Flexbox, and the rest each evolve independently. That's why 'CSS4' doesn't officially exist — every module carries its own version.
W3C — CSS current workDuring the late-1990s 'browser wars,' IE and Netscape raced to ship non-standard CSS extensions, making compatibility a nightmare. One reason CSS's cascade and specificity rules look so complex today: they handle the chaotic diversity of that era consistently.
Wikipedia — Browser wars
Related tools
- JSON Formatter / Validator
Format, validate, and minify JSON strings. Adjust indent and optionally sort keys. Runs entirely in your browser.
- String Case Converter
Convert strings between camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, and Title Case — all six cases shown side-by-side.
- Regex Tester
Test JavaScript regular expressions with live match results. Supports g/i/m/s/u/y flags and capture groups.
- Markdown Preview
Render Markdown to HTML side-by-side. Supports CommonMark + GFM (tables, fenced code, task lists). marked is lazy-loaded.
- HTML → Markdown
Convert HTML into Markdown. Headings, lists, links, code, tables, blockquotes. Uses the browser's DOMParser — accurate, 0 dependency.
- YAML ↔ JSON
Convert between YAML and JSON. Tolerates comments and multiline strings on the YAML side. yaml is lazy-loaded.
- Text Diff
Compare two texts and highlight added/removed lines, words, or characters.
- JSON Diff
Compare two JSON values, with optional key sorting and JSON-aware error messages.
- CSV ↔ JSON
Convert between CSV and JSON. Handles quoted fields, custom delimiters, and header rows.
- SQL Formatter
Format SQL queries with proper indentation and keyword casing. Supports PostgreSQL, MySQL, SQLite, and standard dialects.
- XML Formatter
Pretty-print or minify XML with attribute preservation. Handles SOAP, sitemaps, and config files.
- XML ↔ JSON
Convert between XML and JSON with attribute and element handling.
- Smart Paste
Paste any text and get tool recommendations — JSON, JWT, Base64, URL, UUID, Cron, and 9 more types auto-detected.
- Lorem Ipsum
Generate placeholder text in words, sentences, or paragraphs. Classic Lorem Ipsum or randomized.
- JSON Path
Query JSON with JSONPath expressions ($.store.book[*].author etc.) and inspect matches.
- JSON Schema Validator
Validate JSON data against a JSON Schema (Draft 2020-12). Powered by Ajv with format support.
- JSON Schema Generator
Generate a JSON Schema (Draft 2020-12) from a sample JSON. Infer types, required fields, and nested structures automatically.
- HTML Formatter
Beautify or minify HTML with proper indentation, attribute alignment, and configurable wrap.
- JavaScript Formatter
Beautify or minify JavaScript with brace style and indent options. Powered by js-beautify.
- TOML ↔ JSON
Convert between TOML (Tom's Obvious Minimal Language) and JSON. Used in Cargo.toml, pyproject.toml, etc.
- INI ↔ JSON
Convert INI configuration to JSON and back. Supports sections, comments (; or #), and key=value.
- JSON → TypeScript
Generate TypeScript interfaces from a JSON sample. Nested objects become separate interfaces.
- JS Object → JSON
Convert a JavaScript object literal (unquoted keys, single quotes, trailing commas, comments) into standard JSON. Lenient parser, strict output.
- Slug Generator
Convert text into a URL-safe slug. Configurable separator, lowercase, and accent stripping.
- ASCII Tree
Convert indented text or path list into a box-drawing tree (├── │ └──).
- Diff Patch
Generate a unified diff (-u) patch from two text inputs. Compatible with `git apply` / `patch -p0`.
- Mock Data
Generate fake JSON records — names, emails, UUIDs, dates, and more. 0 dependency.
- MongoDB Extended JSON
Convert MongoDB Extended JSON (EJSON) between Canonical and Relaxed forms, or strip BSON wrappers to plain JSON. Recognizes 16 wrapper types ($oid/$date/$numberLong/$numberDecimal/$binary/...).