CSS Baseline Checker
Paste your CSS and check every property, selector, and at-rule against 658 hand-verified Baseline records. Pick a target and see exactly what is safe to ship today.
What it is
The CSS Baseline Checker tells you whether the CSS you write is safe to ship today. Paste a stylesheet, pick the level of support you need, and it flags every property, selector, and at-rule that does not meet your target.
It runs against 658 browser-support records that are checked by hand against MDN and caniuse, not scraped or guessed. Each result links back to a snippet or reference page so you can see how the feature works and what to use instead when support is thin.
What Baseline means
Baseline is a shared status for how broadly a web feature is supported across the major browsers. Every feature here falls into one of three groups:
- Widely available means the feature has worked across all major browsers for at least two and a half years. Safe to ship without fallbacks.
- Newly available means it works in all major browsers now, but only recently. Fine for most projects, with care for older devices.
- Limited support means at least one major browser does not support it yet. Use a fallback or wait.
To see the per-feature picture across Chrome, Firefox, Safari, and Edge, use the browser support checker. For features that have just reached Baseline, see what is new on the CSS Baseline.
Who it is for
It is built for front-end developers who want a fast answer to one question: can I use this in production right now, for the browsers I care about? Instead of opening caniuse for every line, you check the whole file at once.
How it works
This tool parses the properties, selectors, and at-rules in your CSS and matches each one against 658 hand-verified Baseline records (518 properties, 119 selectors, 21 at-rules). For each feature it shows the Baseline status, the year it became widely supported where available, and whether it passes the target you picked.
Version 1 checks at the property, selector, and at-rule level.
It does not yet check support for specific values or functions
(for example, it knows display but not whether
display: grid differs from display: flex). Tokens
not in the dataset are reported as unknown rather than silently passed.