npm Package Weight
Search 28 locally measured browser package exports with minified and gzip sizes, versions and a reproducible method.
Enabling local controls…
Measured 2026-10-21 · esbuild 0.28.2 · Node v26.8.1
Browser ESM / ES2022, minified namespace import retaining all exports, gzip level 9, JavaScript output only. Dependencies included; CSS, assets and source maps excluded. Not actual application import size.
| Package / version | Category | Min bytes | Gzip bytes | Functional alternatives / limits |
|---|---|---|---|---|
| react 19.3.1 | UI | 8,801 | 3,433 | Native DOM for small, simple interactions; no component/state system. |
| react-dom 19.3.1 | UI | 12,970 | 4,551 | Native DOM for small islands; different rendering model. |
| bcryptjs 3.0.3 | Cryptography | 20,860 | 9,376 | No equivalent replacement claimed; use only the required exports and verify the production build. |
| bowser 2.14.1 | Web | 37,314 | 7,975 | Feature detection for individual APIs; not browser identification. |
| dompurify 3.4.17 | Web | 31,277 | 12,121 | No equivalent replacement claimed; use only the required exports and verify the production build. |
| fast-xml-parser 5.11.2 | Parsing | 77,735 | 24,872 | No equivalent replacement claimed; use only the required exports and verify the production build. |
| figlet 1.12.0 | Text | 17,066 | 6,599 | No equivalent replacement claimed; use only the required exports and verify the production build. |
| hash-wasm 4.12.0 | Cryptography | 216,345 | 78,884 | No equivalent replacement claimed; use only the required exports and verify the production build. |
| ibantools 4.5.4 | Data | 21,721 | 4,848 | No equivalent replacement claimed; use only the required exports and verify the production build. |
| intl-messageformat 12.1.3 | Text | 34,036 | 10,090 | Intl.NumberFormat / DateTimeFormat for formatting only, not ICU messages. |
| jsonpath-rfc9535 1.3.0 | Parsing | 31,841 | 8,946 | No equivalent replacement claimed; use only the required exports and verify the production build. |
| jsonschema 1.5.0 | Parsing | 29,274 | 8,088 | No equivalent replacement claimed; use only the required exports and verify the production build. |
| libphonenumber-js 1.13.15 | Data | 194,257 | 45,297 | A narrower metadata entry point if your required countries/types allow it. |
| marked 18.1.1 | Text | 46,842 | 14,088 | Plain text if Markdown is unnecessary; rendering semantics differ. |
| parse5 8.0.1 | Parsing | 154,309 | 43,134 | No equivalent replacement claimed; use only the required exports and verify the production build. |
| pdf-lib 1.17.1 | Media | 440,371 | 181,611 | No equivalent replacement claimed; use only the required exports and verify the production build. |
| postal-mime 4.0.8 | Parsing | 84,790 | 27,133 | No equivalent replacement claimed; use only the required exports and verify the production build. |
| qrcode 1.5.4 | Media | 24,817 | 9,663 | No equivalent replacement claimed; use only the required exports and verify the production build. |
| smol-toml 1.9.1 | Parsing | 16,855 | 6,703 | No equivalent replacement claimed; use only the required exports and verify the production build. |
| specificity 1.0.0 | Parsing | 171,790 | 49,876 | No equivalent replacement claimed; use only the required exports and verify the production build. |
| sql-formatter 15.9.0 | Parsing | 294,103 | 76,285 | No equivalent replacement claimed; use only the required exports and verify the production build. |
| string-width 8.3.0 | Text | 6,117 | 2,842 | String length counts UTF-16 units, not terminal cell width. |
| yaml 2.9.1 | Parsing | 103,905 | 32,115 | No equivalent replacement claimed; use only the required exports and verify the production build. |
| @scure/bip39 2.4.0 | Cryptography | 18,210 | 7,763 | No equivalent replacement claimed; use only the required exports and verify the production build. |
| @jridgewell/trace-mapping 0.3.31 | Parsing | 11,328 | 4,814 | No equivalent replacement claimed; use only the required exports and verify the production build. |
| @formatjs/icu-messageformat-parser 3.5.21 | Text | 28,559 | 8,420 | No equivalent replacement claimed; use only the required exports and verify the production build. |
| @eslint-community/regexpp 4.12.2 | Parsing | 58,503 | 14,945 | No equivalent replacement claimed; use only the required exports and verify the production build. |
| css-tree 3.2.1 | Parsing | 202,666 | 56,990 | No equivalent replacement claimed; use only the required exports and verify the production build. |
Reproduce this snapshot
In this repository with its locked dependencies, run:
pnpm exec tsx src/lib/flavio-ops-measure.tsThe script measures each package separately without executing its exports. Compare versions before comparing sizes.
How to use this tool
Filter the snapshot and inspect versions. Measure your actual application imports before choosing a dependency.
When not to use it
Namespace all-exports snapshots are not real application bundles. Functional alternatives are suggestions, not equivalent drop-in replacements.