# browserslist

> Share target browsers between different front-end tools, like Autoprefixer, Stylelint and babel-env-preset

Latest version **4.28.9** (published 2026-09-04) · MIT license · 0 weekly downloads

## Install

```sh
npm install browserslist
pnpm add browserslist
yarn add browserslist
bun add browserslist
```

Provides the command `browserslist`.

## Health

**Score 70/100 (B)** — status: active.

Positive: has types; no vulnerabilities; has provenance; recently updated; high maintenance score; popular repo.

Warnings: low downloads; no esm support.

## Facts

| | |
|---|---|
| Version | 4.28.9 |
| Published | 2026-09-04 |
| First published | 2014-12-15 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Node | ^6 \|\| ^7 \|\| ^8 \|\| ^9 \|\| ^10 \|\| ^11 \|\| ^12 \|\| >=13.7 |
| Dependencies | 5 |
| Unpacked size | 69.8 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Provenance | attested (GitHub Actions) |
| GitHub stars | 13570 |
| Author | Andrey Sitnik |
| Maintainers | ai |
| Keywords | browsers, caniuse, target |

## Links

- npm: https://www.npmjs.com/package/browserslist
- Repository: https://github.com/browserslist/browserslist
- Homepage: https://github.com/browserslist/browserslist#readme
- Issues: https://github.com/browserslist/browserslist/issues
- Funding: https://opencollective.com/browserslist
- npm.io page: https://npm.io/package/browserslist

## Dependencies (5)

- [caniuse-lite](https://npm.io/package/caniuse-lite.md) ^1.0.30001810
- [node-releases](https://npm.io/package/node-releases.md) ^2.0.54
- [electron-to-chromium](https://npm.io/package/electron-to-chromium.md) ^1.5.420
- [update-browserslist-db](https://npm.io/package/update-browserslist-db.md) ^1.3.2
- [baseline-browser-mapping](https://npm.io/package/baseline-browser-mapping.md) ^2.11.20

## Alternatives

- [@opentelemetry/exporter-zipkin](https://npm.io/package/@opentelemetry/exporter-zipkin.md) — 14.8M weekly downloads
- [pusher-js](https://npm.io/package/pusher-js.md) — 2.0M weekly downloads
- [browserify](https://npm.io/package/browserify.md) — 1.7M weekly downloads
- [sqs-consumer](https://npm.io/package/sqs-consumer.md) — 1.7M weekly downloads
- [@sanity/eventsource](https://npm.io/package/@sanity/eventsource.md) — 930.8K weekly downloads

## Recent versions

- 4.28.9 (latest) — 2026-09-04
- 4.28.8 — 2026-08-08
- 4.28.7 — 2026-07-21
- 4.28.6 — 2026-07-11
- 4.28.5 — 2026-07-06
- 4.28.4 — 2026-06-22
- 4.28.3 — 2026-06-22
- 4.28.2 — 2026-03-31
- 4.28.1 — 2025-12-03
- 4.28.0 — 2025-11-10
- 4.27.0 — 2025-10-22
- 4.26.3 — 2025-10-01
- 4.26.2 — 2025-09-16
- 4.26.1 — 2025-09-16
- 4.26.0 — 2025-09-12
- … 202 more at https://npm.io/package/browserslist/versions

## README

# Browserslist

<img width="120" height="120" alt="Browserslist logo by Anton Popov"
     src="https://browsersl.ist/logo.svg" align="right">

The config to share target browsers and Node.js versions between different
front-end tools. It is used in:

- [Autoprefixer]
- [Babel]
- [postcss-preset-env]
- [eslint-plugin-compat]
- [stylelint-no-unsupported-browser-features]
- [postcss-normalize]
- [obsolete-webpack-plugin]

All tools will find target browsers automatically,
when you add the following to `package.json`:

```json
  "browserslist": [
    "defaults and fully supports es6-module",
    "maintained node versions"
  ]
```

Or in `.browserslistrc` config:

```yaml
# Browsers that we support

defaults and fully supports es6-module
maintained node versions
```

Developers set their version lists using queries like `last 2 versions`
to be free from updating versions manually.
Browserslist will use [`caniuse-lite`] with [Can I Use] data for this queries.

You can check how config works at our playground: [`browsersl.ist`](https://browsersl.ist/)

<a href="https://browsersl.ist/">
  <img src="/img/screenshot.webp" alt="browsersl.ist website">
</a>

<br>

---

<img src="https://cdn.evilmartians.com/badges/logo-no-label.svg" alt="" width="22" height="16" />  Browserslist is built by <b><a href="https://evilmartians.com/">Evil Martians</a></b>, an American design and engineering consultancy for <b>developer tools, AI, and cybersecurity startups</b>.

---

[stylelint-no-unsupported-browser-features]: https://github.com/ismay/stylelint-no-unsupported-browser-features
[obsolete-webpack-plugin]: https://github.com/ElemeFE/obsolete-webpack-plugin
[eslint-plugin-compat]: https://github.com/amilajack/eslint-plugin-compat
[postcss-preset-env]: https://github.com/csstools/postcss-plugins/tree/main/plugin-packs/postcss-preset-env
[postcss-normalize]: https://github.com/csstools/postcss-normalize
[`browsersl.ist`]: https://browsersl.ist/
[`caniuse-lite`]: https://github.com/ben-eb/caniuse-lite
[Autoprefixer]: https://github.com/postcss/autoprefixer
[Can I Use]: https://caniuse.com/
[Babel]: https://github.com/babel/babel/tree/master/packages/babel-preset-env

## Docs
Read full docs **[here](https://github.com/browserslist/browserslist#readme)**.

---
_Source: https://npm.io/package/browserslist · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
