# lit-html

> HTML templates literals in JavaScript

Latest version **3.3.3** (published 2026-05-14) · BSD-3-Clause license · 0 weekly downloads

## Install

```sh
npm install lit-html
pnpm add lit-html
yarn add lit-html
bun add lit-html
```

## Health

**Score 75/100 (B)** — status: active.

Positive: has types; esm support; no vulnerabilities; has provenance; high maintenance score; high quality score; popular repo.

Warnings: low downloads.

## Facts

| | |
|---|---|
| Version | 3.3.3 |
| Published | 2026-05-14 |
| First published | 2017-06-30 |
| Weekly downloads | 0 |
| License | BSD-3-Clause |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 1 |
| Unpacked size | 1.6 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Provenance | attested (GitHub Actions) |
| GitHub stars | 21815 |
| Author | Google LLC |
| Maintainers | aomarks, emarquez, sorvell, bicknellr, usergenic, polymer-devs, azakus, kevinpschaaf, justinfagnani, rictic, graynorton, lit-robot, augustjk |

## Links

- npm: https://www.npmjs.com/package/lit-html
- Repository: https://github.com/lit/lit
- Homepage: https://lit.dev/
- Issues: https://github.com/lit/lit/issues
- npm.io page: https://npm.io/package/lit-html

## Dependencies (1)

- [@types/trusted-types](https://npm.io/package/@types/trusted-types.md) ^2.0.2

## Recent versions

- 3.3.3 (latest) — 2026-05-14
- 3.0.0-pre.1 (pre) — 2023-09-29
- 2.3.0-next.1 (next) — 2022-07-25
- 2.0.0-rc.5 (dev) — 2021-09-03
- 3.3.2 — 2025-12-23
- 3.3.1 — 2025-07-11
- 3.3.0 — 2025-04-11
- 3.2.1 — 2024-10-07
- 3.2.0 — 2024-08-05
- 3.1.4 — 2024-06-04
- 3.1.3 — 2024-04-15
- 3.1.2 — 2024-01-31
- 3.1.1 — 2024-01-09
- 3.1.0 — 2023-11-16
- 3.0.2 — 2023-11-02
- … 92 more at https://npm.io/package/lit-html/versions

## README

# lit-html

Efficient, Expressive, Extensible HTML templates in JavaScript

[![Build Status](https://github.com/lit/lit/workflows/Tests/badge.svg)](https://github.com/lit/lit/actions?query=workflow%3ATests)
[![Published on npm](https://img.shields.io/npm/v/lit-html.svg?logo=npm)](https://www.npmjs.com/package/lit-html)
[![Join our Discord](https://img.shields.io/badge/discord-join%20chat-5865F2.svg?logo=discord&logoColor=fff)](https://lit.dev/discord/)
[![Mentioned in Awesome Lit](https://awesome.re/mentioned-badge.svg)](https://github.com/web-padawan/awesome-lit)

lit-html is the template system that powers the [Lit](https://lit.dev) library for building fast web components.

When using `lit-html` to develop web components, most users should import lit-html via the [`lit`](https://www.npmjs.com/package/lit) package rather than installing and importing from `lit-html` directly.

## Documentation

Full documentation is available at [lit.dev/docs/templates/overview/](https://lit.dev/docs/templates/overview/).

## Overview

`lit-html` lets you write [HTML templates](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/template) in JavaScript with [template literals](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals).

lit-html templates are plain JavaScript and combine the familiarity of writing HTML with the power of JavaScript. lit-html takes care of efficiently rendering templates to DOM, including efficiently updating the DOM with new values.

```javascript
import {html, render} from 'lit-html';

// This is a lit-html template function. It returns a lit-html template.
const helloTemplate = (name) => html`<div>Hello ${name}!</div>`;

// This renders <div>Hello Steve!</div> to the document body
render(helloTemplate('Steve'), document.body);

// This updates to <div>Hello Kevin!</div>, but only updates the ${name} part
render(helloTemplate('Kevin'), document.body);
```

`lit-html` provides two main exports:

- `html`: A JavaScript [template tag](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#Tagged_template_literals) used to produce a `TemplateResult`, which is a container for a template, and the values that should populate the template.
- `render()`: A function that renders a `TemplateResult` to a DOM container, such as an element or shadow root.

## Installation

```bash
$ npm install lit-html
```

Or use from `lit`:

```bash
$ npm install lit
```

## Contributing

Please see [CONTRIBUTING.md](../../CONTRIBUTING.md).

---
_Source: https://npm.io/package/lit-html · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
