Minifier Benchmarks
May 1, 2026 Β· View on GitHub
A collection of regularly updated benchmarks for HTML+ minifiers (context).
Two tests are run: One exclusively applying HTML minification (with the most aggressive settings that do not impact conformance), the other enabling all minification features the respective minifier offers (this is playβitβs not a fair comparison and may exceed project needs).
- π©βπ» Minifier user? Compare HTML minifiers by HTML minification effectiveness, by maximum effectiveness (all minification and tree-shaking options enabled), and by the respective processing times
- π§βπ Minifier author? Add and configure your minifier and become a co-owner
- π Innocent bystander? Please share observations and suggestions
0. Minifier Overview
| @swc/html | HTML Minifier Next | htmlΒcomΒpressor.Βcom | htmlnano | minify-html | minimize | |
|---|---|---|---|---|---|---|
| Last npm update | n/a | |||||
| Socket health status | n/a | |||||
| GitHub sponsors | n/a | n/a | n/a | n/a |
1. HTML Minification Compared
| Site | Original Size (KB) | @swc/html | HTML Minifier Next | htmlΒcomΒpressor.Βcom | htmlnano | minify-html | minimize |
|---|---|---|---|---|---|---|---|
| Minifier Test | 31 | 26 (β17.2%) | 25 (β19.6%) | 26 (β17%) | 26 (β16.5%) | 25 (β19.2%) | 26 (β16.3%) |
| A List Apart | 64 | 60 (β6.4%) | 58 (β8.9%) | 59 (β7.2%) | 59 (β8.2%) | 58 (β8.9%) | 59 (β7.3%) |
| Apple | 244 | 232 (β5.1%) | 225 (β7.8%) | 230 (β5.8%) | 229 (β6.3%) | 228 (β6.9%) | 230 (β6.1%) |
| BBC | 701 | 697 (β0.7%) | 691 (β1.5%) | n/a | 695 (β0.9%) | 692 (β1.4%) | 696 (β0.8%) |
| Bun | 461 | 451 (β2.2%) | 441 (β4.2%) | n/a | 454 (β1.5%) | 452 (β2%) | 455 (β1.3%) |
| CERN | 151 | 93 (β38.3%) | 82 (β45.8%) | 96 (β36.7%) | 92 (β39.1%) | 92 (β39.5%) | 93 (β38.5%) |
| CSS-Tricks | 168 | 156 (β7.5%) | 153 (β9.1%) | 155 (β8%) | 153 (β8.8%) | 153 (β9%) | 155 (β8.1%) |
| DeepSeek | 105 | 104 (β0.7%) | 98 (β7.1%) | 104 (β1.1%) | 104 (β1.4%) | 104 (β1.2%) | 104 (β1.1%) |
| DIN | 253 | 182 (β28.2%) | 176 (β30.6%) | 183 (β27.7%) | 182 (β28%) | 180 (β29%) | 183 (β27.8%) |
| DLR | 547 | 544 (β0.6%) | 541 (β1%) | n/a | 543 (β0.8%) | 542 (β1%) | 544 (β0.5%) |
| ECMAScript | 7237 | 6880 (β4.9%) | 6645 (β8.2%) | n/a | 6757 (β6.6%) | 6780 (β6.3%) | 6810 (β5.9%) |
| EDRi | 84 | 77 (β7.6%) | 77 (β8.2%) | 78 (β6.6%) | 77 (β7.5%) | 77 (β8.1%) | 78 (β6.7%) |
| EFF | 55 | 50 (β8%) | 48 (β12.5%) | 50 (β7.7%) | 49 (β9.9%) | 48 (β11.4%) | 49 (β9.6%) |
| European Alternatives | 49 | 33 (β33.1%) | 33 (β33.9%) | 33 (β32.9%) | 33 (β33.1%) | 33 (β33.7%) | 33 (β33.1%) |
| FAZ | 1389 | 1347 (β3%) | 1329 (β4.3%) | n/a | 1344 (β3.2%) | 1335 (β3.8%) | 1341 (β3.4%) |
| French Tech | 154 | 134 (β12.9%) | 133 (β13.9%) | 134 (β13%) | 134 (β13.2%) | 133 (β13.9%) | 134 (β13.1%) |
| Front-End Social | 36 | 34 (β3.7%) | 34 (β5.6%) | 35 (β3.1%) | 34 (β5.5%) | 34 (β5.6%) | 35 (β3.1%) |
| Frontend Dogma | 221 | 229 (+3.6%) | 221 (0%) | 220 (β0.2%) | 234 (+6%) | 220 (0%) | 239 (+8.3%) |
| 79 | 124 (+57.6%) | 78 (β0.6%) | 79 (β0.3%) | 78 (β0.8%) | 79 (β0.5%) | 79 (β0.3%) | |
| Ground News | 1804 | 1780 (β1.3%) | 1741 (β3.5%) | n/a | 1787 (β0.9%) | 1779 (β1.4%) | 1790 (β0.8%) |
| HTML 3.2 | 123 | 119 (β3%) | 119 (β3%) | 121 (β1.2%) | 124 (+0.9%) | 119 (β3.2%) | 123 (+0.5%) |
| HTML Living Standard | 149 | 152 (+1.8%) | 148 (β0.6%) | 149 (β0.2%) | 153 (+2.6%) | 149 (β0.3%) | 155 (+3.8%) |
| IETF | 83 | 34 (β58.7%) | 32 (β61.2%) | 35 (β58.2%) | 34 (β59.3%) | 34 (β59.8%) | 34 (β58.7%) |
| Igalia | 49 | 37 (β24.1%) | 34 (β29.4%) | 37 (β25.1%) | 36 (β25.6%) | 36 (β26%) | 36 (β25.5%) |
| Ladybird | 24 | 23 (β4.6%) | 23 (β7.3%) | 23 (β5.5%) | 23 (β6.1%) | 23 (β6.6%) | 23 (β5.6%) |
| Leanpub | 338 | 334 (β1.3%) | 325 (β3.8%) | n/a | 333 (β1.4%) | 331 (β2.1%) | 332 (β1.8%) |
| Legge Stanca | 17 | 12 (β28.5%) | 12 (β30.4%) | 12 (β27.3%) | 12 (β29.7%) | 12 (β30.2%) | 12 (β27.5%) |
| Mastodon | 34 | 33 (β3.5%) | 32 (β5.3%) | 33 (β2.9%) | 32 (β5.2%) | 32 (β5.3%) | 33 (β3%) |
| MDN | 117 | 71 (β39.2%) | 68 (β41.7%) | 73 (β37.8%) | 73 (β38%) | 70 (β40.4%) | 72 (β38.2%) |
| Mistral AI | 350 | 341 (β2.5%) | 339 (β3%) | n/a | 345 (β1.3%) | 341 (β2.6%) | 346 (β1.1%) |
| Mondoweiss | 400 | 396 (β1.2%) | 381 (β4.9%) | n/a | 385 (β3.9%) | 384 (β4.2%) | 387 (β3.4%) |
| Mozilla | 47 | 37 (β21%) | 35 (β25.9%) | 37 (β22.3%) | 36 (β23.9%) | 35 (β26.1%) | 36 (β23.1%) |
| Nielsen Norman Group | 100 | 84 (β16.2%) | 83 (β17.3%) | 84 (β15.9%) | 85 (β15.5%) | 83 (β17%) | 85 (β15.5%) |
| Opera | 231 | 178 (β22.9%) | 173 (β25.1%) | 176 (β23.8%) | 177 (β23.5%) | 175 (β24.4%) | 177 (β23.6%) |
| OSCE | 177 | 149 (β15.7%) | 147 (β16.9%) | 149 (β15.7%) | 150 (β15.5%) | 147 (β17%) | 150 (β15.5%) |
| Scrum Guide | 34 | 31 (β8.9%) | 30 (β10.7%) | 32 (β7.3%) | 31 (β7.9%) | 31 (β10.1%) | 31 (β7.8%) |
| SELFHTML | 21 | 20 (β7.5%) | 18 (β17.3%) | 18 (β13.6%) | 18 (β14.4%) | 18 (β16.7%) | 18 (β14.1%) |
| SitePoint | 233 | 230 (β1.3%) | 229 (β1.5%) | 231 (β0.7%) | 231 (β0.9%) | 230 (β1.1%) | 231 (β0.7%) |
| Smashing Magazine | 283 | 283 (+0.2%) | 281 (β0.6%) | 283 (β0.1%) | 282 (β0.2%) | 281 (β0.4%) | 283 (+0%) |
| Startup-Verband | 46 | 34 (β26.1%) | 33 (β29%) | 34 (β26.5%) | 34 (β26.9%) | 33 (β27.9%) | 34 (β26.2%) |
| TAZ | 413 | 389 (β5.6%) | 370 (β10.4%) | n/a | 380 (β7.9%) | 379 (β8.1%) | 382 (β7.4%) |
| TetraLogical | 61 | 55 (β10%) | 54 (β10.3%) | 55 (β9.7%) | 55 (β9.7%) | 54 (β10.2%) | 55 (β9.7%) |
| TPGi | 181 | 166 (β8.2%) | 163 (β9.7%) | 166 (β8.3%) | 164 (β9.2%) | 163 (β9.4%) | 165 (β8.3%) |
| United Nations | 152 | 131 (β13.6%) | 127 (β16.7%) | 131 (β13.7%) | 130 (β14.5%) | 129 (β15.2%) | 131 (β13.9%) |
| UX Collective | 96 | 137 (+42.6%) | 94 (β2.6%) | 95 (β0.8%) | 95 (β1.2%) | 95 (β1.4%) | 95 (β0.9%) |
| Vivaldi | 93 | 85 (β8.6%) | 84 (β10.5%) | 85 (β9.2%) | 85 (β9.5%) | 84 (β10.5%) | 85 (β9.2%) |
| W3C | 51 | 41 (β18.7%) | 40 (β20.7%) | 41 (β19%) | 41 (β19.4%) | 40 (β20.3%) | 41 (β18.9%) |
| WordPress Blog | 206 | 191 (β7.4%) | 188 (β9%) | 192 (β6.8%) | 191 (β7.4%) | 189 (β8.3%) | 193 (β6.6%) |
| Sites processed (of sites overall) | 48/48 | 48/48 | 38/48 | 48/48 | 48/48 | 48/48 | |
| Average processing time | 30 ms | 43 ms | 773 ms | 35 ms | 8 ms | 189 ms | |
| Average result (KB) | 374 | 355 (β5.1%) | 344 (β8.1%) | 363 (β2.9%) | 350 (β6.4%) | 349 (β6.7%) | 352 (β5.9%) |
2. Maximum Minification Compared
| Site | Original Size (KB) | @swc/html | HTML Minifier Next | htmlΒcomΒpressor.Βcom | htmlnano | minify-html | minimize |
|---|---|---|---|---|---|---|---|
| Minifier Test | 31 | 24 (β23.3%) | 23 (β25.5%) | 24 (β22.9%) | 23 (β26.5%) | 23 (β25.3%) | 26 (β16.3%) |
| A List Apart | 64 | 58 (β9.6%) | 54 (β15.1%) | 58 (β10%) | 40 (β37%) | 56 (β12%) | 59 (β7.3%) |
| Apple | 244 | 232 (β5.2%) | 215 (β11.9%) | 230 (β5.9%) | 220 (β10.1%) | 227 (β7%) | 230 (β6.1%) |
| BBC | 701 | 660 (β5.9%) | 645 (β8%) | n/a | 656 (β6.5%) | 655 (β6.7%) | 696 (β0.8%) |
| Bun | 461 | 435 (β5.7%) | 420 (β8.8%) | n/a | 374 (β18.9%) | 436 (β5.3%) | 455 (β1.3%) |
| CERN | 151 | 93 (β38.3%) | 81 (β46.5%) | 96 (β36.7%) | 90 (β40.3%) | 91 (β39.9%) | 93 (β38.5%) |
| CSS-Tricks | 168 | 145 (β13.5%) | 134 (β20.4%) | 147 (β12.4%) | 114 (β32.4%) | 145 (β13.5%) | 155 (β8.1%) |
| DeepSeek | 105 | 100 (β5.1%) | 84 (β19.9%) | 100 (β5.1%) | 90 (β14.4%) | 99 (β5.4%) | 104 (β1.1%) |
| DIN | 253 | 175 (β30.8%) | 164 (β35.3%) | 176 (β30.5%) | 136 (β46.3%) | 174 (β31.1%) | 183 (β27.8%) |
| DLR | 547 | 514 (β6%) | 504 (β7.8%) | n/a | 500 (β8.7%) | 506 (β7.4%) | 544 (β0.5%) |
| ECMAScript | 7237 | 6880 (β4.9%) | 6644 (β8.2%) | n/a | 6756 (β6.6%) | 6780 (β6.3%) | 6810 (β5.9%) |
| EDRi | 84 | 74 (β11.1%) | 70 (β15.8%) | 76 (β9.5%) | 55 (β34.6%) | 74 (β11.3%) | 78 (β6.7%) |
| EFF | 55 | 49 (β10.7%) | 44 (β18.6%) | 49 (β9.9%) | 47 (β14.1%) | 48 (β12.4%) | 49 (β9.6%) |
| European Alternatives | 49 | 33 (β33.2%) | 31 (β37.7%) | 33 (β33%) | 31 (β37%) | 33 (β33.8%) | 33 (β33.1%) |
| FAZ | 1389 | 1340 (β3.5%) | 1284 (β7.5%) | n/a | 1213 (β12.7%) | 1329 (β4.3%) | 1341 (β3.4%) |
| French Tech | 154 | 128 (β17%) | 124 (β20%) | 129 (β16.4%) | 53 (β65.5%) | 127 (β17.5%) | 134 (β13.1%) |
| Front-End Social | 36 | 34 (β3.7%) | 31 (β13.9%) | 35 (β3.1%) | 31 (β13.8%) | 34 (β5.6%) | 35 (β3.1%) |
| Frontend Dogma | 221 | 229 (+3.6%) | 213 (β3.4%) | 220 (β0.2%) | 225 (+2.2%) | 220 (0%) | 239 (+8.3%) |
| 79 | 75 (β5%) | 74 (β5.7%) | 78 (β0.8%) | 63 (β19.9%) | 76 (β3.7%) | 79 (β0.3%) | |
| Ground News | 1804 | 1689 (β6.3%) | 1615 (β10.5%) | n/a | 1663 (β7.8%) | 1687 (β6.5%) | 1790 (β0.8%) |
| HTML 3.2 | 123 | 119 (β3.1%) | 118 (β3.4%) | 121 (β1.3%) | 123 (+0.7%) | 119 (β3.3%) | 123 (+0.5%) |
| HTML Living Standard | 149 | 152 (+1.8%) | 148 (β0.7%) | 149 (β0.3%) | 153 (+2.5%) | 149 (β0.3%) | 155 (+3.8%) |
| IETF | 83 | 34 (β59%) | 32 (β62%) | 35 (β58.3%) | 33 (β60%) | 33 (β59.9%) | 34 (β58.7%) |
| Igalia | 49 | 36 (β25.4%) | 33 (β31.8%) | 36 (β26%) | 35 (β28.2%) | 35 (β27.4%) | 36 (β25.5%) |
| Ladybird | 24 | 23 (β4.6%) | 22 (β8.7%) | 23 (β5.5%) | 23 (β7.7%) | 23 (β6.6%) | 23 (β5.6%) |
| Leanpub | 338 | 323 (β4.3%) | 306 (β9.5%) | n/a | 314 (β7%) | 321 (β5.2%) | 332 (β1.8%) |
| Legge Stanca | 17 | 10 (β43.8%) | 9 (β46.5%) | 10 (β42.7%) | 9 (β46.5%) | 10 (β40.5%) | 12 (β27.5%) |
| Mastodon | 34 | 32 (β4.9%) | 29 (β15.2%) | 33 (β3.3%) | 29 (β15.1%) | 32 (β5.7%) | 33 (β3%) |
| MDN | 117 | 71 (β39.3%) | 67 (β42.8%) | 73 (β37.8%) | 55 (β52.9%) | 70 (β40.5%) | 72 (β38.2%) |
| Mistral AI | 350 | 318 (β9.2%) | 302 (β13.7%) | n/a | 309 (β11.6%) | 317 (β9.5%) | 346 (β1.1%) |
| Mondoweiss | 400 | 377 (β5.8%) | 364 (β9%) | n/a | 358 (β10.7%) | 373 (β6.9%) | 387 (β3.4%) |
| Mozilla | 47 | 37 (β21%) | 32 (β31.7%) | 37 (β22.3%) | 33 (β29.6%) | 35 (β26.1%) | 36 (β23.1%) |
| Nielsen Norman Group | 100 | 83 (β17%) | 59 (β41.2%) | 84 (β16.5%) | 60 (β40.5%) | 83 (β17.5%) | 85 (β15.5%) |
| Opera | 231 | 173 (β25%) | 147 (β36.6%) | 176 (β24%) | 109 (β52.7%) | 170 (β26.3%) | 177 (β23.6%) |
| OSCE | 177 | 149 (β15.7%) | 140 (β21%) | 149 (β15.7%) | 141 (β20.4%) | 147 (β17.2%) | 150 (β15.5%) |
| Scrum Guide | 34 | 31 (β9%) | 30 (β10.9%) | 32 (β7.3%) | 31 (β8.3%) | 31 (β10.1%) | 31 (β7.8%) |
| SELFHTML | 21 | 18 (β14.1%) | 17 (β19%) | 18 (β14.3%) | 18 (β15.8%) | 18 (β17.5%) | 18 (β14.1%) |
| SitePoint | 233 | 221 (β5%) | 208 (β10.6%) | 231 (β1%) | 210 (β10%) | 222 (β4.8%) | 231 (β0.7%) |
| Smashing Magazine | 283 | 282 (β0.3%) | 279 (β1.4%) | 282 (β0.1%) | 269 (β5%) | 280 (β0.9%) | 283 (+0%) |
| Startup-Verband | 46 | 34 (β26.2%) | 32 (β30.6%) | 34 (β26.6%) | 33 (β28.6%) | 33 (β28.1%) | 34 (β26.2%) |
| TAZ | 413 | 370 (β10.5%) | 345 (β16.5%) | n/a | 360 (β12.8%) | 369 (β10.6%) | 382 (β7.4%) |
| TetraLogical | 61 | 54 (β10.2%) | 50 (β16.8%) | 55 (β9.9%) | 51 (β16.4%) | 54 (β10.4%) | 55 (β9.7%) |
| TPGi | 181 | 135 (β24.9%) | 132 (β26.6%) | 142 (β21.6%) | 117 (β35.4%) | 141 (β21.9%) | 165 (β8.3%) |
| United Nations | 152 | 128 (β16.1%) | 113 (β25.5%) | 124 (β18.5%) | 85 (β44.1%) | 125 (β17.7%) | 131 (β13.9%) |
| UX Collective | 96 | 89 (β7.1%) | 87 (β9.4%) | 91 (β5.1%) | 88 (β8.8%) | 89 (β7.7%) | 95 (β0.9%) |
| Vivaldi | 93 | 82 (β11.9%) | 75 (β19.7%) | 83 (β11%) | 70 (β25.2%) | 82 (β12.5%) | 85 (β9.2%) |
| W3C | 51 | 39 (β22.4%) | 36 (β28.7%) | 39 (β22.8%) | 37 (β27.3%) | 38 (β24.1%) | 41 (β18.9%) |
| WordPress Blog | 206 | 169 (β17.9%) | 160 (β22.5%) | 179 (β13.2%) | 141 (β31.7%) | 177 (β14.4%) | 193 (β6.6%) |
| Sites processed (of sites overall) | 48/48 | 48/48 | 38/48 | 48/48 | 48/48 | 48/48 | |
| Average processing time | 35 ms | 65 ms | 1323 ms | 140 ms | 11 ms | 190 ms | |
| Average result (KB) | 374 | 345 (β7.7%) | 330 (β11.8%) | 361 (β3.5%) | 327 (β12.7%) | 342 (β8.6%) | 352 (β5.9%) |
Benchmarks last updated: May 1, 2026
Notes
- Minifiers:
- htmlcompressor.com incorrectly converts no-break spaces to spaces which can give an impression of greater effectiveness (last confirmed Apr 4, 2026).
- minify-html βinvalidatesβ markup, notably by removing spaces in doctypes (
<!doctypehtml>) (last confirmed Apr 4, 2026). - Minimize only minifies HTML.
- HTML Minifier Terser is currently not included due to issues around whitespace collapsing and removal of code using modern CSS features, issues which appeared to distort the data.
- Calculation:
- Calculations are done based on bytes, which are used to compare effectiveness.
- Failed sites are not excluded from the calculation for the average result, but counted as unminified. This avoids test failures advantaging the respective minifier.
- Benchmarks are currently run manually (on a 2024 Apple Mac Mini) but may be automated in the future.