Tree-sitter
tree-sitter.github.io
1
Leaving SiteNav
External Link Disclaimer
You are about to visit tree-sitter.github.io. This website is not operated by us. We are not responsible for its content or privacy practices.
About this website
Tree-sitter is an incremental parsing library and tools that builds concrete syntax trees for source code, designed to provide fast, accurate, and incremental syntax parsing for any programming language. Originally developed at GitHub by Max Brunsfeld (with contributions from Douglas Creager) to power code navigation, syntax highlighting, and code search features in the GitHub web interface, Tree-sitter has since become the de facto standard for incremental parsing in the software development ecosystem. It is used by Neovim, Helix, Zed, Emacs (via tree-sitter-langs), GitHub, Atom (the late editor), ATProto, and hundreds of other editors, tools, and platforms. Key innovations include: incremental parsing (when a source file is edited, Tree-sitter can re-parse only the affected portions of the syntax tree in time proportional to the size of the change, not the size of the file, enabling real-time parsing of large codebases), error recovery (the parser can handle syntax errors gracefully, producing a partial tree that represents as much valid structure as possible, rather than failing entirely when encountering an error), GLR (Generalized LR) parsing algorithm that handles ambiguous grammars, language-agnostic API (the core library is written in C and provides a uniform interface for querying and traversing syntax trees regardless of the source language), over 150 community-maintained grammar implementations covering major programming languages (JavaScript, TypeScript, Python, Rust, Go, C, C++, Java, Ruby, PHP, and many more) as well as configuration languages, query languages, and markup languages, a powerful query language (Tree-sitter Queries) for pattern matching against syntax trees (used for syntax highlighting, code folding, text objects, and structural code search), and a WASM binding (tree-sitter-web) for running parsers in browser environments. As of 2026, Tree-sitter has over 20,000 GitHub stars.
Tags & Categories
Categories
Tags
Statistics
1
Views
0
Clicks
0
Like
0
Dislike