tree-sitter-json
JSON grammar for tree-sitter
Decision gist · record as of 2026-08-14
Yes, if you are already using tree-sitter for code analysis and need to parse JSON as part of a larger workflow. No, if you simply need to read or validate JSON—use the standard library or a dedicated JSON library instead. The value is in incremental parsing and AST-based analysis, not in basic JSON handling.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.9 or later; tree-sitter Python bindings must be installed separately to use this grammar.
- Medium install friction due to compiled wheels; prebuilt binaries available for common platforms (macOS, Linux x86_64/aarch64, Windows).
- Package is aging (641 days since last release) but repository remains active with recent commits.
License · maintenance · safety
MIT (permissive) — MIT license permits free use, modification, and distribution with minimal restrictions—suitable for both open-source and proprietary projects.
last release 2024-11-11 (641 days) · last repo commit 2025-11-24 · 204 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 3,540,611 downloads/mo, #2,584 on PyPI
Alternatives
Verify before relying
import tree_sitter_json
# tree_sitter_json provides the JSON grammar for tree-sitter
# Use with tree-sitter's Python bindings to parse JSON- Whether tree-sitter Python bindings are automatically pulled in or must be installed separately.
- Performance characteristics compared to standard JSON parsing libraries.
- Specific use cases where incremental parsing of JSON provides measurable benefit.
What it is and what it does
tree-sitter-json is a grammar definition for the tree-sitter incremental parser framework, focused on JSON documents. It does not parse JSON directly; instead, it provides the syntax rules that tree-sitter uses to build abstract syntax trees (ASTs) from JSON input. This is useful when you need structured analysis of JSON beyond simple deserialization—for example, to extract specific fields, validate structure, or perform linting without loading the entire document into memory.
The package is a compiled extension (available as prebuilt wheels for major platforms) with no runtime dependencies. It sits in the tree-sitter ecosystem alongside similar grammar packages for other languages. Installation requires Python 3.9 or later, and you'll need the tree-sitter Python bindings to actually use it.
Use it for
- Build a JSON linter or validator that reports precise error locations using the parse tree.
- Extract specific nested fields from large JSON files without deserializing the entire document.
- Implement syntax-aware JSON editing or refactoring tools that preserve formatting.
- Analyze JSON structure programmatically for schema validation or transformation.
- Create language-agnostic JSON tooling by leveraging tree-sitter's multi-language support.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you are already using tree-sitter for code analysis and need to parse JSON as part of a larger workflow.
No, if you simply need to read or validate JSON—use the standard library or a dedicated JSON library instead. The value is in incremental parsing and AST-based analysis, not in basic JSON handling.
Install
tree-sitter-json on PyPI
Before you install
Medium install friction due to compiled wheels; prebuilt binaries available for common platforms (macOS, Linux x86_64/aarch64, Windows). Package is aging (641 days since last release) but repository remains active with recent commits.
Requires Python 3.9 or later; tree-sitter Python bindings must be installed separately to use this grammar.
License in practice
MIT license permits free use, modification, and distribution with minimal restrictions—suitable for both open-source and proprietary projects.
Quickstart
import tree_sitter_json
# tree_sitter_json provides the JSON grammar for tree-sitter
# Use with tree-sitter's Python bindings to parse JSON
Verify before relying
- Whether tree-sitter Python bindings are automatically pulled in or must be installed separately.
- Performance characteristics compared to standard JSON parsing libraries.
- Specific use cases where incremental parsing of JSON provides measurable benefit.
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 | 3,540,611 / month, #2,584 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Intended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseTopic :: Software Development :: CompilersTopic :: Text Processing :: LinguisticTyping :: Typed |
Evidence: tree_sitter_json-0.24.8-cp39-abi3-macosx_10_9_x86_64.whl; tree_sitter_json-0.24.8-cp39-abi3-macosx_11_0_arm64.whl; tree_sitter_json-0.24.8-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; tree_sitter_json-0.24.8-cp39-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl; tree_sitter_json-0.24.8-cp39-abi3-musllinux_1_2_x86_64.whl; tree_sitter_json-0.24.8-cp39-abi3-win_amd64.whl; tree_sitter_json-0.24.8-cp39-abi3-win_arm64.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “tree-sitter json parser”
- tree-sitter-jsonProvides a JSON grammar parser for tree-sitter, enabling incremental…
- tree-sitter-xmlProvides a tree-sitter parser grammar for XML and DTD files, enabling…
- tree-sitter-cssProvides a CSS grammar parser for tree-sitter, enabling incremental…
Give your agent the search over MCP, or paste the wish link into any chat.
More Linguistic packages
Detects and normalizes text encoding from unknown or ambiguous sources, supporting all IANA character sets that Python's core library provides codecs for, with the ability to register custom codecs.
tiktoken is a fast BPE tokenizer that converts text into token sequences compatible with OpenAI models, supporting multiple encoding schemes including o200k_base and model-specific encodings.
Install it if you work with OpenAI APIs or need to understand token boundaries in GPT-family models.
Detects character encoding and language in byte sequences with high accuracy, supporting 99 encodings and returning confidence scores, language tags, and MIME types.
Install it if you need to detect character encoding or language in byte data; the rewrite makes it substantially faster and more accurate than its predecessors.
Converts Unicode text to ASCII by transliterating non-ASCII characters into their closest ASCII equivalents, with no runtime dependencies.
However, if transliteration quality or ongoing maintenance matters, consider unidecode instead despite its GPL-only license.
Lark is a parsing library that builds abstract syntax trees from context-free grammars, supporting multiple parsing algorithms (Earley, LALR(1), CYK) with automatic line and column tracking.
Python bindings to the tree-sitter parsing library, enabling incremental parsing and syntax tree analysis for source code.
See also tree-sitter-java · tree-sitter-toml · tree-sitter-go · tree-sitter-c · tree-sitter-typescript · tree-sitter-html · tree-sitter-objc · tree-sitter-scala · tree-sitter-regex · tree-sitter-css