capricorn86/happy-dom

A JavaScript implementation of a web browser without its graphical user interface

4,634

stars

2,316

commits

TypeScript

primary language

Sep 3, 2026

updated

angular
browser
bun
dom
hacktoberfest
hacktoberfest2025
html
javascript
jest
lit-element
lit-html
nodejs
react
svelte
testing-library
typescript
vitest
vue
web-components
whatwg

README

Happy DOM Logo

A JavaScript implementation of a web browser without its graphical user interface.

Published on NPM

Documentation | Getting started | Setup as Test Environment

DOM Features

  • Custom Elements (Web Components)

  • Declarative Shadow DOM

  • Mutation Observer

  • Tree Walker

  • Fetch API

And much more..

Works With

Sponsors

Sponsors

Sentry    Canonical    Canonical

Contributing

See Contributing Guide.

License

MIT License © 2019-Present David Ortner

Contributors

(top 30 of 166)

capricorn86

1,770 commits

Mas0nShi

79 commits

btea

58 commits

TrevorBurnham

27 commits

capricorn86/happy-dom

A JavaScript implementation of a web browser without its graphical user interface

4,634

stars

2,316

commits

TypeScript

primary language

Sep 3, 2026

updated

angular
browser
bun
dom
hacktoberfest
hacktoberfest2025
html
javascript
jest
lit-element
lit-html
nodejs
react
svelte
testing-library
typescript
vitest
vue
web-components
whatwg

README

Happy DOM Logo

A JavaScript implementation of a web browser without its graphical user interface.

Published on NPM

Documentation | Getting started | Setup as Test Environment

DOM Features

  • Custom Elements (Web Components)

  • Declarative Shadow DOM

  • Mutation Observer

  • Tree Walker

  • Fetch API

And much more..

Works With

Sponsors

Sponsors

Sentry    Canonical    Canonical

Contributing

See Contributing Guide.

License

MIT License © 2019-Present David Ortner

Contributors

(top 30 of 166)

capricorn86

1,770 commits

Mas0nShi

79 commits

btea

58 commits

TrevorBurnham

27 commits

Languages

TypeScript

99.1%