HTML5 Polyfills

HTML5 & CSS3 Shims, Polyfills and Fallbacks

Information on Browser Support and All Available Polyfills and Fallbacks to Implement HTML5 & CSS3 Features in Browsers which Don't Support Natively.





Search for HTML5 and CSS3 Features

<audio>

HTML

Polyfills for <audio>

  • MediaElement.js HTML5 <video> and <audio> made easy. One file. Any browser. Same UI.

    Instead of offering an HTML5 player to modern browsers and a totally separate Flash player to older browsers, MediaElement.js upgrades them with custom Flash and Silverlight plugins that mimic the HTML5 MediaElement API

  • jPlayer HTML5 Audio   Video for jQuery

    A jQuery plugin, (and now a Zepto plugin,) jPlayer allows you to rapidly weave cross platform audio and video into your web pages

  • SoundManager 2 Makes it easier to play audio using JavaScript

    Using HTML5 and Flash, SoundManager 2 provides reliable cross-platform audio under a single JavaScript API.

  • LeanBack Player HTML5 Video and Audio Media Player UI

    LeanBack Player is a Javascript based HTML5 Video and Audio Media Player UI that uses build-in HTML5 <video> and <audio> element functionality of standard browsers, platforms and devices

Browser support for <audio>

IE Firefox Chrome Safari Opera
Supported Version 9.0+ 3.5+ 4.0+ 4.0+ 10.5+
Current Version 10 23 28 6 15
More information on Browser Support

border-image

CSS

Polyfills for border-image

  • CSS3 PIE CSS3 decoration rendering for IE 6-9

    PIE makes Internet Explorer 6-9 capable of rendering several of the most useful CSS3 decoration features including border-image

  • Also refer to David Baron's article on CSS border-image changes and unprefixing

Browser Support for border-image

IE Firefox Chrome Safari Opera
Supported Version 11.0+ 15.0+ 15.0+ 6.0+ 15.0+
Current Version 10 23 28 6 15
More information on Browser Support

border-radius

CSS

Polyfills for border-radius

  • CSS3 PIE CSS3 decoration rendering for IE 6-9

    PIE makes Internet Explorer 6-9 capable of rendering several of the most useful CSS3 decoration features including border-radius

Browser Support for border-radius

IE Firefox Chrome Safari Opera
Supported Version 9.0+ 3.0+ 4.0+ 3.1+ 10.5+
Current Version 10 23 28 6 15
More information on Browser Support

box-shadow

CSS

Polyfills for box-shadow

  • CSS3 PIE CSS3 decoration rendering for IE 6-9

    PIE makes Internet Explorer 6-9 capable of rendering several of the most useful CSS3 decoration features including box-shadow

Browser Support for box-shadow

IE Firefox Chrome Safari Opera
Supported Version 9.0+ 3.5+ 4.0+ 5.0+ 10.5+
Current Version 10 23 28 6 15
More information on Browser Support

box-sizing

CSS

Polyfills for box-sizing

  • borderBoxModel Border-box model support for Internet Explorer 6-7

    Javascript polyfill for CSS3 box-sizing: border-box. For IE6 and IE7

  • box-sizing-polyfill A CSS box-sizing: border-box polyfill for IE 6/7
  • compass-borderbox Use box-sizing: border-box; with impunity. Borderbox outputs equivalent CSS for IE6 & 7

    border-box polyfill for SASS/Compass. Outputs equivalent CSS for IE6 & 7

Browser Support for box-sizing

IE Firefox Chrome Safari Opera
Supported Version 8.0+ 2.0+ 4.0+ 3.1+ 9.5+
Current Version 10 23 28 6 15
Browser support information above refers to supporting only the "border-box" value, not "padding-box"
More information on Browser Support

<canvas>

HTML

Polyfills for <canvas>

  • FlashCanvas HTML5 Canvas for Internet Explorer via Flash

    FlashCanvas is a JavaScript library which adds the HTML5 Canvas support to Internet Explorer. It renders shapes and images via Flash drawing API. It supports almost all Canvas APIs and, in many cases, runs faster than other similar libraries which use VML or Silverlight.

  • explorercanvas HTML5 Canvas for Internet Explorer

    ExplorerCanvas brings the canvas functionality to Internet Explorer. To use, web developers only need to include a single script tag in their existing web pages

  • Silverlight HTML 5 Canvas

    This project successfully uses Silverlight as a rendering engine to implement HTML 5 <canvas> support in IE6~IE8. It also enables onload=".." attribute support for native canvas renderers for 'this' context object activation.

  • fxCanvas

    fxCanvas is an implementation of the HTML5 Canvas element for Internet Explorer (two-dimensional graphics only).

  • KineticJS Enterprise class interactive web graphics

    KineticJS is an HTML5 Canvas JavaScript framework that enables high performance animations, transitions, node nesting, layering, filtering, caching, event handling for desktop and mobile applications, and much more

  • canvas-text

    An implementation of the HTML5 canvas text drawing methods for older browser

Browser Support for <canvas>

IE Firefox Chrome Safari Opera
Supported Version 9.0+ 2.0+ 4.0+ 3.1+ 9.0+
Current Version 10 23 28 6 15
More information on Browser Support

classList

API

Polyfills for classList

Browser Support for classList

IE Firefox Chrome Safari Opera
Supported Version 10.0+ 3.6+ 8.0+ 5.1+ 11.5+
Current Version 10 23 28 6 15
More information on Browser Support

Cross-Origin Resource Sharing (CORS)

HTML

Polyfills for CORS

  • pmxdr Cross-domain XHR using postMessage

    Implements a CORS-compliant cross-domain XMLHttpRequest with postMessage. Note that sites being requested must have a pmxdr host

  • libxdr A library that implements a cross-browser XDR constructor

    libxdr is a library that implements a cross-browser (postMessage-supporting browsers only) cross-domain request constructor, XDR, using pmxdr

  • PostMessage Proxied XMLHttpRequest A simple polyfill for cross-origin ajax requests.

    Simple polyfill that allows browsers without support for cross-origin XMLHttpRequests to do so via postMessage.

  • flXHR cross-domain Ajax shim using flash+js

    Provides XHR API using Flash transport mechanism. Target server must have a crossdomain.xml policy file

Browser Support for CORS

IE Firefox Chrome Safari Opera
Supported Version 10.0+ 3.5+ 4.0+ 4.0+ 12.0+
Current Version 10 23 28 6 15
More information on Browser Support

<datalist>

HTML

Polyfills for <datalist>

  • jQuery HTML5 Datalist Plugin Plugin to provide cross browser html5 datalist support

    Enables cross-browser* html5 datalist for inputs, by first testing for a native implementation before building one.

  • Relevant Dropdowns Polyfill for Datalist
  • datalist fallback Progressive enhancement with datalist
  • Webshims Lib has support for datalist-element

    Webshims Lib is a modular capability-based polyfill-loading library, which focuses on accurate implementations of stable HTML5 features, so that developers can write modern, interoperable and robust code in all browsers. It is built on top of jQuery and Modernizr

Browser Support for <datalist>

IE Firefox Chrome Safari Opera
Supported Version 10.0+ 4.0+ 20.0+ - 9.0+
Current Version 10 23 28 6 15
More information on Browser Support

dataset

API

Polyfills for dataset

  • html5-dataset.js dataset fallback

    Add dataset support to elements

  • HTML 5 dataset support

    Implementation of HTML 5 dataset (data-* attributes) support that almost conforms to the HTML 5 spec* and works in Firefox 1.5+, Opera 9.5+, Safari, and Google Chrome

Browser Support for dataset

IE Firefox Chrome Safari Opera
Supported Version 10.0+ 6.0+ 7.0+ 5.1+ 11.1+
Current Version 10 23 28 6 15
More information on Browser Support

<details> & <summary>

HTML

Polyfills for <details> & <summary>

  • jquery-details World’s first <details>/<summary> polyfill™

    This plugin polyfills <details>/<summary> HTML elements and adds the appropriate ARIA annotations for optimal accessibility.

  • Details-Polyfill Crossbrowser Polyfill for HTML5 <details> element

    This jQuery based polyfill makes <details>/<summary> ready for use in most browsers.

  • details-tag A polyfill for <details> tag

  • Element.details A pure JS polyfill for <details> tag with DOM API for all browsers including IE6+

  • jquery-deets A details polyfill that actually works well

    Claims to be better than all the four above

Browser Support for <details> & <summary>

IE Firefox Chrome Safari Opera
Supported Version - - 12.0+ 6.0+ 15.0+
Current Version 10 23 28 6 15
More information on Browser Support

DOM

API

Polyfills for DOM

  • flowjs A JavaScript Library that aims to fix and enhance the DOM API

    Implements the DOM Level 3 API across all modern browsers and extends the API with extremely useful functions

  • DOM-shim Shims out the entire DOM4 API

    Normalizing the DOM across all modern browsers. DOM-shim provides compatibility shims so that modern browsers behave as closely to DOM4 as possible

  • ES5-DOM-SHIM Lightweight ES5 and DOM shim with IE6 and IE7 support

    ES5 and DOM4 shim for all browsers with IE6 and IE7 support

  • dom4 This is just a fully tested and covered polyfill for new DOM Level 4 entries

    New DOM 4 Entries: prepend, append, before, after, replace and remove W3C Draft compatible and fully tested

  • IE8 DOM Level 2 some damn DOM fix for this damned browser

    W3C Events, included custom bubbling events, for IE8

  • The HTML5 document.head DOM tree accessor

    One of the lesser known HTML5 JavaScript goodies is the document.head DOM tree accessor, which is a more efficient (and easier to type) alternative to document.getElementsByTagName('head')[0]

  • url.js

    JavaScript + DOM implementation of W3C URL API

  • DOM Keyboard Event Level 3 polyfill

  • DOMImplementation.prototype.createDocument.js

    IE8 Shim for DOMImplementation.prototype.createDocument (does not support doctype argument nor wrap the resulting document to support all DOM methods and properties; mostly for loading XML

Browser Support for DOM

IE Firefox Chrome Safari Opera
Supported Version 8.0+ 21.0+ 27.0+ 5.1+ 15.0+
Current Version 10 23 28 6 15
More information on Browser Support

ECMAScript 5

JS

Polyfills for ECMAScript 5

  • es5-shim ECMAScript 5 compatibility shims for legacy JavaScript engines

    es5-shim.js and es5-shim.min.js monkey-patch a JavaScript context to contain all EcmaScript 5 methods that can be faithfully emulated with a legacy JavaScript engine

  • Xccessors

    Xccessors (cross-browser accessors) is a JavaScript shim that implements the legacy or standard methods for defining and looking up accessors (getters and setters) of objects.

  • getters and setters Pick up get/set'ers for DOM elements in IE8

    Transitioning Existing Code to the ES5 Getter/Setter APIs

  • JSON 3

    JSON 3 is a modern JSON implementation compatible with a variety of JavaScript platforms, including Internet Explorer 6, Opera 7, Safari 2, and Netscape 6

  • ddr-ecma5 Brings ECMAScript5 features to any browser

    ddr-ecma5 is a JavaScript library which brings the ECMAScript 5 extensions to any browser. It includes set of ECMAScript 5 methods to Object, Array, String, Date and Function objects which are possible to be implemented with ECMAScript 3 features.

  • Augment.js

    Enables use of modern JavaScript by augmenting built in objects with the latest JavaScript methods.

  • String.js Shim to allow array-like access on "new String()" characters

Browser Support for ECMAScript 5

IE Firefox Chrome Safari Opera
Supported Version 10.0+ 4.0+ 13.0+ 6.0+ 11.6+
Current Version 10 23 28 6 15
More information on Browser Support

ECMAScript 6

JS

Polyfills for ECMAScript 6

  • es6-shim ECMAScript 6 (Harmony) compatibility shims for legacy JavaScript engines

    Provides compatibility shims so that legacy JavaScript engines behave as closely as possible to ECMAScript 6

  • harmony-collections Map, WeakMap, and Set implemented in JavaScript

    Use the new Map, Set, and WeakMap from the upcoming ES6 standard right now! This shim provides full functionality for these collections and delivers the benefits of using them

  • es6-map-shim Implements the evolving ES6 Map specification as closely as possible

    This is a destructive shim that implements the ES6 Map specification as closely as possible

  • ECMAScript-6 ECMAScript 6 Harmony polyfil

  • Function.create.js Create named functions easily in JavaScript

  • contains.js Simple ES6 String.prototype.contains Polyfill

  • observe-shim A shim for the Object.observe Harmony Proposal

  • harmony.js ECMAScript "Harmony" Polyfills

  • Blitz-Collections

    Blitz-Collections provides ECMAScript 6 (aka ECMAScript Harmony aka ECMAScript Next) collections to ECMAScript 5 compliant environments. This includes Map, WeakMap and Set

EventSource

API

Polyfills for EventSource

Browser Support for EventSource

IE Firefox Chrome Safari Opera
Supported Version - 6.0+ 6.0+ 5.0+ 11.0+
Current Version 10 23 28 6 15
More information on Browser Support

File API

API

Polyfills for File API

  • dropfile

    Dropfile is a shim which uses Silverlight to recreate the part of the HTML5 FileAPI which lets us drag files into the IE browser and read em'

  • FileSaver.js

    FileSaver.js implements the W3C saveAs() FileSaver interface in browsers that do not natively support it. There is a FileSaver.js demo that demonstrates saving various media types

  • moxie Pollyfills for XHR2 and File API

    mOxie is combined name for XHR2 and File API pollyfills that has been extracted from Plupload in order to make it more flexible and give it opportunity for further growth

  • FileReader A FileReader polyfill for Internet Explore and Safari using Flash

    This library is a JavaScript + Flash library that allows you to read files client side using standart File API. It moves a transparent flash button over any DOM element and gives it a HTML 5 file input behavior

  • FileAPI

    A set of javascript tools for working with files. Multiupload, drag'n'drop and chunked file upload. Images: crop, resize and auto orientation by EXIF

  • saveAs.js FileSaver window.saveAs shim

Browser Support for File API

IE Firefox Chrome Safari Opera
Supported Version 10.0+ 3.6+ 13.0+ 6.0+ 11.1+
Current Version 10 23 28 6 15
More information on Browser Support

Filesystem

API

Polyfills for Filesystem

  • idb.filesystem.js HTML5 Filesystem API polyfill using IndexedDB

    idb.filesystem.js is a well tested JavaScript polyfill implementation of the HTML5 Filesystem API. It is intended for browsers that do not support the API natively.

Browser Support for Filesystem

IE Firefox Chrome Safari Opera
Supported Version - - 13.0+ - 15.0+
Current Version 10 23 28 6 15
More information on Browser Support

Filter Effects

CSS

Polyfills for Filter Effects

  • CSS-Filters-Polyfill

    This polyfill takes the official CSS filters syntax and translates it to the different equivalent techniques that the browsers know for those effects

Browser Support for Filter Effects

IE Firefox Chrome Safari Opera
Supported Version - - 18.0+ 6.0+ 15.0+
Current Version 10 23 28 6 15
More information on Browser Support

Flexible Box Layout

CSS

Polyfills for Flexible Box Layout

  • Flexie Flexie enables the 2009 Flexbox model

    *There is no polyfill for the new spec

  • CSS-TRICKS Using Flexbox: Mixing Old and New for the Best Browser Support

Browser Support for Flexible Box Layout

IE Firefox Chrome Safari Opera
Supported Version 10.0 10.0+ 22.0+ 7.0+ 12.1+
Current Version 10 23 28 6 15
More information on Browser Support

@font-face

CSS

Polyfills for @font-face

  • Fontspring The New Bulletproof @Font-Face Syntax

Browser Support for @font-face

IE Firefox Chrome Safari Opera
Supported Version 9.0+ 3.5+ 4.0+ 3.2+ 10.0+
Current Version 10 23 28 6 15
More information on Browser Support

Form Validation

HTML

Polyfills for Form Validation

  • WEBSHIMS Several Polyfills including Constraint Validation and several input-widgets

    Webshims Lib is a modular capability-based polyfill-loading library, which focuses on accurate implementations of stable HTML5 features, so that developers can write modern, interoperable and robust code in all browsers

  • nwxforms HTML forms enhancer

  • H5F

    a JavaScript library that allows you to use the HTML5 Forms chapters new field input types, attributes and constraint validation API in non-supporting browsers

  • better-form-validation Form validation polyfill for better-dom

  • h5Validate HTML5 Form Validation for jQuery

    Best practice realtime HTML5 form validation for jQuery. Works on all popular browsers, including old ones like IE6

Browser Support for Form Validation

IE Firefox Chrome Safari Opera
Supported Version 10.0+ 4.0+ 10.0+ 5.0+ 10.0+
Current Version 10 23 28 6 15
More information on Browser Support

Fullscreen

API

Polyfills for Fullscreen

  • screenfull.js Simple wrapper for cross-browser usage of the JavaScript Fullscreen API

    Simple wrapper for cross-browser usage of the JavaScript Fullscreen API, which lets you bring the page or any element into fullscreen. Smoothens out the browser implementation differences, so you don't have too

  • jQuery-Fullscreen-Plugin A full suite fullscreen plugin with fallback support

Browser Support for Fullscreen

IE Firefox Chrome Safari Opera
Supported Version 11.0+ - 20.0+ 6.0+ 12.1+
Current Version 10 23 28 6 15
More information on Browser Support

Geolocation

API

Polyfills for Geolocation

Browser Support for Geolocation

IE Firefox Chrome Safari Opera
Supported Version 9.0+ 3.5+ 5.0+ 5.0+ 16.0+
Current Version 10 23 28 6 15
More information on Browser Support

gradients

CSS

Polyfills for gradients

  • CSS3 PIE CSS3 decoration rendering for IE 6-9

    PIE makes Internet Explorer 6-9 capable of rendering several of the most useful CSS3 decoration features including gradients

Browser Support for gradients

IE Firefox Chrome Safari Opera
Supported Version 10.0+ 3.6+ 10.0+ 5.1+ 11.6+
Current Version 10 23 28 6 15
More information on Browser Support

Grid Layout

CSS

Polyfills for Grid Layout

Browser Support for Grid Layout

IE Firefox Chrome Safari Opera
Supported Version 10.0+ - - - -
Current Version 10 23 28 6 15
More information on Browser Support

History

API

Polyfills for History

  • History.js

    History.js gracefully supports the HTML5 History/State APIs (pushState, replaceState, onPopState) in all browsers. Including continued support for data, titles, replaceState. Supports jQuery, MooTools and Prototype. For HTML5 browsers this means that you can modify the URL directly, without needing to use hashes anymore. For HTML4 browsers it will revert back to using the old onhashchange functionality

  • HTML5-History-API HTML5 History API expansion for browsers not supporting pushState, replaceState

    This Javascript library provides an emulation of HTML5 History API for older browsers

  • pushState + ajax = pjax

    pjax is a jQuery plugin that uses ajax and pushState to deliver a fast browsing experience with real permalinks, page titles, and a working back button

Browser Support for History

IE Firefox Chrome Safari Opera
Supported Version 10.0+ 4.0+ 5.0+ 5.0+ 11.5+
Current Version 10 23 28 6 15
More information on Browser Support

HTML5 Sectioning elements

HTML

Polyfills for HTML5 elements

  • html5shiv HTML5 IE enabling script

  • html5shiv

    This script is the defacto way to enable use of HTML5 sectioning elements in legacy Internet Explorer

  • accessifyhtml5.js

    While most browsers work all right with the new semantic elements of HTML5, they don’t add the ARIA accessibility attributes that the specification demands. This small JavaScript adds those attributes to enhance accessibility of web sites

Browser Support for HTML5 elements

IE Firefox Chrome Safari Opera
Supported Version 9.0+ 4.0+ 6.0+ 5.0+ 11.1+
Current Version 10 23 28 6 15
More information on Browser Support

hyphens

CSS

Polyfills for hyphens

  • hyphenator Javascript that implements client-side hyphenation of HTML-Documents

Browser Support for hyphens

IE Firefox Chrome Safari Opera
Supported Version 10.0+ 6.0+ - 5.1+ -
Current Version 10 23 28 6 15
More information on Browser Support

IndexedDB

API

Polyfills for IndexedDB

  • IndexedDB Polyfill

    This IndexedDB polyfill exposes the IndexedDB API in unsupported browsers using WebSQL. This shim is basically an IndexedDB-WebSql adapter

  • IDBWrapper A cross-browser wrapper for IndexedDB

Browser Support for IndexedDB

IE Firefox Chrome Safari Opera
Supported Version 10.0+ 10.0+ 23.0+ - 15.0+
Current Version 10 23 28 6 15
More information on Browser Support

Color input type

HTML

Polyfills for Color input type

  • JSColor Simple & user-friendly color picker for HTML forms

Browser Support for Color input type

IE Firefox Chrome Safari Opera
Supported Version - - 20.0+ - -
Current Version 10 23 28 6 15
More information on Browser Support

Date/time input type

HTML

Polyfills for Date/time input type

Browser Support for Date/time input type

IE Firefox Chrome Safari Opera
Supported Version - - 20.0+ - 15.0+
Current Version 10 23 28 6 15
More information on Browser Support

Number input type

HTML

Polyfills for Number input type

  • number-polyfill

    A polyfill for implementing the HTML5 <input type="number"> element in browsers that do not currently support it

Browser Support for Number input type

IE Firefox Chrome Safari Opera
Supported Version 10.0+ - 7.0+ 5.0+ 9.0+
Current Version 10 23 28 6 15
More information on Browser Support

Range input type

HTML

Polyfills for Range input type

  • Range Input

    The HTML5 range input is now powered by a jQuery Tools cross-browser implementation that can be skinned with CSS. For browsers that implement range inputs natively, the input field's type is changed to text so that the native version does not get in the way

  • html5slider <input type=range> polyfill for Firefox

    An Unobtrusive Accessible Slider script that can also be used as an HTML5 Input Range polyfill solution

Browser Support for Range input type

IE Firefox Chrome Safari Opera
Supported Version 10.0+ 23.0+ 5.0+ 3.1+ 9.0+
Current Version 10 23 28 6 15
More information on Browser Support

input placeholder attribute

HTML

Polyfills for input placeholder attribute

  • jquery-placeholder

    A jQuery plugin that enables HTML5 placeholder behavior for browsers that aren’t trying hard enough yet

  • placeholder-enhanced

    Placeholder Enhanced enhance the use of HTML5 placeholder attribute providing cross-browser support & styling

  • jquery-placeholder

    A jQuery plugin that polyfills the HTML5 "placeholder" attribute

  • html5support

    Support certain HTML 5 attributes with javascript, but only if the browser doesn't already support them

  • jquery.placeholder.js Replicates the HTML placeholder functionality

    A jQuery plugin that provides failover for browsers that don't support the native HTML5 placeholder attribute. Placeholders allow text inputs and textareas to display a placeholder message until they get focus, at which point the input box is set to empty

  • Placeholders.js A JavaScript polyfill for the HTML5 placeholder attribute

    Placeholders.js is a polyfill (or shim, or whatever you like to call it) for the HTML5 placeholder attribute, as defined in the HTML5 draft specification. Placeholder attributes are valid on input elements of various types and textarea elements

  • placeholder-augment Augments and polyfills the html5 placeholder attribute

    When you focus a field it keeps the placeholder text until you start typing. This keeps users from forgetting what the field is before they start typing

  • better-placeholder-polyfill

  • placeholdr.js

  • HTML5-placeholder-polyfill Small and robust polyfill for the HTML5 placeholder attribute

Browser Support for input placeholder attribute

IE Firefox Chrome Safari Opera
Supported Version 10.0+ 4.0+ 4.0+ 5.0+ 11.6+
Current Version 10 23 28 6 15
More information on Browser Support

JSON

JS

Polyfills for JSON

  • JSON-js JSON in JavaScript

  • JSON 3

    JSON 3 is a modern JSON implementation compatible with a variety of JavaScript platforms, including Internet Explorer 6, Opera 7, Safari 2, and Netscape 6

Browser Support for JSON

IE Firefox Chrome Safari Opera
Supported Version 8.0+ 3.5+ 4.0+ 4.0+ 10.5+
Current Version 10 23 28 6 15
More information on Browser Support

LocalStorage & SessionStorage

API

Polyfills for LocalStorage & SessionStorage

Browser Support for LocalStorage & SessionStorage

IE Firefox Chrome Safari Opera
Supported Version 8.0+ 3.5+ 4.0+ 4.0+ 10.5+
Current Version 10 23 28 6 15
More information on Browser Support

matchMedia

API

Polyfills for matchMedia

  • matchMedia.js matchMedia polyfill for testing media queries in JS

    Test whether a CSS media type or media query applies

Browser Support for matchMedia

IE Firefox Chrome Safari Opera
Supported Version 10.0+ 6.0+ 9.0+ 5.1+ 12.1+
Current Version 10 23 28 6 15
More information on Browser Support

Media Queries

CSS

Polyfills for Media Queries

  • Respond

    A fast & lightweight polyfill for min/max-width CSS3 Media Queries (for IE 6-8, and more)

  • css3-mediaqueries-js

    Make CSS3 Media Queries work in all browsers (JavaScript library)

  • mediatizr A media queries polyfill

    This library adds media queries support to browsers that don't support it (like Internet Explorer 5.5-8)

  • jQuery-Media-Helpers

    Some media query and cross-browser responsive design helpers, abstracted from jQuery Mobile

  • pointeraccuracy.js Heuristically determine the optimal pointer accuracy

Browser Support for Media Queries

IE Firefox Chrome Safari Opera
Supported Version 9.0+ 3.5+ 4.0+ 4.0+ 9.5+
Current Version 10 23 28 6 15
More information on Browser Support

Progress & Meter

HTML

Polyfills for Progress & Meter

Browser Support for Progress & Meter

IE Firefox Chrome Safari Opera
Supported Version 10.0+ 16.0+ 8.0+ 6.0+ 11.0+
Current Version 10 23 28 6 15
More information on Browser Support

Microdata API

API

Polyfills for Microdata API

  • MicrodataJS

    MicrodataJS is a jQuery plugin that provides an API for accessing Microdata inspired by (but by necessity slightly different from) the native DOM API

  • Microdata-JS

    Implementation of the HTML5 Microdata specification for all browsers (including IE8, IE7, IE6 with es5 and DOM shims)

Multiple column layout

CSS

Polyfills for Multiple column layout

  • CSS3MultiColumn

    Supports: column-count, column-width, column-gap, column-rule

Browser Support for Multiple column layout

IE Firefox Chrome Safari Opera
Supported Version 10.0 2.0+ 4.0+ 3.1+ 15.0+
Current Version 10 23 28 6 15
More information on Browser Support

Pointer events

CSS

Polyfills for Pointer events

  • HandJS a polyfill for supporting pointer events on every browser

  • pointer_events_polyfill Polyfill to provide support for "pointer-events: none"

    Pointer Events Polyfill is a short javascript library which adds support for the style attribute "pointer-events: none" to browsers without this feature (namely, MS IE)

Browser Support for Pointer events

IE Firefox Chrome Safari Opera
Supported Version 11.0+ 3.6+ 4.0+ 4.0+ 15.0+
Current Version 10 23 28 6 15
More information on Browser Support

postMessage

HTML

Polyfills for postMessage

  • easyXDM Implements XDM and RPC in most browsers since IE6. Also ships with an endpoint for exposing ajax across the domain boundary

    easyXDM is a Javascript library that enables you as a developer to easily work around the limitation set in place by the Same Origin Policy, in turn making it easy to communicate and expose javascript API’s across domain boundaries

  • jQuery postMessage Cross-domain scripting goodness

Browser Support for postMessage

IE Firefox Chrome Safari Opera
Supported Version 8.0+ 3.0+ 4.0+ 4.0+ 9.5+
Current Version 10 23 28 6 15
More information on Browser Support

<progress>

HTML

Polyfills for <progress>

Browser Support for <progress>

IE Firefox Chrome Safari Opera
Supported Version 10.0+ 4.0+ 7.0+ 5.0+ 12.0+
Current Version 10 23 28 6 15
More information on Browser Support

Regions

CSS

Polyfills for Regions

  • CSSRegions.js

    CSSRegions.js is an experimental polyfill that uses JavaScript to bring CSS Regions functionality to browsers that don't support the feature

Browser Support for Regions

IE Firefox Chrome Safari Opera
Supported Version 10.0+ - - - -
Current Version 10 23 28 6 15
More information on Browser Support

rem units

CSS

Polyfills for rem units

  • REM-unit-polyfill A polyfill to parse CSS links and rewrite pixel equivalents into head for non supporting browsers

Browser Support for rem units

IE Firefox Chrome Safari Opera
Supported Version 9.0+ 3.6+ 6.0+ 5.0+ 11.6+
Current Version 10 23 28 6 15
More information on Browser Support

requestAnimationFrame

API

Polyfills for requestAnimationFrame

Browser Support for requestAnimationFrame

IE Firefox Chrome Safari Opera
Supported Version 10.0+ 4.0+ 10.0+ 6.0+ 15.0+
Current Version 10 23 28 6 15
More information on Browser Support

<ruby>

HTML

Polyfills for <ruby>

Browser Support for <ruby>

IE Firefox Chrome Safari Opera
Supported Version 5.5+ - 5.0+ 5.0+ 15.0+
Current Version 10 23 28 6 15
More information on Browser Support

Selectors

CSS

Polyfills for Selectors

  • selectivizr

    selectivizr is a JavaScript utility that emulates CSS3 pseudo-classes and attribute selectors in Internet Explorer 6-8

  • CSS_selector_engine

    Fast and lightweight querySelector[All]/getElementsByClassName/matchesSelector

Browser Support for Selectors

IE Firefox Chrome Safari Opera
Supported Version 9.0+ 3.5+ 4.0+ 3.2+ 9.5+
Current Version 10 23 28 6 15
More information on Browser Support

<svg>

SVG

Polyfills for <svg>

  • SVG Web Scalable Vector Graphics for Web Browsers using Flash

    Partial support for SVG 1.1, SVG Animation (SMIL), Fonts, Video and Audio, DOM and style scripting through JavaScript, and more in a small library

  • Raphaël JavaScript Vector Library

    Small JavaScript library that should simplify your work with vector graphics on the web.

  • canvg Javascript SVG parser and renderer on Canvas

    canvg is a SVG parser and renderer. It takes a URL to a SVG file or the text of an SVG file, parses it in JavaScript, and renders the result on a Canvas element. The rendering speed of the examples is about as fast as native SVG.

  • Ample SDK

    Ample SDK is a standard-based cross-browser JavaScript UI Framework for building Rich Internet Applications. It employs XML technologies (such as XUL, SVG or HTML5) for UI layout

  • SIE SVG JavaScript library

    The 'SIE' is an Open Source rendring engine written in JavaScript to display a W3C standard Scalable Vector Graphics (i.e. SVG). SVG is a language for drawing a vector graphics like HTML. It's used in Inkscape, Illustlator and so on.

  • Fabric.js Javascript Canvas Library, SVG-to-Canvas (& canvas-to-SVG) Parser

    Fabric.js is a framework that makes it easy to work with HTML5 canvas element. It is an interactive object model on top of canvas element. It is also an SVG-to-canvas parser.

Browser Support for <svg>

IE Firefox Chrome Safari Opera
Supported Version 9.0+ 3.0+ 4.0+ 3.2+ 9.0+
Current Version 10 23 28 6 15
More information on Browser Support

Text-overflow

CSS

Polyfills for Text-overflow

Browser Support for Text-overflow

IE Firefox Chrome Safari Opera
Supported Version 6.0+ 7.0+ 4.0+ 3.1+ 9.0+
Current Version 10 23 28 6 15
More information on Browser Support

transforms

HTML

Polyfills for transforms

  • transformie

    Transformie is a javascript plugin that comes in less than 5k that you embed into web pages and that brings you CSS Transforms by mapping the native IE Filter API to CSS trandforms as proposed by Webkit

  • CSS Sandpaper

    Cross Browser CSS Transforms – even in IE

Browser Support for transforms

IE Firefox Chrome Safari Opera
Supported Version 9.0+ 3.5+ 4.0+ 3.1+ 10.5+
Current Version 10 23 28 6 15
More information on Browser Support

<video>

HTML

Polyfills for <video>

  • html5media Enables <video> and <audio> tags in all major browsers

  • MediaElement.js

    MediaElement.js upgrades them with custom Flash and Silverlight plugins that mimic the HTML5 MediaElement API

  • SublimeVideo World's first zero maintenance HTML5 video player as a service solution

  • video.js

    Video.js is a JavaScript and CSS library that makes it easier to work with and build on HTML5 video

  • LeanBack Player - HTML5 audio/video media player

    LeanBack Player is a Javascript based HTML5 Video and Audio Media Player UI that uses build-in HTML5 <video> and <audio> element functionality of standard browsers, platforms and devices

  • video for everybody

    Video for Everybody is simply a chunk of HTML code that embeds a video into a website using the HTML5 <video> element, falling back to Flash automatically without the use of JavaScript or browser-sniffing

Browser Support for <video>

IE Firefox Chrome Safari Opera
Supported Version 9.0+ 3.5+ 4.0+ 4.0+ 10.5+
Current Version 10 23 28 6 15
More information on Browser Support

Viewport units: vw, vh, vmin, vmax

CSS

Polyfills for Viewport units: vw, vh, vmin, vmax

  • vminpoly

    A polyfill for CSS units vw, vh & vmin and now some media queries to boot. Works in IE5.5 and Opera Mini

Browser Support for Viewport units: vw, vh, vmin, vmax

IE Firefox Chrome Safari Opera
Supported Version 9.0+ 19.0+ 20.0+ 6.0+ 15.0+
Current Version 10 23 28 6 15
More information on Browser Support

Web Workers

API

Polyfills for Web Workers

Browser Support for Web Workers

IE Firefox Chrome Safari Opera
Supported Version 10.0+ 3.5+ 4.0+ 4.0+ 10.6+
Current Version 10 23 28 6 15
More information on Browser Support

WebGL

API

Polyfills for WebGL

  • jebgl Java emulated WebGL canvas

    JebGL is a piece of Javascript which lets you run your WebGL apps in browsers lacking WebGL support without having to modify your existing code! Behind the scenes JebGL uses a fallback Java applet to emulate the WebGL canvas if needed, and the Java applet runs hardware accelerated on all platforms using JOGL

  • webgl-compat Standards-compliant WebGL compatability layer using Canvas2D

    This project is an attempt at writing a pure-JavaScript WebGL compatibility layer. The goal is to produce a library that emulates WebGL functionality by wrapping around a Canvas2D context

  • cwebgl WebGL stack in javascript

    Implements a WebGL stack (WebGL, OpenGL) using pure Javascript and Canvas element. This allows client applications to support browsers that implement Canvas, but do not implement WebGL (Internet Explorer 9+), or client machines that do not have sufficient graphic drivers

  • IEWebGL

    IEWebGL is a plugin for Microsoft Internet Explorer web browser, that adds support for WebGL

Browser Support for WebGL

IE Firefox Chrome Safari Opera
Supported Version 11.0+ 4.0+ 18.0+ 5.1+ 15.0+
Current Version 10 23 28 6 15
More information on Browser Support

Web Sockets

API

Polyfills for Web Sockets

  • sockjs-client WebSocket emulation - Javascript client

  • Socket.IO

    Socket.IO aims to make realtime apps possible in every browser and mobile device, blurring the differences between the different transport mechanisms. It's care-free realtime 100% in JavaScript

  • web-socket-js HTML5 Web Socket implementation powered by Flash

  • atmosphere jQuery plugin

    Using Atmosphere’s JQuery Plug In to build applications supporting both Websocket and Comet

  • jquery-graceful-websocket The Graceful WebSocket

  • portal Project for realtime web application

    The Portal is a server agnostic JavaScript library that not just provides a socket for browser-based applications that need two-way communication with servers, but also aims to utilize a full duplex connection for modern web application development

  • DataChannel-polyfill

    Web browser polyfill that implement the WebRTC DataChannel API over a websocket

Browser Support for Web Sockets

IE Firefox Chrome Safari Opera
Supported Version 10.0+ 6.0+ 14.0+ 6.0+ 15.0+
Current Version 10 23 28 6 15
More information on Browser Support