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: Oct. 23, 2021, 6:02 a.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
8m
MIT

Uncategorised

A polyfill for ES6-style Promises

7.12K
608
2y 4m
MIT

Map collection as specified in ECMAScript6

72
12
10m
MIT

WeakMap collection as specified in ECMAScript6

28
6
2y 4m
ISC

Set collection as specified in ECMAScript 6

48
8
2y 4m
MIT

ECMAScript 6 Symbol polyfill

175
26
1y 12m
ISC

Regular expressions with named capture groups and named back-references

9
2
1y 12m
MIT

ECMAScript spec-compliant polyfill/shim for globalThis.

122
9
8m
MIT

Numbers

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

4.51K
599
10m
MIT

ES2015 Number.isNaN() ponyfill

24
7
9m
MIT

ES2015 Number.isFinite() ponyfill

16
5
9m
MIT

ES2015 (ES6) Number.isInteger polyfill

12
3
4y 5m
n/a

Strings

Thanks microsoft

13
8
6y 7m
MIT

ES5 spec-compliant shim for String.prototype.trim

13
3
8m
MIT

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

7
3
11m
MIT

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

8
2
11m
MIT

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

16
0
8m
MIT

Objects

Official ES spec-compliant polyfill for Object.fromEntries

27
2
8m
MIT

ES2017 spec-compliant shim for Object.entries

53
5
8m
MIT

Object.keys shim

38
14
1y 55d
MIT

ES2017 spec-compliant shim for Object.values

68
5
8m
MIT

ES2015 Object.assign() ponyfill

880
76
9m
MIT

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

23
6
8m
MIT

A JSON polyfill. No longer maintained.

1.03K
163
2y 5m
n/a

Arrays

A ponyfill for the ES 2015 Array.from()

17
5
5y 5m
MIT

Array.prototype.every spec-compliant polyfill

6
1
8m
MIT

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

37
18
1y 8m
MIT

Array.prototype.some spec-compliant polyfill

2
0
8m
MIT

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

29
4
11m
MIT

[].map(f) for old browsers

11
4
7y 10m
n/a

Array#forEach ponyfill for older browsers

8
0
5y 23d
MIT

Array.prototype.includes spec-compliant polyfill

38
12
8m
MIT

Thanks microsoft

13
8
6y 7m
MIT

Array#isArray for older browsers.

109
35
10m
MIT

Browser Features

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

1.05K
54
8m
MIT

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

7
1
1y 103d
MIT

Cross-platform FormData support.

1
0
1y 7m
MIT

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

270
23
9m
MIT

๐Ÿ”Ž Polyfill for the PerformanceObserver API

21
2
1y 37d
n/a

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

125
14
1y 8m
MIT

Node.js implementation of the Web Bluetooth Specification

84
12
10m
MIT

A polyfill for the Resize Observer API

1.41K
94
2y 10m
MIT

Web Cryptography API shim for legacy browsers

111
36
8m
MIT

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

1K
50
1y 99d
MIT

requestAnimationFrame polyfill library

696
56
2y 8m
MIT

XMLHttpRequest emulator for node.js

88
32
8m
MIT

Node.js Features

Node's event emitter for all engines.

995
143
1y 78d
MIT

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

213
15
3y 6m
MIT

A ponyfill for Buffer.from

16
4
1y 6m
MIT

Gracefully terminate a script in Node.js or browsers.

1
0
1y 9m
MIT

Environment agnostic nextTick polyfill

67
6
1y 4m
ISC