NEWS: htmx 2.0 has been released! It is not currently marked as latest
in NPM so that people using the 1.x line are not accidentally upgraded. We will mark 2.0 as latest
at some point in 2025.
introduction
htmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext
htmx is small (~14k min.gz’d), dependency-free, extendable & has reduced code base sizes by 67% when compared with react
motivation
- Why should only
<a>
&<form>
be able to make HTTP requests? - Why should only
click
&submit
events trigger them? - Why should only
GET
&POST
methods be available? - Why should you only be able to replace the entire screen?
By removing these constraints, htmx completes HTML as a hypertext
quick start
<script src="https://unpkg.com/htmx.org@2.0.2"></script>
<!-- have a button POST a click via AJAX -->
<button hx-post="/clicked" hx-swap="outerHTML">
Click Me
</button>
The hx-post
and hx-swap
attributes on this button tell htmx:
“When a user clicks on this button, issue an AJAX request to /clicked, and replace the entire button with the HTML response”
htmx is the successor to intercooler.js
Read the docs introduction for a more in-depth… introduction.
Note that htmx 2.x has dropped IE support. If you require IE support you can use the 1.x code-line, which will be supported in perpetuity.
book
We are happy to announce the release of Hypermedia Systems, a book on how to build Hypermedia-Driven Applications using htmx & more:
sponsors
htmx development can be supported via GitHub Sponsors
Thank you to all our generous supporters, including: