happy-domv20.14.5, 12 Sept 2026
Happy DOM is a JavaScript implementation of a web browser without its graphical user interface. It includes many web standards from WHATWG DOM and HTML.
$ npm install happy-dom| Metric | happy-dom | jsdom | Difference |
|---|---|---|---|
| Weekly downloads | 12,435,300 | 75,093,642 | jsdom 6.0x higher |
| 12-month download growth | +420% | +141% | happy-dom +279 pts |
| Gzip size | - | - | - |
| Minified size | - | - | - |
| Dependencies | 7 | 20 | jsdom 13 more |
| Unpacked size | 8.2 MB | 6.8 MB | jsdom 20% smaller |
| Latest release | 20.14.5, 12 Sept 2026 | 30.1.1, 22 Sept 2026 | jsdom 10 days more recent |
| Releases, last 12 months | 90 | 16 | happy-dom 74 more |
| First published | 15 Sept 2019 | 21 Nov 2011 | jsdom 7.8 years earlier |
| GitHub stars | 4,667 | 21,691 | jsdom 4.6x higher |
| Open issues | 335 | 273 | happy-dom 62 more |
| Open pull requests | 120 | 29 | happy-dom 91 more |
| Contributors | - | 382 | - |
| Commits, last 52 weeks | 141 | 277 | jsdom 2.0x higher |
| TypeScript types | Bundled | None | Differs |
| Module format | ESM only | CommonJS | Differs |
| Runtimes | - | - | - |
| License | MIT | MIT | Same |
Green marks the smaller size or the more recent release. Bold marks the higher count, with no judgement implied. Sizes are for the whole package per Bundlephobia. Growth compares the average of the last 4 weeks with the first 4 weeks of the 52-week series.
happy-dom12.4m latest weekjsdom74.7m latest week
Week of 23 Sept 2025Week of 15 Sept 2026
happy-dom
Major versions
- 0.0.115 Sept 2019
- 1.0.04 Oct 2020
- 2.0.014 Dec 2020
- 3.0.026 Apr 2022
- 4.0.019 May 2022
- 5.0.031 May 2022
- 6.0.030 Jun 2022
- 7.0.05 Oct 2022
- 8.0.07 Dec 2022
- 9.0.01 Apr 2023
- 10.0.05 Jul 2023
- 11.0.06 Sept 2023
- 12.0.015 Sept 2023
- 13.0.010 Jan 2024
- 14.0.019 Mar 2024
- 15.0.021 Aug 2024
- 16.0.027 Dec 2024
- 17.0.05 Feb 2025
- 18.0.010 Jun 2025
- 19.0.028 Sept 2025
- 20.0.09 Oct 2025
Last 5 releases
- 20.14.512 Sept 2026
- 20.14.412 Sept 2026
- 20.14.39 Sept 2026
- 20.14.29 Sept 2026
- 20.14.19 Sept 2026
772 releases in total, 90 in the last 12 months
jsdom
Major versions
- 0.0.121 Nov 2011
- 1.0.028 Sept 2014
- 2.0.028 Dec 2014
- 3.0.018 Jan 2015
- 4.0.022 Feb 2015
- 5.0.016 Apr 2015
- 6.0.05 Aug 2015
- 7.0.017 Oct 2015
- 8.0.027 Jan 2016
- 9.0.06 May 2016
- 10.0.024 Apr 2017
- 11.0.021 May 2017
- 12.0.019 Aug 2018
- 13.0.029 Oct 2018
- 14.0.010 Mar 2019
- 15.0.021 Apr 2019
- 16.0.013 Jan 2020
- 17.0.013 Aug 2021
- 18.0.08 Oct 2021
- 19.0.02 Dec 2021
- 20.0.019 Jun 2022
- 21.0.07 Jan 2023
- 22.0.02 May 2023
- 23.0.026 Nov 2023
- 24.0.021 Jan 2024
- 25.0.025 Aug 2024
- 26.0.09 Jan 2025
- 27.0.013 Sept 2025
- 28.0.02 Feb 2026
- 29.0.015 Mar 2026
- 30.0.027 Jul 2026
Last 5 releases
- 30.1.122 Sept 2026
- 30.1.017 Sept 2026
- 30.0.129 Jul 2026
- 30.0.027 Jul 2026
- 29.1.130 Apr 2026
276 releases in total, 16 in the last 12 months
happy-dom
-
jsdom
-
happy-dom
-
jsdom
-
- Need both ESM and CommonJS entry pointsNeither (happy-dom: ESM only; jsdom: CommonJS)
- Need to load it with require()jsdom
- Need TypeScript types in the package itselfhappy-dom (happy-dom: Bundled; jsdom: None)
- Node.js version requirementhappy-dom: >=20.0.0; jsdom: ^22.22.2 || ^24.15.0 || >=26.0.0 (engines field in package.json)
- Need the more recent releasejsdom (30.1.1 on 22 Sept 2026 vs 20.14.5 on 12 Sept 2026)
- Higher weekly npm downloadsjsdom (75.1m vs 12.4m)
Each line is generated from the data above.
happy-dom: happy-dom npm registry, happy-dom npm downloads, happy-dom GitHub, happy-dom jsDelivr. Data fetched 25 Sept 2026.
jsdom: jsdom npm registry, jsdom npm downloads, jsdom GitHub, jsdom jsDelivr. Data fetched 25 Sept 2026.
Keyword demand: DataForSEO Google Ads search volume, US, English
Indexability: Indexed: 160 US searches/month across both orderings ("happy-dom vs jsdom", "jsdom vs happy-dom").