Keep your library size in check

Usage no npm install needed!

<script type="module">
  import condenastBundlesize from 'https://cdn.skypack.dev/@condenast/bundlesize';


Keep your bundle size in check


Build Status NPM Version NPM Downloads  

minimal setup

npm install bundlesize --save-dev



Add it to your scripts in package.json

"scripts": {
  "test": "bundlesize"


Or you can use npx with NPM 5.2+.

npx bundlesize



1) Add the path and maxSize in your package.json.

By default the gzipped size is tested. You can use the compression option to change this. (gzip, brotli, or none).

  "name": "your cool library",
  "version": "1.1.2",
  "bundlesize": [
      "path": "./dist.js",
      "maxSize": "3 kB"

bundlesize also supports glob patterns


"bundlesize": [
    "path": "./dist/vendor-*.js",
    "maxSize": "3 kB"
    "path": "./dist/chunk-*.js",
    "maxSize": "3 kB"

This makes it great for using with applications that are bundled with another tool. It will match multiple files if necessary and create a new row for each file.


2) build status

build status

Currently works for Travis CI, CircleCI, Wercker, and Drone.

(Ask me for help if you're stuck)



example usage:

bundlesize -f "dist/*.js" -s 20kB

For more granular configuration, we recommend configuring it in the package.json (documented above).


like it?

:star: this repo


how to contribute?


Featured on Totally tooling tips and Chrome Dev Summit!!


who uses bundlesize?



  • Work with other CI tools
  • Automate setup (setting env_var)


similar projects


This project exists thanks to all the people who contribute. [Contribute].


MIT © siddharthkp