Validators
CSS Validator
Stylesheets parsed and checked against the W3C property grammars
A CSS mistake does not throw an error. The browser drops the declaration it cannot understand and carries on, so a misspelled property (`colour`, `font-wieght`) or a value that does not match its grammar produces a page that is subtly, silently wrong - and looks like a layout bug rather than a typo.
- Free, no signupNo account, no card
- No AI in the score986 deterministic rules
- Nothing publishedYour scans stay yours
- Answers in secondsQuick scan, no browser
Every inline `<style>` block and every linked stylesheet is fetched and parsed by a conformance parser, then each declaration is matched against the formal grammar from the CSS specifications, carried in the same machine-readable form MDN itself is generated from. Three things come out: parse errors, unknown properties, and values that do not match what the property accepts.
It also answers a question validity alone cannot: will this work in your visitors' browsers? Each property is resolved against Baseline, the W3C WebDX group's shared definition of 'safe to use', so you find out that a declaration is valid CSS *and* unsupported in Safari before your customers do.
Why this matters
It looks fine on my screen
You checked the site in your own browser and it looked right. Then a customer sends a screenshot where the header is stacked wrong or the price is white on white, and there is nothing to search for - no error message, no line number, no crash. The only alarm a broken stylesheet ever raises is someone taking the trouble to tell you.
What it costs you when this is wrong
One character unstyles a whole rule
A missing brace or a malformed selector does not fail on its own line. The browser discards the rule around it, so one typo can strip the styling from an entire component while your editor still shows complete, sensible CSS.
The declaration vanishes and the default wins
When a value does not match what the property accepts, the browser throws the declaration away and applies whatever was set before it - usually its own default. The page renders, nothing is logged, and the button is grey because the brand colour was written in a form that property does not take.
Valid CSS that some visitors never receive
A declaration can be flawless by the specification and still be missing from a desktop engine, so a layout that holds together for you collapses for everyone on that browser. You find out from the one visitor who bothers to email, long after the rest have left.
Why run it here
No false errors on modern CSS
Only a genuine grammar mismatch is called a defect. A value the checker cannot evaluate - anything containing var(), or a feature-query condition - is recorded as unchecked rather than reported, which removed 25 false errors on the first real page scanned and seven more from a valid @supports block. The W3C's own service is known to report modern CSS this way.
Browser support, scored with judgement
The W3C service checks conformance and says nothing about whether a property works in your visitors' browsers. Every property declared here is also resolved against Baseline, and a feature that only recently became available everywhere is reported without ever affecting your score, because adopting one is a decision rather than a defect.
You are told what was not checked
Any stylesheet that could not be read is listed with the reason - a timeout, an HTTP error, or the size ceiling. Findings are capped at 25 per kind so one missing brace cannot flood the report, and the real count is carried alongside, so a page with 300 invalid values is never described as having three.
This check runs on its own here, and as part of the full audit alongside the other 985 rules. Either way the findings carry their evidence and their citation, and the report is never published or kept.
How to fix CSS errors
A single malformed declaration does not fail alone. The parser discards the rest of its block, so one typo can silently remove styling you never connected to it.
Fix parse errors before anything else — a missing semicolon or unbalanced brace causes the browser to drop every declaration after it in that block.
Correct invalid property values. An unrecognised value is discarded silently, which is why the symptom is usually 'this style does nothing' rather than an error.
Check vendor prefixes are still needed. Most are not, and stale prefixed properties clutter the sheet while overriding the standard version.
Replace properties with poor support, or provide a fallback declaration immediately before them so older browsers keep the previous value.
Remove rules that no longer match anything after a markup change — dead CSS is downloaded and parsed on every visit.
What happens when you run it
Enter your address
Just the domain is enough — example.com, with or without the https. No account, no card, no crawl of your whole site.
We render it like a visitor
Your page opens in a real browser and JavaScript runs to completion, so what gets audited is the page a person actually sees — not the raw HTML your server sent. A screenshot comes back with the report as evidence of exactly what we measured.
You get findings you can act on
Up to 986 checks run against that rendered page. Each finding names the rule, quotes the evidence found on your page, cites the public specification behind it, and says what to change. Nothing is a judgement call — run it twice on an unchanged page and the score is identical.
What runs this check
- W3C property grammars
- Baseline browser support
Named because provenance is the product. Every finding in your report says which of these produced it, so you can check the reasoning rather than take a score on faith.
Questions
- Does it check my external stylesheets?
- Yes. Linked stylesheets are fetched and parsed alongside inline blocks, up to ten per scan with a 512KB ceiling each - enough for real sites, bounded so one enormous framework bundle cannot dominate a scan.
- Why does it not flag my `var()` declarations?
- Because the parser cannot evaluate a value containing a custom property, and reporting that as an error would fire on essentially every modern site. Where the checker cannot decide, it says nothing rather than guessing - a false error on correct CSS is worse than a missed one.
- What is Baseline?
- The web platform's shared answer to 'is this safe to use yet'. Widely available means supported across Chrome, Edge, Firefox and Safari for over 30 months; newly available means supported everywhere but recently. We only score a gap in a desktop engine - `cursor` is missing from iOS Safari because a touch screen has no pointer, which is not a defect to fix.
Also checks
This page answers these searches too — they are the same job, so they share one page rather than being split across near-identical ones:
- w3c css validator
- css checker
- css syntax checker
- jigsaw css validator
Other checkers
- HTML ValidatorW3C markup conformance, checked by a real parser
- Schema Markup ValidatorJSON-LD parsed, expanded to real schema.org IRIs, and checked
- Rich Results TestWhich search features your structured data qualifies for
- Website Scam DetectorThe trust signals people and payment processors check before believing a site
- AI ValidatorWhether AI models can find, read, quote and operate your site
- Broken Link CheckerEvery link on the page requested, with blocked and broken told apart
- SEO CheckerTitles, meta, canonicals, indexability and internal linking
- Accessibility CheckerTwo WCAG engines — one in a real browser, one on your markup
- Security Headers CheckerResponse headers, CSP quality, and the TLS certificate underneath
- Core Web Vitals CheckerMeasured for real, plus the page-weight causes behind the numbers
- AI Agent Readiness CheckerCan an agent find your buttons, read your labels and finish the task
- W3C ValidatorMarkup and stylesheet conformance in one pass
- Answer Engine CheckerWhether AI answer engines can quote you, and attribute it
- AI Crawler CheckerWhich AI crawlers your robots.txt actually lets in
- SSL Certificate CheckerA real handshake: certificate, expiry, protocol and cipher
- robots.txt CheckerWhat your robots.txt actually allows, group by group
- Meta Tag CheckerTitles, descriptions, canonicals and robots directives
- Open Graph CheckerHow your link looks when someone shares it
- Image SEO CheckerAlt text, dimensions, formats and lazy loading
- Mobile-Friendly TestViewport, tap targets and responsive behaviour
- Website CheckerEvery module, one scan, one prioritised fix list
Run the css validator now
No signup, no credit card. Quick answers in seconds; a full audit takes about a minute.
Run a free scanNo signup. No credit card. Nothing stored but the result.