CSS Validator (Syntax Checker)
Check CSS for syntax errors in your browser: unclosed braces and strings, missing semicolons, unknown properties, bad units and hex colours, by line.
This is a syntax check that runs in your browser, not the W3C CSS Validation Service. Property values are checked for units, hex colours and structure, not against each property's full grammar.
| Line | Column | Severity | Message |
|---|---|---|---|
| 4 | 3 | warning | Unknown property "colr" — did you mean color? |
| 6 | 3 | error | Missing ";" before "padding" — the previous declaration (margin) runs into this one. |
| 10 | 18 | error | Unknown unit "pz" in 8pz — did you mean 8px? |
| 11 | 15 | error | Invalid hex colour #fffff — use 3, 4, 6 or 8 hexadecimal digits (0–9, a–f). |
| 13 | 6 | warning | Unknown pseudo-class :hovr — did you mean :hover? |
A stray brace or a missing semicolon can silently switch off half a stylesheet, because browsers skip what they cannot parse instead of reporting it. This checker reads your CSS the way a browser tokenizes it and lists every problem with its line and column: unclosed braces, strings and comments, missing semicolons, unknown properties (with "did you mean" suggestions), invalid units and hex colours, unitless lengths, empty rules, duplicate properties and misplaced @import or @charset. Modern CSS — nesting, @layer, @container, :has() — is understood.
How to use this tool
- Paste your stylesheet (or a part of it).
- Read the verdict and the table of messages, sorted by line.
- Go to each line and column; errors break parsing, warnings are likely mistakes, notes are tips.
- Choose "Errors only" to focus on what breaks the stylesheet.
Formula
stylesheet → rules → selector { property: value; … }
Severity: an error means browsers drop that declaration or rule (or everything up to the next closing brace); a warning means the CSS parses but is probably not what you meant, such as an unknown property or a duplicate; a note is information only. Vendor-prefixed properties (-webkit-…) and custom properties (--name) are accepted as written.
Example
The sample has 3 errors and 2 warnings: colr on line 4 is an unknown property ("did you mean color?"); margin: 0 on line 5 has no semicolon, so it swallows padding on line 6; 8pz on line 10 has an unknown unit; #fffff on line 11 has five hex digits; and :hovr on line 13 is an unknown pseudo-class. It has 4 style rules, 8 declarations (margin and padding count as one, because they ran together) and one !important.
Frequently asked questions
Is this the W3C CSS validator?
No. It is an independent syntax check that runs in your browser, so nothing is uploaded. It catches the structural mistakes that break stylesheets, but it does not check every value against each property's grammar the way the W3C service does.
Why is an unknown property only a warning?
Browsers ignore declarations they do not understand without breaking the rest of the rule, and new properties appear every year. A warning flags a likely typo without claiming the CSS is broken.
Why does a missing semicolon matter so much?
Without it the next line becomes part of the previous value, so both declarations are invalid and both are dropped. The checker spots a second "name:" inside a value and points at it.
Does it understand Sass or Less?
Only plain CSS. Sass and Tailwind directives such as @mixin or @apply are reported as notes because they must be compiled before a browser can use them.
Sources
Last updated:
Page address with these inputs: https://kakao.mobile/tools/css-validator/
Cite or embed this tool
kakaoCalc. (2026, November 8). CSS Validator (Syntax Checker). https://kakao.mobile/tools/css-validator/
“CSS Validator (Syntax Checker).” kakaoCalc, 8 Nov. 2026, kakao.mobile/tools/css-validator/.
Paste this code into your page. The widget runs in your visitors' browsers, shows no ads and keeps a link back to this page. Embedding terms