htmx: Installing htmx

Join the AI Workshop to learn more about AI and how it can be applied to web development. Next cohort February 1st, 2026

The AI-first Web Development BOOTCAMP cohort starts February 24th, 2026. 10 weeks of intensive training and hands-on projects.


Installing htmx can be as simple as adding a <script> tag to an HTML page that loads htmx from a global CDN, like this:

<script src="https://unpkg.com/htmx.org@1.9.9"></script>

You can also save the htmx code locally on your website and load it from there. Or reference https://unpkg.com/htmx.org which gives you the latest version (but adds a redirect) - if you choose this route it’s probably safer to use https://unpkg.com/htmx.org@1 to stick to htmx 1.x in case 2.x is released with breaking changes.

In a modern site built for example with Astro you typically do this in a common layout component, but you can start simple and add it to a simple index.html page that you then load in the browser from your local filesystem.

You can also install htmx using npm to add it to your build system and use the import syntax to load it:

npm install htmx.org

//....in your code...

import 'htmx.org'

But I think the <script> tag approach is best suited for htmx.

Lessons in this unit:

0: Introduction
1: Why htmx
2: The core idea of htmx
3: ▶︎ Installing htmx
4: Doing a GET request
5: Swap
6: POST request
7: Targets
8: Loading indicator
9: Confirming actions, and prompts
10: Triggers
11: Request headers
12: Response headers
13: Events
14: Redirect after request
15: Send files using htmx.ajax()
16: Perform something on page load
17: Conditionally hide HTML elements based on HTMX request status
18: htmx + Alpine template tag
19: htmx, include hidden input fields outside of a form
20: htmx trigger request via JS event