Index

CSS

  1. ::first-letter CSS pseudo-element selector
  2. ::placeholder CSS pseudo-element
  3. ::selection CSS pseudo-element
  4. :in-range and :out-of-range CSS pseudo-classes
  5. :matches() CSS pseudo-class
  6. @font-face Web fonts
  7. Blending of HTML/SVG elements
  8. calc() as CSS unit value
  9. 2.1 selectors
  10. all property
  11. Animation
  12. Appearance
  13. background-attachment
  14. background-blend-mode
  15. background-position edge offsets
  16. box-decoration-break
  17. clip-path property
  18. Counter Styles
  19. Counters
  20. currentColor value
  21. Device Adaptation
  22. element() function
  23. Exclusions Level 1
  24. Feature Queries
  25. Filter Effects
  26. filter() function
  27. font-feature-settings
  28. font-size-adjust
  29. font-stretch
  30. font-variant-alternates
  31. Generated content for pseudo-elements
  32. Gradients
  33. Grid Layout
  34. Hyphenation
  35. initial value
  36. inline-block
  37. Masks
  38. min/max-width/height
  39. outline
  40. page-break properties
  41. position:fixed
  42. Regions
  43. Repeating Gradients
  44. resize property
  45. revert value
  46. Scroll snap points
  47. Shapes Level 1
  48. Table display
  49. text-justify
  50. touch-action property
  51. unset value
  52. user-select: none
  53. Variables (Custom Properties)
  54. widows & orphans
  55. will-change property
  56. writing-mode property
  57. 2D Transforms
  58. 3D Transforms
  59. Background-image options
  60. Border images
  61. Border-radius (rounded corners)
  62. Box-shadow
  63. Box-sizing
  64. Colors
  65. Cursors (original values)
  66. Cursors: zoom-in & zoom-out
  67. font-kerning
  68. image-orientation
  69. Media Queries
  70. Multiple backgrounds
  71. Multiple column layout
  72. object-fit/object-position
  73. Opacity
  74. Overflow-wrap
  75. selectors
  76. tab-size
  77. text-align-last
  78. Text-overflow
  79. Text-shadow
  80. Transitions
  81. word-break
  82. OM Scroll-behavior
  83. Flexible Box Layout Module
  84. Font unicode-range subsetting
  85. Intrinsic & Extrinsic Sizing
  86. letter-spacing CSS property
  87. Media Queries: interaction media features
  88. Media Queries: resolution feature
  89. rem (root em) units
  90. text-decoration styling
  91. text-emphasis styling
  92. TTF/OTF - TrueType and OpenType font support
  93. Viewport units: vw, vh, vmin, vmax
  94. :default CSS pseudo-class
  95. :indeterminate CSS pseudo-class
  96. :placeholder-shown CSS pseudo-class
  97. background-position-x & background-position-y
  98. Crisp edges/pixelated images
  99. Backdrop Filter
  100. Canvas Drawings
  101. Cross-Fade Function
  102. font-smooth
  103. image-set
  104. line-clamp
  105. Logical Properties
  106. Motion Path
  107. pointer-events (for HTML)
  108. position:sticky
  109. Reflections
  110. scrollbar styling
  111. text-size-adjust
  112. text-stroke
  113. zoom
  114. Improved kerning pairs & ligatures
  115. selector list argument of :nth-child and :nth-last-child CSS pseudo-classes
  116. All CSS features

JS API

  1. Ambient Light API
  2. Arrow functions
  3. Base64 encoding and decoding
  4. Basic console logging functions
  5. Battery Status API
  6. Beacon API
  7. Blob constructing
  8. Blob URLs
  9. BroadcastChannel
  10. Channel messaging
  11. Clipboard API
  12. const
  13. Cross-document messaging
  14. Cross-Origin Resource Sharing
  15. crypto.getRandomValues()
  16. CSS Font Loading
  17. CSS.supports() API
  18. CustomEvent
  19. DeviceOrientation & DeviceMotion events
  20. Document Object Model Range
  21. DOM Parsing and Serialization
  22. ECMAScript 5
  23. Element.getBoundingClientRect()
  24. Element.insertAdjacentHTML()
  25. ES6 Number
  26. Fetch
  27. FIDO U2F API
  28. File API
  29. FileReader API
  30. Full Screen API
  31. Gamepad API
  32. Geolocation
  33. getUserMedia/Stream API
  34. Hashchange event
  35. High Resolution Time API
  36. IndexedDB
  37. Input Method Editor API
  38. Internationalization API
  39. JSON parsing
  40. let
  41. matches() DOM method
  42. matchMedia
  43. maxlength attribute for input and textarea elements
  44. Media Source Extensions
  45. Mutation Observer
  46. Navigation Timing API
  47. Object RTC (ORTC) API for WebRTC
  48. Online/offline status
  49. Page Visibility
  50. PageTransitionEvent
  51. Pointer events
  52. PointerLock API
  53. Promises
  54. Proximity API
  55. Proxy object
  56. Push API
  57. requestAnimationFrame
  58. Resource Timing
  59. Rest parameters
  60. Screen Orientation
  61. scrollIntoView
  62. Server-sent events
  63. Service Workers
  64. Shared Web Workers
  65. Touch events
  66. Typed Arrays
  67. User Timing API
  68. Vibration API
  69. Web Animations API
  70. Web Audio API
  71. Web Cryptography
  72. Web MIDI API
  73. Web Notifications
  74. Web Sockets
  75. Web Storage - name/value pairs
  76. Web Workers
  77. WebRTC Peer-to-peer connections
  78. XMLHttpRequest advanced features
  79. Document.execCommand()
  80. Efficient Script Yielding: setImmediate()
  81. Filesystem & FileWriter API
  82. Network Information API
  83. Object.observe data binding
  84. Permissions API
  85. Speech Recognition API
  86. Speech Synthesis API
  87. Web Bluetooth
  88. Web SQL Database
  89. All JS API features

Tables

About

"Can I use" provides up-to-date browser support tables for support of front-end web technologies on desktop and mobile web browsers.

The site was built and is maintained by Alexis Deveria, with occasional updates provided by the web development community. The design used as of 2014 was largely created by Lennart Schoors.

FAQ

May I use your data in my presentation/article/site, etc?

Yes, the support data on this site is free to use under the CC BY 4.0 license.

Is there a way to see the support data in colors other than red/green?

Yes, you can enable accessible colors from this link or from the option under Settings. This color scheme will be used again on revisit.

Do you have the data available in a raw format?

Yes, the raw support data is available on GitHub and is updated regularly.

Could you add feature X to the site?

Adding features takes quite some time and there are many requests for additions. Because of this I use GitHub issues to manage requests. Feel free to add/vote for your feature there.

If you've done the research yourself already, you can also submit a feature on GitHub.

Could you cover email clients too so I can see what I can use in HTML emails?

That certainly sounds useful, but for now I only intend to take on web browser support.

Which features do you choose to add to this list?

I use the following criteria:

  1. Useful to web designers/developers
  2. Likely to be eventually implemented by the majority of browsers
  3. Not already fully supported in even old browsers. These features can be made searchable but will not include support tables.

Most features are added in priority order from this list.

How do you test support?

I use a hand-crafted test suite to test features, which tests for basic support of each feature.

The test suite is publicly available at tests.caniuse.com.

Where do you get your information for upcoming versions?

Most information comes directly from the latest developer/preview/nightly builds.

When is a feature considered "supported"?

When its primary purpose is largely fulfilled. It does not mean it's 100% supported, just that it's usable in most cases.

How often is this page updated?

I try to keep it as current as possible, with new information being usually being processed within a few days. Follow the feed if you'd like keep up with all the changes made.

Legend

  • Green = Supported
  • Red = Not supported
  • Greenish yellow = Partial support
  • Gray = Support unknown

*Global usage share statistics based on data from StatCounter GlobalStats for March, 2016. See the browser usage table for usage by browser version.