How to Format CSS
Beautify CSS with consistent indentation, spacing, and rule ordering.
Problem
Your CSS is minified or inconsistently formatted, making it hard to maintain.
Prerequisites
- Understanding of CSS syntax
- Familiarity with selectors and properties
Steps
-
1. Parse the CSS rules
The formatter parses selectors, declarations, at-rules, and comments. It identifies the structure to apply consistent formatting. Invalid CSS may cause parsing errors.
Inputbody{margin:0;padding:0}Outputparsed rules -
2. Apply formatting conventions
Place each declaration on a new line with a semicolon. Indent declarations inside their rule. Add spaces after colons and before opening braces. Sort properties if desired (alphabetical or by category).
Inputbody{margin:0;padding:0}Outputbody {\n margin: 0;\n padding: 0;\n} -
3. Handle nested and at-rules
Modern CSS and preprocessors support nesting and at-rules like @media. Indent nested rules to reflect their hierarchy. Preserve the order of at-rules and their contents.
Input@media(min-width:768px){.x{color:red}}Outputproperly nested format
Expected result
Readable CSS with consistent indentation, spacing, and optional property sorting.
Common errors
- Formatter breaks vendor prefixes
- Ensure the formatter preserves vendor-prefixed properties (-webkit-, -moz-). Some formatters strip them; configure to keep them.
- Nested syntax not supported
- Use a formatter that supports CSS nesting or your preprocessor syntax (Sass, Less).
Troubleshooting
- If the formatted CSS behaves differently, check for altered specificity or reordered properties that rely on cascade order.
- Comments should be preserved; if they disappear, switch formatters.
Security limits
- Formatting CSS is safe. CSS cannot execute code, though CSS-based exfiltration attacks exist in content injection contexts.
Related tools
Related tasks
Ready to run it?