Index

CSS

  1. ::first-letter CSS pseudo-element selector
  2. ::placeholder CSS pseudo-element
  3. ::selection CSS pseudo-element
  4. :dir() CSS pseudo-class
  5. :has() CSS relational pseudo-class
  6. :in-range and :out-of-range CSS pseudo-classes
  7. :matches() CSS pseudo-class
  8. :placeholder-shown CSS pseudo-class
  9. @font-face Web fonts
  10. Blending of HTML/SVG elements
  11. calc() as CSS unit value
  12. ch (character) unit
  13. 2.1 selectors
  14. ::marker pseudo-element
  15. :read-only and :read-write selectors
  16. all property
  17. Animation
  18. Appearance
  19. background-attachment
  20. background-blend-mode
  21. background-position edge offsets
  22. background-repeat round and space
  23. box-decoration-break
  24. caret-color
  25. clip-path property (for HTML)
  26. Conical Gradients
  27. Containment
  28. Counter Styles
  29. Counters
  30. currentColor value
  31. Device Adaptation
  32. display: contents
  33. element() function
  34. Exclusions Level 1
  35. Feature Queries
  36. Filter Effects
  37. filter() function
  38. first-line pseudo-element
  39. Flexible Box Layout Module
  40. font-feature-settings
  41. font-rendering controls
  42. font-size-adjust
  43. font-stretch
  44. font-variant-alternates
  45. Generated content for pseudo-elements
  46. Gradients
  47. Grid Layout
  48. hanging-punctuation
  49. Hyphenation
  50. image-set
  51. Initial Letter
  52. initial value
  53. inline-block
  54. Logical Properties
  55. Masks
  56. min/max-width/height
  57. Motion Path
  58. namespaces
  59. outline properties
  60. overflow-anchor (Scroll Anchoring)
  61. page-break properties
  62. position:fixed
  63. position:sticky
  64. Regions
  65. Repeating Gradients
  66. resize property
  67. revert value
  68. Scroll snap points
  69. Shapes Level 1
  70. Table display
  71. text-indent
  72. text-justify
  73. text-orientation
  74. touch-action property
  75. unset value
  76. user-select: none
  77. Variables (Custom Properties)
  78. widows & orphans
  79. will-change property
  80. writing-mode property
  81. 2D Transforms
  82. 3D Transforms
  83. attr() function for all properties
  84. Background-image options
  85. Border images
  86. Border-radius (rounded corners)
  87. Box-shadow
  88. Box-sizing
  89. Colors
  90. Cursors (original values)
  91. Cursors: zoom-in & zoom-out
  92. font-kerning
  93. image-orientation
  94. Media Queries
  95. Multiple backgrounds
  96. Multiple column layout
  97. object-fit/object-position
  98. Opacity
  99. Overflow-wrap
  100. selectors
  101. tab-size
  102. text-align-last
  103. Text-overflow
  104. Text-shadow
  105. Transitions
  106. word-break
  107. OM Scroll-behavior
  108. display: flow-root
  109. display: run-in
  110. Font unicode-range subsetting
  111. Intrinsic & Extrinsic Sizing
  112. letter-spacing CSS property
  113. Media Queries: interaction media features
  114. Media Queries: resolution feature
  115. Rebeccapurple color
  116. rem (root em) units
  117. selector list argument of :not()
  118. system-ui value for font-family
  119. text-decoration styling
  120. text-emphasis styling
  121. TTF/OTF - TrueType and OpenType font support
  122. Variable fonts
  123. Viewport units: vw, vh, vmin, vmax
  124. #rrggbbaa hex color notation
  125. :default CSS pseudo-class
  126. :focus-visible CSS pseudo-class
  127. :focus-within CSS pseudo-class
  128. :indeterminate CSS pseudo-class
  129. :optional CSS pseudo-class
  130. background-position-x & background-position-y
  131. Case-insensitive CSS attribute selectors
  132. Crisp edges/pixelated images
  133. @apply rule
  134. Backdrop Filter
  135. Canvas Drawings
  136. color-adjust
  137. Cross-Fade Function
  138. font-smooth
  139. line-clamp
  140. overscroll-behavior
  141. pointer-events (for HTML)
  142. Reflections
  143. scrollbar styling
  144. text-size-adjust
  145. text-stroke and text-fill
  146. zoom
  147. Explicit descendant combinator >>
  148. Improved kerning pairs & ligatures
  149. prefers-reduced-motion media query
  150. selector list argument of :nth-child and :nth-last-child CSS pseudo-classes
  151. All CSS features

HTML5

  1. accept attribute for file input
  2. Attributes for form submission
  3. Audio element
  4. Audio Tracks
  5. Autofocus attribute
  6. Canvas (basic support)
  7. Canvas blend modes
  8. classList (DOMTokenList)
  9. Color input type
  10. contenteditable attribute (basic support)
  11. Custom Elements v0
  12. Custom Elements v1
  13. Custom protocol handling
  14. Datalist element
  15. dataset & data-* attributes
  16. Date and time input types
  17. Details & Summary elements
  18. Dialog element
  19. disabled attribute of the fieldset element
  20. Download attribute
  21. Drag and Drop
  22. Email, telephone & URL input types
  23. Form attribute
  24. Form validation
  25. getElementsByClassName
  26. hidden attribute
  27. HTML Imports
  28. HTML Media Capture
  29. HTML templates
  30. HTML5 form features
  31. HTML5 semantic elements
  32. indeterminate checkbox
  33. input event
  34. input placeholder attribute
  35. meter element
  36. Minimum length attribute for input fields
  37. Multiple file selection
  38. naturalWidth & naturalHeight image properties
  39. Number input type
  40. OffscreenCanvas
  41. Path2D
  42. Pattern attribute for input fields
  43. Picture element
  44. Ping attribute
  45. PNG favicons
  46. progress element
  47. Range input type
  48. readonly attribute of input and textarea elements
  49. rel=noopener
  50. relList (DOMTokenList)
  51. Reversed attribute of ordered lists
  52. Ruby annotation
  53. sandbox attribute for iframes
  54. Search input type
  55. Session history management
  56. Spellcheck attribute
  57. srcdoc attribute for iframes
  58. Srcset and sizes attributes
  59. Subresource Integrity
  60. tabindex global attribute
  61. Text API for Canvas
  62. Video element
  63. Video Tracks
  64. wbr (word break opportunity) element
  65. Web App Manifest
  66. WebGL - 3D Canvas graphics
  67. WebGL 2.0
  68. Context menu item (menuitem element)
  69. Offline web applications
  70. Scoped CSS
  71. seamless attribute for iframes
  72. All HTML5 features

Other

  1. "once" event listener option
  2. AAC audio file format
  3. asm.js
  4. async attribute for external scripts
  5. autocomplete attribute: on & off values
  6. Brotli Accept-Encoding/Content-Encoding
  7. ChildNode.remove()
  8. Client Hints: DPR, Width, Viewport-Width
  9. CSS Paged Media (@page)
  10. Data URIs
  11. defer attribute for external scripts
  12. document.elementFromPoint()
  13. document.head
  14. document.scrollingElement
  15. DOM manipulation convenience methods
  16. DOMContentLoaded
  17. DOMMatrix
  18. Dynamic Adaptive Streaming over HTTP (MPEG-DASH)
  19. Element.closest()
  20. Element.insertAdjacentElement() & Element.insertAdjacentText()
  21. ES6 Generators
  22. EventTarget.addEventListener()
  23. EventTarget.dispatchEvent
  24. FLAC audio format
  25. focusin & focusout events
  26. getComputedStyle
  27. HEIF/ISO Base Media File Format
  28. HEVC/H.265 video format
  29. HTTP/2 protocol
  30. inputmode attribute
  31. JPEG 2000 image format
  32. JPEG XR image format
  33. KeyboardEvent.code
  34. KeyboardEvent.getModifierState()
  35. KeyboardEvent.key
  36. KeyboardEvent.location
  37. MathML
  38. Media Fragments
  39. MP3 audio format
  40. MPEG-4/H.264 video format
  41. Mutation events
  42. Node.compareDocumentPosition()
  43. Node.innerText
  44. Node.textContent
  45. Ogg Vorbis audio format
  46. Ogg/Theora video format
  47. Opus
  48. Passive event listeners
  49. PNG alpha transparency
  50. querySelector/querySelectorAll
  51. Resource Hints: dns-prefetch
  52. Resource Hints: preconnect
  53. Resource Hints: prefetch
  54. Resource Hints: preload
  55. Resource Hints: prerender
  56. SDCH Accept-Encoding/Content-Encoding
  57. Shadow DOM v0
  58. Shadow DOM v1
  59. theme-color Meta Tag
  60. WAI-ARIA Accessibility features
  61. Wav audio format
  62. WebAssembly
  63. WebM video format
  64. WebVTT - Web Video Text Tracks
  65. Window.devicePixelRatio
  66. WOFF - Web Open Font Format
  67. WOFF 2.0 - Web Open Font Format
  68. XHTML served as application/xhtml+xml
  69. Animated PNG (APNG)
  70. EOT - Embedded OpenType fonts
  71. HTTP Live Streaming (HLS)
  72. KeyboardEvent.charCode
  73. KeyboardEvent.which
  74. Resource Hints: Lazyload
  75. SPDY protocol
  76. WebP image format
  77. XHTML+SMIL animation
  78. All Other features

JS API

  1. Accelerometer
  2. Ambient Light Sensor
  3. Auxclick
  4. Base64 encoding and decoding
  5. Basic console logging functions
  6. Battery Status API
  7. Beacon API
  8. Blob constructing
  9. Blob URLs
  10. BroadcastChannel
  11. Channel messaging
  12. Clipboard API
  13. console.time and console.timeEnd
  14. Constraint Validation API
  15. Credential Management API
  16. Cross-document messaging
  17. Cross-Origin Resource Sharing
  18. crypto.getRandomValues()
  19. CSS Font Loading
  20. CSS Paint API
  21. CSS.supports() API
  22. CustomEvent
  23. DeviceOrientation & DeviceMotion events
  24. Do Not Track API
  25. Document Object Model Range
  26. document.currentScript
  27. DOM Parsing and Serialization
  28. Element.getBoundingClientRect()
  29. Element.insertAdjacentHTML()
  30. Fetch
  31. FIDO U2F API
  32. File API
  33. FileReader API
  34. FileReaderSync
  35. Full Screen API
  36. Gamepad API
  37. Geolocation
  38. getUserMedia/Stream API
  39. Gyroscope
  40. Hashchange event
  41. High Resolution Time API
  42. IndexedDB
  43. IndexedDB 2.0
  44. Input Method Editor API
  45. Internationalization API
  46. IntersectionObserver
  47. Magnetometer
  48. matches() DOM method
  49. matchMedia
  50. maxlength attribute for input and textarea elements
  51. Media Capture from DOM Elements API
  52. Media Source Extensions
  53. MediaRecorder API
  54. Mutation Observer
  55. Navigation Timing API
  56. navigator.hardwareConcurrency
  57. Object RTC (ORTC) API for WebRTC
  58. Online/offline status
  59. Orientation Sensor
  60. Page Visibility
  61. PageTransitionEvent
  62. Payment Request API
  63. Pointer events
  64. Pointer Lock API
  65. Printing Events
  66. Proximity API
  67. Push API
  68. requestAnimationFrame
  69. requestIdleCallback
  70. Resource Timing
  71. Screen Orientation
  72. scrollIntoView
  73. Selection API
  74. Selection controls for input & textarea
  75. Server-sent events
  76. Service Workers
  77. Shared Web Workers
  78. Streams
  79. TextEncoder & TextDecoder
  80. Touch events
  81. unhandledrejection/rejectionhandled events
  82. URL API
  83. URLSearchParams
  84. User Timing API
  85. Vibration API
  86. Web Animations API
  87. Web Audio API
  88. Web Cryptography
  89. Web MIDI API
  90. Web Notifications
  91. Web Sockets
  92. Web Storage - name/value pairs
  93. Web Workers
  94. WebRTC Peer-to-peer connections
  95. XMLHttpRequest advanced features
  96. Background Sync API
  97. Directory selection from file input
  98. document.evaluate & XPath
  99. Document.execCommand()
  100. Efficient Script Yielding: setImmediate()
  101. Element.scrollIntoViewIfNeeded()
  102. Filesystem & FileWriter API
  103. Network Information API
  104. Permissions API
  105. Resize Observer
  106. Speech Recognition API
  107. Speech Synthesis API
  108. Web Bluetooth
  109. Web Share API
  110. Web SQL Database
  111. WebUSB
  112. WebVR API
  113. All JS API features

Home

Latest features
Most searched features
  1. Flexbox
  2. CSS Grid
  3. CSS calc()
  4. SVG
  5. CSS transforms
Did you know?
  • You can import usage data from your Google Analytics account and see exactly how well a feature is supported among your own site's visitors. Look under the Settings panel to get started!

  • Usage data for all countries and continents can be imported via the Settings panel.

  • By default, older browser versions are only shown if they have >= 0.5% usage share. You can increase or decrease this value from the Settings panel.

  • If a feature you're looking for is not available on the site, you can vote to have it included. Better yet, if you've done the research you can even submit it yourself!

  • Each feature support table includes a "Usage relative" button. This will resize each browser version cell to be relative to the amount of support it has for the selected usage source.

Browser scores

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.