Browser Compatibility Checker — Can I Use

Check browser support for CSS, JavaScript, HTML, and Web API features. Filter by support level across Chrome, Firefox, Safari, and Edge.

Full supportPartialNo support

36 features

CSS

CSS Grid

Two-dimensional grid-based layout system.

Chrome
57+
Firefox
52+
Safari
10.1+
Edge
16+
iOS Safari
10.3+
Android
57+
CSS

Flexbox

One-dimensional layout model for distributing space.

Chrome
29+
Firefox
28+
Safari
9+
Edge
12+
iOS Safari
9+
Android
29+
CSS

Container Queries

Style elements based on the size of their container.

Chrome
105+
Firefox
110+
Safari
16+
Edge
105+
iOS Safari
16+
Android
105+
CSS

:has() Selector

Parent selector that matches if any selector argument matches.

Chrome
105+
Firefox
121+
Safari
15.4+
Edge
105+
iOS Safari
15.4+
Android
105+
CSS

CSS Nesting

Nest style rules inside other rules for better organization.

Chrome
120+
Firefox
117+
Safari
17.2+
Edge
120+
iOS Safari
17.2+
Android
120+
CSS

Subgrid

Allow nested grids to adopt the track sizing of the parent grid.

Chrome
117+
Firefox
71+
Safari
16+
Edge
117+
iOS Safari
16+
Android
117+
CSS

aspect-ratio

Set a preferred aspect ratio for an element.

Chrome
88+
Firefox
89+
Safari
15+
Edge
88+
iOS Safari
15+
Android
88+
CSS

backdrop-filter

Apply graphical effects like blur to the area behind an element.

Chrome
76+
Firefox
103+
Safari
9+
Edge
17+
iOS Safari
9+
Android
76+
CSS

Scroll Snap

Control scroll positions to snap to defined points.

Chrome
69+
Firefox
68+
Safari
11+
Edge
79+
iOS Safari
11+
Android
69+
CSS

gap (flexbox)

Set gaps between flex items without margins.

Chrome
84+
Firefox
63+
Safari
14.1+
Edge
84+
iOS Safari
14.5+
Android
84+
CSS

color-mix()

Mix two colors together in a given color space.

Chrome
111+
Firefox
113+
Safari
16.2+
Edge
111+
iOS Safari
16.2+
Android
111+
CSS

@layer

Declare cascade layers to control specificity ordering.

Chrome
99+
Firefox
97+
Safari
15.4+
Edge
99+
iOS Safari
15.4+
Android
99+
CSS

:is() / :where()

Forgiving selector lists that simplify complex selectors.

Chrome
88+
Firefox
82+
Safari
14+
Edge
88+
iOS Safari
14+
Android
88+
CSS

Individual Transforms

Use translate, rotate, and scale as individual CSS properties.

Chrome
104+
Firefox
72+
Safari
14.1+
Edge
104+
iOS Safari
14.5+
Android
104+
JavaScript

Optional Chaining (?.)

Access nested object properties without null checks.

Chrome
80+
Firefox
74+
Safari
13.1+
Edge
80+
iOS Safari
13.4+
Android
80+
JavaScript

Nullish Coalescing (??)

Return the right operand when the left is null or undefined.

Chrome
80+
Firefox
72+
Safari
13.1+
Edge
80+
iOS Safari
13.4+
Android
80+
JavaScript

Top-level await

Use await at the top level of ES modules.

Chrome
89+
Firefox
89+
Safari
15+
Edge
89+
iOS Safari
15+
Android
89+
JavaScript

structuredClone()

Deep clone JavaScript values including complex types.

Chrome
98+
Firefox
94+
Safari
15.4+
Edge
98+
iOS Safari
15.4+
Android
98+
JavaScript

Array.at()

Access array elements with positive and negative indices.

Chrome
92+
Firefox
90+
Safari
15.4+
Edge
92+
iOS Safari
15.4+
Android
92+
JavaScript

Object.hasOwn()

Check if an object has a property as its own (not inherited).

Chrome
93+
Firefox
92+
Safari
15.4+
Edge
93+
iOS Safari
15.4+
Android
93+
JavaScript

Promise.allSettled()

Wait for all promises to settle regardless of fulfillment or rejection.

Chrome
76+
Firefox
71+
Safari
13+
Edge
79+
iOS Safari
13+
Android
76+
JavaScript

Import Assertions

Assert the type of imported modules (e.g., JSON imports).

Chrome
91*
Firefox
Safari
Edge
91*
iOS Safari
Android
91*
JavaScript

RegExp Lookbehind

Match patterns preceded by another pattern.

Chrome
62+
Firefox
78+
Safari
16.4+
Edge
79+
iOS Safari
16.4+
Android
62+
HTML

<dialog> Element

Native modal and non-modal dialog boxes.

Chrome
37+
Firefox
98+
Safari
15.4+
Edge
79+
iOS Safari
15.4+
Android
37+
HTML

Popover API

Built-in popover behavior with the popover attribute.

Chrome
114+
Firefox
125+
Safari
17+
Edge
114+
iOS Safari
17+
Android
114+
HTML

<details> / <summary>

Native collapsible disclosure widget.

Chrome
12+
Firefox
49+
Safari
6+
Edge
79+
iOS Safari
6+
Android
18+
HTML

loading="lazy"

Native lazy loading for images and iframes.

Chrome
77+
Firefox
75+
Safari
15.4+
Edge
79+
iOS Safari
15.4+
Android
77+
HTML

input type="date"

Native date picker input without JavaScript libraries.

Chrome
20+
Firefox
57+
Safari
14.1+
Edge
12+
iOS Safari
5+
Android
20+
Web APIs

Intersection Observer

Observe when elements enter or leave the viewport.

Chrome
51+
Firefox
55+
Safari
12.1+
Edge
15+
iOS Safari
12.2+
Android
51+
Web APIs

ResizeObserver

Observe changes to the size of an element.

Chrome
64+
Firefox
69+
Safari
13.1+
Edge
79+
iOS Safari
13.4+
Android
64+
Web APIs

Web Share API

Invoke the native sharing mechanism of the device.

Chrome
89*
Firefox
Safari
12.1+
Edge
93*
iOS Safari
12.2+
Android
61+
Web APIs

Clipboard API

Read and write text and data to the system clipboard.

Chrome
66+
Firefox
63+
Safari
13.1+
Edge
79+
iOS Safari
13.4+
Android
66+
Web APIs

Web Workers

Run scripts in background threads.

Chrome
4+
Firefox
3.5+
Safari
4+
Edge
12+
iOS Safari
5+
Android
18+
Web APIs

Service Workers

Proxy network requests for offline support and push notifications.

Chrome
40+
Firefox
44+
Safari
11.1+
Edge
17+
iOS Safari
11.3+
Android
40+
Web APIs

WebAssembly

Run compiled code at near-native speed in the browser.

Chrome
57+
Firefox
52+
Safari
11+
Edge
16+
iOS Safari
11+
Android
57+
Web APIs

View Transitions API

Animated transitions between DOM states or page navigations.

Chrome
111+
Firefox
126+
Safari
18*
Edge
111+
iOS Safari
18*
Android
111+

Browser Compatibility Checker — CSS & JS Feature Support

Check whether specific CSS properties, JavaScript APIs, and HTML features are supported across major browsers. Enter a feature name and see compatibility data for Chrome, Firefox, Safari, Edge, and mobile browsers.

Based on real browser compatibility data, the checker shows support status across current and recent browser versions. Color-coded results make it easy to spot which browsers need fallbacks or polyfills for the features you want to use.

Cross-browser compatibility remains one of web development's persistent challenges. A CSS feature that works perfectly in Chrome might render differently in Safari or not work at all in older Edge versions. Checking compatibility before implementation saves hours of debugging.

After verifying feature support, use our CSS Flexbox Generator or CSS Grid Generator to build layouts with built-in fallbacks. Our Responsive Design Tester lets you preview the actual rendering across different viewports.

For a complete cross-browser development workflow, verify feature support with this tool, test actual layouts across viewport sizes with our Responsive Design Tester, generate compatible CSS layouts with our CSS Flexbox Generator or CSS Grid Generator, and validate your meta tags with our Meta Tag Generator.

How the Browser Compatibility Checker Works

  1. Enter a CSS property, JavaScript API, or HTML feature name
  2. View compatibility data across Chrome, Firefox, Safari, Edge, and mobile browsers
  3. See which browser versions first introduced support
  4. Check the global usage percentage of supported browsers
  5. Get polyfill or fallback recommendations for unsupported browsers

Managing Browser Compatibility

Browser compatibility becomes manageable with a clear support policy. Define which browsers and versions you officially support based on your analytics. For most sites, supporting the last 2-3 versions of major browsers covers 95%+ of visitors. Use progressive enhancement: build a core experience that works everywhere, then add advanced features for capable browsers. CSS @supports queries let you conditionally apply styles based on feature support. For JavaScript APIs, check for feature existence before using them (if ('IntersectionObserver' in window)).

When to Check Browser Compatibility

Check compatibility before using new CSS features (container queries, :has() selector, subgrid), when adopting new JavaScript APIs (View Transitions, Popover API), when debugging layout issues reported in specific browsers, when setting up a project's browser support policy (browserslist configuration), or when evaluating whether to use a polyfill or fallback approach.

Common Use Cases

  • Verify CSS Grid subgrid support before using it in a production layout
  • Check if the Popover API is safe to use without a polyfill
  • Determine browserslist configuration for a new project's build tools
  • Test actual layouts across devices with our Responsive Design Tester Responsive Design Tester — Multi-Device
  • Evaluate whether to use native CSS nesting or continue with a preprocessor

Expert Tips

  • Check your own analytics for your visitors' actual browser distribution — global stats may not match your audience
  • Use @supports in CSS to progressively enhance without breaking older browsers
  • Safari is often the lagging browser for new CSS features — always verify Safari support explicitly
  • Autoprefixer handles vendor prefixes automatically — focus your compatibility checks on feature existence, not prefixes

Frequently Asked Questions

What does 'partial support' mean?
Partial support means the browser implements the feature but with limitations, bugs, or missing sub-features. For example, a browser might support CSS Grid but not the subgrid feature. Always check the specific notes to understand what works and what doesn't.
Should I use polyfills for unsupported features?
It depends on the feature's importance to your user experience and the percentage of visitors using unsupported browsers. A polyfill for a critical feature used by 5% of your visitors may be worthwhile. A polyfill for a decorative feature affecting 0.5% of visitors adds unnecessary weight.
How often does browser support data change?
Browsers release updates every 4-6 weeks. Major new feature support typically arrives in Chrome first, followed by Firefox and Edge (which share some rendering components), with Safari on its own release schedule. Check compatibility data when starting a new project and when updating an existing project's browser support policy.

Related Tools

VultrSponsored

Vultr