Sizes

November 25, 2025 ยท View on GitHub

This doc tracks important size metrics for Material Web Components.

Sizes are tracked in bundles. A bundle is a single .js file for one or more components that includes all of the JavaScript and CSS needed, minus external dependencies. We track three metrics:

  • gzip - minified and compressed. This impacts download size, which can take longer over slow networks.

  • minified - minified and unpacked. This impacts the time it takes a page to be interactive, which can take longer on some devices.

  • % CSS - the amount of CSS compared to JavaScript. The bundle includes both JS and CSS, so this helps track changes to JS logic and CSS styles separately.

Last updated 2025-08-20.

Componentgzipminified% CSSImport
All72.1kb455.5kb64% CSS@material/web/all.js
Common53.7kb287.6kb52% CSS@material/web/common.js
Button8.4kb48.4kb64% CSS
7.0kb29.0kb47% CSS@material/web/button/elevated-button.js
7.0kb28.9kb47% CSS@material/web/button/filled-button.js
7.0kb29.3kb48% CSS@material/web/button/filled-tonal-button.js
6.8kb27.4kb46% CSS@material/web/button/outlined-button.js
6.6kb25.8kb43% CSS@material/web/button/text-button.js
Checkbox7.0kb27.3kb37% CSS@material/web/checkbox/checkbox.js
Chips10.5kb62.6kb62% CSS
5.1kb17.7kb21% CSS@material/web/chips/chip-set.js
6.8kb28.5kb49% CSS@material/web/chips/assist-chip.js
8.3kb38.6kb53% CSS@material/web/chips/filter-chip.js
7.8kb35.4kb52% CSS@material/web/chips/input-chip.js
6.8kb28.9kb49% CSS@material/web/chips/suggestion-chip.js
Dialog5.0kb17.1kb27% CSS@material/web/dialog/dialog.js
Divider0.6kb1.3kb34% CSS@material/web/divider/divider.js
Elevation0.6kb1.7kb62% CSS@material/web/elevation/elevation.js
Fab7.2kb38.5kb66% CSS
6.9kb34.0kb63% CSS@material/web/fab/fab.js
6.1kb25.7kb50% CSS@material/web/fab/branded-fab.js
Field6.1kb41.5kb83% CSS
4.7kb25.5kb74% CSS@material/web/field/filled-field.js
5.0kb27.7kb76% CSS@material/web/field/outlined-field.js
Focus1.5kb5.4kb49% CSS@material/web/focus/md-focus-ring.js
Icon0.7kb1.3kb47% CSS@material/web/icon/icon.js
Icon button7.7kb44.9kb64% CSS
6.2kb24.8kb40% CSS@material/web/iconbutton/icon-button.js
6.4kb26.9kb44% CSS@material/web/iconbutton/filled-icon-button.js
6.4kb27.5kb45% CSS@material/web/iconbutton/filled-tonal-icon-button.js
6.4kb26.5kb44% CSS@material/web/iconbutton/outlined-icon-button.js
List7.3kb28.4kb33% CSS
1.6kb4.7kb4% CSS@material/web/list/list.js
6.1kb23.9kb39% CSS@material/web/list/list-item.js
Menu14.1kb55.9kb22% CSS
8.2kb30.2kb17% CSS@material/web/menu/menu.js
6.8kb26.5kb36% CSS@material/web/menu/menu-item.js
8.6kb33.0kb11% CSS@material/web/menu/sub-menu.js
Progress3.8kb14.8kb65% CSS
2.9kb9.6kb56% CSS@material/web/progress/linear-progress.js
2.5kb8.3kb51% CSS@material/web/progress/circular-progress.js
Radio6.6kb24.4kb28% CSS@material/web/radio/radio.js
Ripple2.7kb7.7kb13% CSS@material/web/ripple/ripple.js
Select26.6kb146.9kb56% CSS
18.8kb93.6kb47% CSS@material/web/select/filled-select.js
19.0kb94.1kb47% CSS@material/web/select/outlined-select.js
6.9kb27.6kb35% CSS@material/web/select/select-option.js
Slider9.9kb43.2kb45% CSS@material/web/slider/slider.js
Switch8.0kb33.5kb45% CSS@material/web/switch/switch.js
Tabs7.7kb35.2kb50% CSS
6.1kb21.9kb25% CSS@material/web/tabs/tabs.js
6.2kb25.6kb49% CSS@material/web/tabs/primary-tab.js
6.1kb25.2kb48% CSS@material/web/tabs/secondary-tab.js
Text field14.7kb97.2kb73% CSS
11.5kb64.1kb61% CSS@material/web/textfield/filled-text-field.js
11.7kb64.6kb61% CSS@material/web/textfield/outlined-text-field.js