Web development

When can I use…

Preview of the 'When can I use' page

A few weeks ago I was trying to find out which browser supported exactly which experimental feature, be it CSS3, HTML5, or something else. I found a couple of useful pages, but nothing quite as detailed as what I was looking for. Since I enjoy graphs, charts, and showing the world how much IE6 really sucks, I went ahead and made what I was looking for.

Thus was born the “When can I use…” page, which shows tables of a variety of current and upcoming web technologies. For all major browsers (Internet Explorer, Firefox, Safari, Opera and Chrome), versions for four different eras (past, present, near and far future).

The page can be customized to show only certain browsers/features/eras, so you have the option to ignore lesser used browsers or for that matter the most used one (it’s a lot of fun to pretend Internet Explorer doesn’t exist). I’ve also included a summary at the bottom of the page, which shows what percentage of the displayed features are supported.

Most features were tested myself, to ensure that the information is accurate. Please let me know if you notice any mistakes. Keep in mind that a “supported” feature may not actually work 100%, as well as the fact that some of the specifications are not set in stone yet, so what may be supported today may not actually work in the future. However, it is likely that in most cases the browser will update its support as the spec changes.

The feature list includes anything I personally feel is of significant use to web designers, but still lacks support in at least one browser version. I am open to adding more features, but only if it’s of significant importance and not just a detailed subset of another feature.

I intend to update the page as new browsers are released, or at the very least once a year. Due to its popularity, the page is updated as soon as new information becomes available.

192 replies on “When can I use…”

I love your site! It is incredibly helpful.

Today, for the first time, I looked for a feature and it wasn’t listed on your site, the javascript Performance Timing and Navigation Timing features (window.performance), so I just thought I’d suggest adding them, although it looks like that may have been suggested already (by Jeff, March 12, 2011).

This site is awesome.

If I may suggest one thing – please change the title on from “Server-Sent DOM Events” to “Server-Sent Events”, which is what is used on and apart from that SSEs are independent of DOM, as stated in the working draft:

“The term DOM is used to refer to the API set made available to scripts in Web applications, and does not necessarily imply the existence of an actual Document object or of any other Node objects as defined in the DOM Core specifications.”

Thanks, Hortsi

Thanks for the hard work. Adding style@scoped to the chart would helpful for when somebody supports it.

First of all, thanks for this great site!

You know what would be awesome? If I could enter an URL and your page would then check what features it uses and so on… 🙂

Official Ecmascript support test by Ecma interantional shows that IE 9 has 99.95% javascript support and chrome 12 about 95% support.

Why is that not reflected in your scores where chrome sees to have better scores than IE.

Why is results for javascript not in line with official javascript testsuite?

Official W3C CSS testsuite also has IE9 outscoring clearly all other browsers in CSS 2.1 support.
Why is contradicting the official W3C testsuite?


I was researching the matchesSelector spec and it’s support. It’s well supported on latest browser versions, but is missed in past browser versions and in Opera it’s still nightly. I didn’t test for mobile support also.

I thinks it’s a nice addition to “when can i use”. I made a link bundle with some references:

Hope it helps!

I know we’re new on the block, and still trying to prove ourselves, but do you think you could include support for Firefox Mobile on the list? I can help fill in blanks if you need.

Comments are closed.