User Experience on mobile might not be great yet, but I'm working on it.

Your first time on this page? Allow me to give some explanations.

Awesome Ponyfills

A curated list of awesome ponyfills for writing cross-platform and cross-browser code.

Here you can see meta information about this topic like the time we last updated this page, the original creator of the awesome list and a link to the original GitHub repository.

Last Update: June 24, 2021, 12:07 p.m.

Thank you Richienb & contributors
View Topic on GitHub:
Richienb/awesome-ponyfills

Search for resources by name or description.
Simply type in what you are looking for and the results will be filtered on the fly.

Further filter the resources on this page by type (repository/other resource), number of stars on GitHub and time of last commit in months.

Articles

Main

Standard Library

14.26K
1.01K
4m
MIT

Uncategorised

A polyfill for ES6-style Promises

7.12K
608
2y 6d
MIT

Map collection as specified in ECMAScript6

72
12
6m
MIT

WeakMap collection as specified in ECMAScript6

28
6
2y 11d
ISC

Set collection as specified in ECMAScript 6

48
8
2y 11d
MIT

ECMAScript 6 Symbol polyfill

175
26
1y 7m
ISC

Regular expressions with named capture groups and named back-references

9
2
1y 8m
MIT

ECMAScript spec-compliant polyfill/shim for globalThis.

122
9
4m
MIT

Numbers

A JavaScript library for arbitrary-precision decimal and non-decimal arithmetic

4.51K
599
6m
MIT

ES2015 Number.isNaN() ponyfill

24
7
5m
MIT

ES2015 Number.isFinite() ponyfill

16
5
5m
MIT

ES2015 (ES6) Number.isInteger polyfill

12
3
4y 51d
n/a

Strings

Thanks microsoft

13
8
6y 94d
MIT

ES5 spec-compliant shim for String.prototype.trim

13
3
4m
MIT

ES2019 spec-compliant shim for String.prototype.trimLeft.

7
3
7m
MIT

ES2019 spec-compliant shim for String.prototype.trimRight.

8
2
7m
MIT

Spec-compliant polyfill for String.prototype.replaceAll ESnext proposal.

16
0
4m
MIT

Objects

Official ES spec-compliant polyfill for Object.fromEntries

27
2
4m
MIT

ES2017 spec-compliant shim for Object.entries

53
5
4m
MIT

Object.keys shim

38
14
9m
MIT

ES2017 spec-compliant shim for Object.values

68
5
4m
MIT

ES2015 Object.assign() ponyfill

880
76
5m
MIT

ES6-compliant shim for Object.is - differentiates between -0 and +0, and can compare to NaN.

23
6
4m
MIT

A JSON polyfill. No longer maintained.

1.03K
163
2y 29d
n/a

Arrays

A ponyfill for the ES 2015 Array.from()

17
5
5y 58d
MIT

Array.prototype.every spec-compliant polyfill

6
1
4m
MIT

Simple ES6 Array.prototype.find polyfill for older environments.

37
18
1y 4m
MIT

Array.prototype.some spec-compliant polyfill

2
0
4m
MIT

An ESnext spec-compliant Array.prototype.flatMap shim/polyfill/replacement that works as far down as ES3.

29
4
7m
MIT

[].map(f) for old browsers

11
4
7y 6m
n/a

Array#forEach ponyfill for older browsers

8
0
4y 8m
MIT

Array.prototype.includes spec-compliant polyfill

38
12
4m
MIT

Thanks microsoft

13
8
6y 94d
MIT

Array#isArray for older browsers.

109
35
6m
MIT

Browser Features

Universal WHATWG Fetch API for Node, Browsers and React Native.

1.05K
54
4m
MIT

Cross-platform Blob implementation for Node.js and the Web.

7
1
11m
MIT

Cross-platform FormData support.

1
0
1y 103d
MIT

Polyfill for the AbortController DOM API and abortable fetch (stub that calls catch, doesn't actually abort request).

270
23
5m
MIT

๐Ÿ”Ž Polyfill for the PerformanceObserver API

21
2
9m
n/a

Adds console.table method that prints an array of objects as a table in console

125
14
1y 4m
MIT

Node.js implementation of the Web Bluetooth Specification

84
12
6m
MIT

A polyfill for the Resize Observer API

1.41K
94
2y 6m
MIT

Web Cryptography API shim for legacy browsers

111
36
4m
MIT

Client-side support for CSS custom properties (aka "CSS variables") in legacy and modern browsers

1K
50
11m
MIT

requestAnimationFrame polyfill library

696
56
2y 4m
MIT

XMLHttpRequest emulator for node.js

88
32
4m
MIT

Node.js Features

Node's event emitter for all engines.

995
143
10m
MIT

Tiny library (<200B gzip) for deferring something by a "tick"

213
15
3y 66d
MIT

A ponyfill for Buffer.from

16
4
1y 80d
MIT

Gracefully terminate a script in Node.js or browsers.

1
0
1y 5m
MIT

Environment agnostic nextTick polyfill

67
6
1y 28d
ISC