tree-sitter-html
HTML grammar for tree-sitter
What it is and what it does
tree-sitter-html is a language grammar for the tree-sitter incremental parser, specifically targeting HTML. It translates HTML source code into a concrete syntax tree that can be traversed and analyzed programmatically. The package is a compiled extension (available as prebuilt wheels for multiple platforms) that integrates with the tree-sitter ecosystem to enable fast, incremental parsing of HTML documents.
Developers use this package when they need to parse HTML programmatically—extracting structure, analyzing document trees, or building tools that reason about HTML syntax. It's particularly useful for code editors, linters, static analysis tools, and any application that needs to understand HTML structure. The grammar is based on the HTML5 specification.
Use it for:
- Extract and analyze HTML document structure for web scraping or content extraction tasks.
- Build linting or validation tools that check HTML syntax and structure.
- Implement syntax highlighting or code navigation in HTML editors.
- Generate abstract syntax trees for HTML transformation or code generation pipelines.
- Analyze HTML templates or markup in static site generators or documentation tools.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides an HTML grammar for tree-sitter, enabling incremental parsing and syntax tree analysis of HTML documents.
Yes, if you need to parse HTML programmatically with tree-sitter. The package is permissively licensed (MIT), has no known vulnerabilities, and offers prebuilt wheels for common platforms. Install friction is moderate but manageable. Repository is active though aging (641 days since last release). Verify tree-sitter availability in your environment before installing.
Install
tree-sitter-html on PyPI
pip
pip install tree-sitter-htmluv
uv add tree-sitter-htmlpoetry
poetry add tree-sitter-htmlInstalling tree-sitter-html
Before you install
Medium install friction due to compiled wheels; prebuilt binaries available for common platforms (x86_64, ARM, macOS, Linux, Windows). Last release was 641 days ago; repository is active but aging.
License in practice
MIT license permits unrestricted use, modification, and distribution with minimal attribution requirements—suitable for both open-source and commercial projects.
Quickstart
pip install tree-sitter-html
import tree_sitter_html
Requires Python 3.9 or later; tree-sitter core library must be available in the environment.
Verify before relying
- Whether tree-sitter Python bindings are automatically installed as a dependency or must be installed separately.
- Performance characteristics for parsing large or deeply nested HTML documents.
- Conformance level to HTML5 spec beyond the reference link provided.
- Exact usage patterns and API surface for integrating this grammar with tree-sitter.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | none |
| Maintenance | aging — 641 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 2,212,176/month — #3,206 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: tree_sitter_html-0.23.2-cp39-abi3-macosx_10_9_x86_64.whl; tree_sitter_html-0.23.2-cp39-abi3-macosx_11_0_arm64.whl; tree_sitter_html-0.23.2-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; tree_sitter_html-0.23.2-cp39-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl; tree_sitter_html-0.23.2-cp39-abi3-musllinux_1_2_x86_64.whl; tree_sitter_html-0.23.2-cp39-abi3-win_amd64.whl; tree_sitter_html-0.23.2-cp39-abi3-win_arm64.whl
Keywords: incremental, parsing, tree-sitter, html
Tags
More Linguistic packages
Detects and normalizes text encoding from…
permissive · top 100 on PyPI
tiktokentiktoken is a fast BPE tokenizer that converts…
permissive · top 1,000 on PyPI
chardetDetects character encoding and language in byte…
permissive · top 1,000 on PyPI
text-unidecodeConverts Unicode text to ASCII by…
copyleft · top 1,000 on PyPI
larkLark is a parsing library that builds abstract…
permissive · top 1,000 on PyPI
tree-sitterPython bindings to the tree-sitter parsing…
permissive · top 1,000 on PyPI
tree-sitter-javaProvides a Java language grammar for…
permissive · top 5,000 on PyPI
tree-sitter-xmlProvides a tree-sitter parser grammar for XML…
permissive · top 5,000 on PyPI
tree-sitter-tomlProvides a tree-sitter parser grammar for TOML…
permissive · top 5,000 on PyPI
tree-sitter-embedded-templateProvides a tree-sitter parser for embedded…
permissive · top 5,000 on PyPI
tree-sitter-pythonProvides a Python grammar for tree-sitter,…
permissive · top 5,000 on PyPI
tree-sitter-cssProvides a CSS grammar parser for tree-sitter,…
permissive · top 5,000 on PyPI
tree-sitter-jsonProvides a JSON grammar parser for tree-sitter,…
permissive · top 5,000 on PyPI
tree-sitter-phpProvides a PHP language grammar for…
permissive · top 5,000 on PyPI
tree-sitter-regexProvides a tree-sitter grammar for parsing…
permissive · top 5,000 on PyPI
tree-sitter-scalaProvides a tree-sitter grammar for parsing…
permissive · top 5,000 on PyPI