CSS Formatter

Each selector gets its own block and each declaration its own line.

How CSS Formatter works

Re-indent minified CSS into readable rules and declarations. Each selector gets its own block and each declaration its own line. Everything happens inside this page: the tool reads your input, runs the calculation or conversion locally, and hands the result back to you. Nothing is transmitted, because there is no backend to transmit it to.

That design choice is deliberate. Most free tool sites upload your files to a server, process them there, and quietly keep a copy. Toolcin cannot do that — the site is a set of static files. If your connection dropped the moment the page finished loading, every tool would still work.

One declaration per line

The formatter indents each rule and puts every declaration on its own line, which turns a minified stylesheet into something reviewable. Braces, selectors and comments are preserved.

That is the reverse of the minifier, and the pair is how you read a vendor's stylesheet before overriding it.

What formatting cannot fix

Invalid syntax stays invalid. A missing semicolon can swallow the next declaration, and no formatter will invent one — the output will simply look organised around the error.

@media and @supports blocks are indented as nested blocks; deeply nested rules become wide but remain readable.

InputOutput
.a{color:red;padding:0}one line per declaration
@media (min-width:600px){…}indented block
/* comment */preserved
Missing ;still broken

Practical use

Reading a third-party theme, preparing CSS for a code review, and diffing two versions of a stylesheet where one was minified. Format both first, then compare.

Good to know

  • Works offline once loaded, including on flights and in locked-down networks.
  • No file size limit beyond your device's own memory.
  • Free to use, with no account and no usage counter.
  • Results are produced locally, so they are not logged or shared with anyone.

Questions

Is anything uploaded when I use CSS Formatter?

No. The calculation runs in your browser with JavaScript, so the values you enter never leave your device.

What should I check before relying on the result?

Each selector gets its own block and each declaration its own line. Treat the output as an estimate and verify anything critical independently.

Does it reorder properties?

No, order is preserved.

Does it add vendor prefixes?

No — that is a build step, not a formatter.

Keep going

More developer tools