# lit-html Efficient, Expressive, Extensible HTML templates in JavaScript [](https://github.com/lit/lit/actions?query=workflow%3ATests) [](https://www.npmjs.com/package/lit-html) [](https://lit.dev/discord/) [](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`