Ross ROSS = Recommend OSS · open-source software intelligence for agents

Open-source parsers software

444 open-source libraries, tools and applications tagged parsers, ranked by how closely parsers is their primary purpose, then by adoption and maintenance health. Each entry links to a page with sources, use cases and when to choose or avoid it.

444 products, primary matches first, then adoption-weighted; health v2 shown.

ProductHealth v2StarsMaturity
Tree-sitter
Tree-sitter is a parser generator tool and incremental parsing library that builds concrete syntax trees for source files and efficiently u…
9627097stable
Wilfred/difftastic
Difftastic is a structural diff CLI tool that compares files based on syntax parsed with tree-sitter, rather than line-by-line. It supports…
9325966active
simdjson
A C++ library that parses JSON at gigabytes-per-second speeds using SIMD instructions and microparallel algorithms, with runtime CPU-tailor…
10024432stable
markdown-it/markdown-it
markdown-it is a fast, pluggable Markdown parser for JavaScript with 100% CommonMark support plus syntax extensions like URL autolinking an…
7521930stable
.NET Compiler Platform (Roslyn)
Roslyn is the open-source .NET Compiler Platform implementing the C# and Visual Basic compilers with rich code analysis APIs. It exposes co…
6720723stable
ANTLR v4
ANTLR v4 is a parser generator that reads grammar files and produces parsers, lexers, and parse-tree walkers in ten target languages includ…
4919024stable
nikic/PHP-Parser
A PHP parser written in PHP that converts PHP 5.x through 8.4 code into an abstract syntax tree (AST). It provides AST traversal, modificat…
9117470stable
clap-rs/clap
clap is a full-featured, fast command line argument parser library for Rust. It supports declarative (derive-based) and procedural parser c…
9716762stable
ast-grep
ast-grep is a fast Rust-based CLI tool for structural search, linting, and rewriting of code using AST patterns instead of plain text match…
9916189active
GJSON
GJSON is a Go library for quickly extracting values from JSON documents using dot-notation paths, with support for wildcards, iteration, an…
7615558stable
Parsedown
Parsedown is a fast, single-file Markdown parser for PHP with GitHub Flavored Markdown support and no dependencies. It includes a safe mode…
5815051stable
nvim-treesitter/nvim-treesitter
A Neovim plugin that manages installation and updating of tree-sitter parsers and provides a collection of queries enabling tree-sitter fea…
7514406active
DaveGamble/cJSON
cJSON is an ultralightweight JSON parser and serializer written in ANSI C, distributed as a single C file and header. It provides simple pa…
6613026stable
acornjs/acorn
Acorn is a small, fast JavaScript parser written entirely in JavaScript that produces an ECMAScript syntax tree (AST). It ships as three pa…
7611456stable
jhy/jsoup
jsoup is a Java library for parsing, manipulating, and cleaning real-world HTML and XML, implementing the WHATWG HTML5 specification to pro…
9311410stable
doctrine/lexer
A PHP base library providing an abstract lexer for building Top-Down, Recursive Descent Parsers. It tokenizes input strings and is used int…
9811143stable
wader/fq
fq is a command-line tool, expression language, and set of decoders for inspecting and querying binary formats, modeled after jq and using …
8710601active
trailhq/Graft
Graft is an open-source context layer for large codebases that builds a deterministic code graph using tree-sitter AST parsing and exposes …
5910536active
nom
nom is a parser combinator library for Rust that lets you build safe, fast, zero-copy parsers for binary and text formats using combinators…
4610473stable
RE2
RE2 is a C++ regular expression library that guarantees linear-time matching, making it safe for handling regexes from untrusted users. It …
809823stable
tobymao/sqlglot
SQLGlot is a dependency-free Python SQL parser, transpiler, optimizer, and execution engine supporting 30+ SQL dialects such as DuckDB, Sno…
779683stable
phpDocumentor/ReflectionDocBlock
A PHP library from the phpDocumentor project that parses DocBlocks (doc comments) into structured objects, fully compatible with the PHPDoc…
869357stable
mvdan/sh
A Go library and CLI tool (shfmt) that parses, formats, and interprets shell scripts supporting POSIX Shell, Bash, Zsh, and mksh. It expose…
869072active
phpDocumentor/ReflectionCommon
ReflectionCommon is a small PHP library containing shared interfaces and common classes used by phpDocumentor's reflection components. It s…
429032stable
kellyjonbrazil/jc
A CLI tool and Python library that converts the output of popular command-line tools, file types, and common strings into JSON, YAML, or Py…
928694active
robertkrimen/otto
Otto is a JavaScript parser and interpreter written natively in Go, providing an embeddable VM for running JavaScript inside Go application…
428450active
grex
grex is a command-line tool and Rust library (with Python bindings) that automatically generates regular expressions from user-provided tes…
538198active
golang/tools
The golang.org/x/tools module provides packages and commands for static analysis of Go programs, including SSA IR, call graphs, and a modul…
958007active
boa-dev/boa
Boa is an embeddable JavaScript engine (lexer, parser, and interpreter) written in Rust with support for over 90% of the latest ECMAScript …
887604active
symfony/css-selector
A Symfony PHP component that converts CSS selectors into XPath expressions. It lets developers query HTML or XML documents using familiar C…
947419stable
Goja
Goja is an ECMAScript 5.1 (plus partial ES6) JavaScript engine implemented entirely in pure Go, emphasizing standard compliance and perform…
777135active
RockstarLang/rockstar
Rockstar is an esoteric programming language whose syntax is inspired by 1980s hard rock and heavy metal lyrics, together with its official…
706878active
nodeca/js-yaml
js-yaml is a fast YAML 1.2 (and 1.1) parser and serializer for JavaScript, passing the full YAML test suite. It converts YAML text into Jav…
756635stable
doxygen/doxygen
Doxygen is the de facto standard open-source tool for generating documentation from annotated source code, with primary support for C++ and…
926593stable
fkling/astexplorer
A web-based tool for exploring the abstract syntax trees (ASTs) generated by dozens of parsers for JavaScript, CSS, HTML, GraphQL, YAML, an…
236546active
ondrajz/go-callvis
go-callvis is a development tool that visualizes the call graph of Go programs using pointer analysis and Graphviz dot output. It provides …
526524active
Nokogiri
Nokogiri is a Ruby library for parsing, querying, modifying, and generating XML and HTML documents, built on native parsers like libxml2, l…
926283stable
dsherret/ts-morph
ts-morph is a TypeScript library that wraps the TypeScript Compiler API to simplify programmatic navigation and manipulation of TypeScript …
856201active
JavaParser
JavaParser is a Java library that parses Java source code (Java 1.0 through Java 25) into an Abstract Syntax Tree with advanced analysis ca…
846162active
Lark parsing toolkit
Lark is a parsing toolkit for Python that can parse all context-free grammars using Earley, LALR(1), and CYK algorithms. It automatically b…
736014stable
JSQLParser/JSqlParser
JSqlParser is a Java library that parses SQL statements into a traversable hierarchy of Java classes (an AST) that can be navigated via the…
905966active
leethomason/tinyxml2
TinyXML-2 is a small, efficient C++ XML parser that builds a DOM from XML documents which can be read, modified, and saved. It consists of …
685810stable
martinblech/xmltodict
xmltodict is a Python library that converts XML documents into Python dictionaries and back, making XML manipulation feel like working with…
835755stable
buger/jsonparser
A fast, zero-allocation JSON parser for Go that lets you extract fields by path without defining structs or schemas. It is significantly fa…
955659active
lief-project/LIEF
LIEF is a cross-platform C++ library (with Python and Rust bindings) for parsing, inspecting, modifying, and writing executable file format…
955598stable
nanopb/nanopb
Nanopb is a small code-size Protocol Buffers implementation in plain ANSI C, designed for microcontrollers and other memory-constrained sys…
835568stable
ohmjs/ohm
Ohm is a parsing toolkit consisting of a JavaScript library and a domain-specific language based on parsing expression grammars (PEGs). It …
745550active
AngleSharp
AngleSharp is a .NET library that parses HTML5, SVG, MathML, XML, and CSS into a fully standards-compliant W3C DOM. It supports querySelect…
985541active
pest-parser/pest
pest is a general-purpose parser library for Rust based on parsing expression grammars (PEG). Grammars are defined in separate .pest files,…
935400stable
xoofx/markdig
Markdig is a fast, CommonMark-compliant, extensible Markdown processor for .NET that converts Markdown to HTML. It provides a rich AST with…
965339stable
rust-lang/rust-bindgen
bindgen is a Rust tool that automatically generates Rust FFI bindings to C (and some C++) libraries by parsing header files with libclang. …
735294active
supabase-community/postgres-language-server
A Language Server Protocol implementation and toolchain for Postgres SQL, built on libpg_query for 100% syntax compatibility. It provides e…
955260active
vitali87/code-graph-rag
Code-Graph-RAG is a Python CLI tool and MCP server that parses multi-language codebases with Tree-sitter, builds a knowledge graph of code …
865258active
benjamn/recast
Recast is a JavaScript syntax tree (AST) transformer and nondestructive pretty-printer that preserves original formatting where possible. I…
635253stable
theseer/tokenizer
A small PHP library that tokenizes PHP source code and serializes the resulting tokens into XML (and potentially other formats). It is comm…
645193stable
scinfu/SwiftSoup
SwiftSoup is a pure Swift HTML parser library that conforms to the WHATWG HTML5 specification and offers DOM traversal, CSS selectors, and …
955126stable
mangiucugna/json_repair
A Python library that repairs malformed JSON strings, such as broken output from LLMs, APIs, logs, or user input. It works as a drop-in fal…
925119active
goldmark
goldmark is a Markdown parser written in pure Go that is fully compliant with the CommonMark 0.31.2 specification. It features an extensibl…
985047stable
inkle/ink
ink is inkle's open-source scripting language and narrative engine for writing interactive, branching stories in games. Written in C#, it i…
674973stable
Leonidas-from-XIV/node-xml2js
A Node.js library that converts XML into JavaScript objects and back, built on sax-js and xmlbuilder-js. It supports simple callback and pr…
654961stable
google/wuffs
Wuffs is a memory-safe programming language plus a standard library for safely parsing, decoding and encoding untrusted file formats such a…
764851active
fb55/htmlparser2
htmlparser2 is a fast, forgiving HTML and XML parser for JavaScript and TypeScript, offering a low-allocation callback interface as well as…
844792stable
include-what-you-use/include-what-you-use
Include What You Use (IWYU) is a Clang-based tool that analyzes #include directives in C and C++ source files. It detects superfluous inclu…
904778active
yoav-lavi/melody
Melody is a domain-specific language that compiles to ECMAScript regular expressions, designed to be more readable and maintainable than ra…
234742active
Kaitai Struct
Kaitai Struct is a declarative language for describing binary data structures (file formats, network packet layouts) in .ksy files. A compi…
774715active
zeux/pugixml
pugixml is a light-weight C++ XML processing library providing a DOM-like interface, an extremely fast non-validating XML parser, and an XP…
734655stable
scottrogowski/code2flow
Code2flow is a command-line tool that generates approximate call graphs for dynamic languages (Python, JavaScript, Ruby, PHP) by parsing so…
444612active
GritQL
GritQL is a declarative query language and Rust-based CLI for searching, linting, and rewriting source code using pattern matching over AST…
824602active
zesterer/chumsky
Chumsky is a Rust parser-combinator library for writing expressive, high-performance parsers with rich error diagnostics and recovery. It s…
104533active
CodeGraphContext/CodeGraphContext
CodeGraphContext (CGC) is an MCP server and CLI tool that indexes local codebases into a graph database, exposing code structure and relati…
824251active
westes/flex
flex is the classic fast lexical analyzer generator that produces C/C++ scanner code from regular-expression pattern specifications. It is …
624042stable
rust-lang/regex
The standard regular expression crate for Rust, built on finite automata (DFAs/NFAs) to guarantee worst-case linear-time matching. It suppo…
634038stable
symfony/dom-crawler
Symfony DomCrawler is a PHP component that eases DOM navigation for HTML and XML documents. It provides a Crawler class for querying and tr…
934027stable
andialbrecht/sqlparse
sqlparse is a non-validating SQL parser library for Python that tokenizes SQL text, splits scripts into statements, formats them, and expos…
724020stable
inikulin/parse5
parse5 is a fast, WHATWG HTML Living Standard-compliant HTML parsing and serialization toolset for Node.js, written in TypeScript. It parse…
823939stable
ibireme/yyjson
yyjson is a high-performance JSON parsing and serialization library written in ANSI C (C89), capable of reading and writing gigabytes of JS…
893918stable
alecthomas/participle
Participle is a parser and lexer library for Go that lets you define grammars declaratively using annotated Go struct tags, similar in styl…
783894stable
hanickadot/compile-time-regular-expressions
A C++17/C++20 header-only library that evaluates regular expressions at compile time using constexpr and template metaprogramming. It suppo…
773865stable
quickjs-ng/quickjs
QuickJS-NG is a small, embeddable JavaScript engine written in C that aims to support the latest ECMAScript specification. It is an activel…
883805active
kach/nearley
nearley is a JavaScript parser toolkit built on the Earley parsing algorithm, consisting of a BNF-based grammar DSL compiler and a lightwei…
233741stable
mozilla/source-map
A JavaScript library for generating and consuming source maps, the standard format mapping generated code back to original sources. It prov…
763724stable
swiftlang/swift-syntax
A set of Swift libraries for parsing, inspecting, generating, and transforming Swift source code via a source-accurate syntax tree (SwiftSy…
943710stable
System.CommandLine
System.CommandLine is a .NET library for command line parsing, model binding, invocation, and rendering of terminal output, plus the dotnet…
803676active
maciejhirsz/logos
Logos is a Rust lexer generator library that derives fast tokenizers from enum definitions using token and regex attributes. It combines al…
793578stable
eliben/pycparser
pycparser is a complete C99 parser written in pure Python with no external dependencies. It produces an AST that can be used for static ana…
913576stable
Tencent/rapidjson
RapidJSON is a fast, header-only C++ library for parsing and generating JSON, offering both SAX and DOM style APIs. It is self-contained wi…
2315136maintenance
carthage-software/mago
Mago is an extremely fast PHP toolchain written in Rust that provides linting, formatting, static analysis, and automated fixes through a u…
863524active
firasdib/Regex101
Regex101 is a popular web application for building, testing, and debugging regular expressions with support for multiple regex flavors. Thi…
623522active
lalrpop/lalrpop
LALRPOP is an LR(1) parser generator for Rust focused on usability, letting you write compact, DRY, readable grammars with macros, type inf…
773504stable
apache/datafusion-sqlparser-rs
An extensible SQL lexer and parser library for Rust that produces an AST conforming to the ANSI/ISO SQL standard and various vendor dialect…
763464active
gluon
Gluon is a small, statically-typed functional programming language with type inference, implemented in Rust and designed for embedding in a…
913451active
dtolnay/syn
Syn is a Rust parsing library that converts a stream of Rust tokens into a syntax tree of Rust source code. It is primarily designed for us…
993433stable
swiftlang/swift-markdown
A Swift package for parsing, building, editing, and analyzing Markdown documents, backed by GitHub-flavored Markdown's cmark-gfm implementa…
933428stable
mono/CppSharp
CppSharp is a tool and library set that parses C/C++ headers and libraries and generates glue code to expose native APIs as managed .NET AP…
603403active
Ataraxy-Labs/sem
sem is a semantic version control CLI built on top of Git that parses code with tree-sitter and diffs, blames, and analyzes impact at the e…
783400active
json-c/json-c
json-c is a C library implementing a reference-counted object model for constructing, serializing, and parsing JSON, aiming to conform to R…
833297stable
alecthomas/kong
Kong is a command-line argument parser library for Go that maps flags, positional arguments, and subcommands onto Go structs using tags. It…
763186stable
NaturalIntelligence/fast-xml-parser
A pure JavaScript library for rapidly validating XML, parsing XML to JS objects, and building XML from JS objects, with no C/C++ dependenci…
943138stable
lepture/mistune
Mistune is a fast, dependency-free Python Markdown parser compatible with sane CommonMark rules, offering pluggable renderers, built-in plu…
1003078stable
willcrichton/flowistry
Flowistry is a Rust IDE plugin (VS Code extension plus rustc plugin) that performs modular information flow analysis to determine which cod…
573074active

page 1 / 5 next →