# bigskysoftware/htmx

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/bigskysoftware-htmx).**

47,474 stars · 1,569 forks · JavaScript · other

## Links

- GitHub: https://github.com/bigskysoftware/htmx
- Homepage: https://htmx.org
- awesome-repositories: https://awesome-repositories.com/repository/bigskysoftware-htmx.md

## Topics

`hateoas` `html` `htmx` `hyperscript` `javascript` `rest`

## Description

HTMX is a hypermedia-driven frontend library that enables the creation of dynamic, asynchronous web applications by extending standard HTML attributes. It functions as a declarative engine that intercepts browser events to trigger network requests, allowing developers to update specific regions of the document with server-rendered HTML fragments. By shifting the logic of UI composition to the server, it minimizes the need for complex client-side state management and imperative JavaScript.

The library distinguishes itself through a progressive enhancement workflow that ensures web interfaces remain functional as standard HTML while upgrading to interactive experiences when JavaScript is enabled. It provides sophisticated control over content updates, including the ability to patch multiple disconnected page regions in a single response and synchronize DOM changes with browser-native CSS transitions. Furthermore, it supports real-time interactivity by establishing persistent, bi-directional communication channels through declarative WebSocket and server-sent event configurations.

Beyond its core engine, the framework includes a comprehensive suite of utilities for managing browser history, coordinating concurrent network requests, and handling form validation. It offers flexible configuration for response processing and allows developers to extend component behavior through event-driven hooks. The project is designed for ease of integration, requiring only a script inclusion to begin transforming standard links and forms into asynchronous, hypermedia-driven interactions.

## Tags

### Web Development

- [Hypermedia-Driven Frontend Libraries](https://awesome-repositories.com/f/web-development/hypermedia-driven-frontend-libraries.md) — Extends standard HTML attributes to enable dynamic, asynchronous web interactions without complex client-side state management.
- [Declarative DOM Manipulation Libraries](https://awesome-repositories.com/f/web-development/declarative-dom-manipulation-libraries.md) — A mechanism for updating page content by mapping server responses directly to target elements using standard CSS selectors and configurable swap strategies.
- [Declarative Orchestration](https://awesome-repositories.com/f/web-development/declarative-orchestration.md) — Enables complex network behaviors and UI interactions through declarative HTML attributes.
- [Declarative UI Interactivity](https://awesome-repositories.com/f/web-development/declarative-ui-interactivity.md) — Defines complex user interface behaviors and network interactions directly within HTML markup.
- [Hypermedia-Driven Development](https://awesome-repositories.com/f/web-development/hypermedia-driven-development.md) — Builds dynamic web applications by extending standard HTML attributes to handle complex interactions.
- [Hypermedia Swapping](https://awesome-repositories.com/f/web-development/hypermedia-swapping.md) — Updates the document by injecting server-rendered HTML fragments directly into the DOM.
- [Progressive Enhancement Frameworks](https://awesome-repositories.com/f/web-development/progressive-enhancement-frameworks.md) — Builds interactive web applications on top of functional static HTML, ensuring core features remain accessible.
- [Attribute-Based AJAX Engines](https://awesome-repositories.com/f/web-development/attribute-based-ajax-engines.md) — Intercepts standard browser events and triggers network requests to update specific DOM regions.
- [Progressive Enhancement](https://awesome-repositories.com/f/web-development/progressive-enhancement.md) — Transforms standard navigation and form submissions into asynchronous requests while maintaining functional parity.
- [Server-Side UI Composition](https://awesome-repositories.com/f/web-development/server-side-ui-composition.md) — Updates specific regions of a web page by fetching pre-rendered HTML fragments directly from the server.
- [DOM Replacement Strategies](https://awesome-repositories.com/f/web-development/dom-replacement-strategies.md) — Replaces server-returned content into the page using various methods including inner or outer HTML replacement. ([source](https://htmx.org/docs/))
- [Progressive Enhancement Workflows](https://awesome-repositories.com/f/web-development/progressive-enhancement-workflows.md) — Creates robust web interfaces that function as standard HTML pages while seamlessly upgrading to interactive experiences.
- [AJAX Request Triggers](https://awesome-repositories.com/f/web-development/ajax-request-triggers.md) — Initiates network requests from any element using custom events and timing modifiers. ([source](https://htmx.org/docs/))
- [DOM Patching](https://awesome-repositories.com/f/web-development/dom-patching.md) — Updates multiple disconnected page regions simultaneously from a single server response.
- [Real-Time UI Synchronization](https://awesome-repositories.com/f/web-development/real-time-ui-synchronization.md) — Maintains live, up-to-date web interfaces by streaming server-side events directly into the DOM.
- [WebSocket Integrations](https://awesome-repositories.com/f/web-development/websocket-integrations.md) — Establishes persistent bi-directional communication channels via simple attribute configuration.
- [DOM Element Selectors](https://awesome-repositories.com/f/web-development/dom-element-selectors.md) — Selects specific page elements for content updates using standard CSS selectors and relative positioning. ([source](https://htmx.org/docs/))
- [Lifecycle Events](https://awesome-repositories.com/f/web-development/lifecycle-events.md) — Listens for internal state changes to initialize components or customize content updates. ([source](https://htmx.org/docs/))
- [Lifecycle Hooks](https://awesome-repositories.com/f/web-development/lifecycle-hooks.md) — Coordinates application state changes by broadcasting signals for intercepting network and DOM updates.
- [Server-Sent Events](https://awesome-repositories.com/f/web-development/server-sent-events.md) — Connects to real-time data streams directly from HTML to receive updates without full document reloads. ([source](https://htmx.org/extensions/sse/))
- [WebSocket Communication](https://awesome-repositories.com/f/web-development/websocket-communication.md) — Establishes bi-directional connections to send and receive messages directly from HTML elements. ([source](https://htmx.org/extensions/ws/))
- [Behavior Extensions](https://awesome-repositories.com/f/web-development/behavior-extensions.md) — Defines custom logic and attaches behaviors to specific elements via attributes. ([source](https://htmx.org/docs/))
- [Browser Navigation Utilities](https://awesome-repositories.com/f/web-development/browser-navigation-utilities.md) — HTMX updates the browser navigation bar with request URLs and restores previous page states automatically when users navigate back through their history. ([source](https://htmx.org/docs/))
- [Out-of-Band Updates](https://awesome-repositories.com/f/web-development/out-of-band-updates.md) — Updates multiple distinct page regions in a single server response by targeting specific elements. ([source](https://htmx.org/docs/))
- [Request Data Handling](https://awesome-repositories.com/f/web-development/request-data-handling.md) — Includes form inputs and custom values in network requests while filtering parameters. ([source](https://htmx.org/docs/))
- [Request Synchronization](https://awesome-repositories.com/f/web-development/request-synchronization.md) — Coordinates multiple network requests by managing execution order and aborting redundant tasks. ([source](https://htmx.org/docs/))
- [Response Handling](https://awesome-repositories.com/f/web-development/response-handling.md) — Defines custom rules for processing server responses based on HTTP status codes. ([source](https://htmx.org/docs/))

### User Interface & Experience

- [View Transitions](https://awesome-repositories.com/f/user-interface-experience/view-transitions.md) — Preserves visual continuity during content updates by synchronizing with browser-native transitions.
