Topics / #parser
Parser projects on GitHub
Parsers for documents, code and structured data formats
As of , the most-starred Parser projects on GitHub are MinerU (81.9K stars), babel (44.1K stars) and marked (37.2K stars). GitHub.Locker tracks 60 Parser repositories with 915.9K stars combined. The fastest-growing on October 16 was MinerU, with +46 stars in a day.
Hot right now
Most stars gained in a day · Oct 16
+46MinerU
opendatalab/MinerU · ★ 81.9KMinerU is a high-accuracy document parsing engine that converts PDF, DOCX, PPTX, XLSX, images and web pages into structured Markdown or JSON, built for LLM, RAG and agent workflows.
oxc
oxc-project/oxc · ★ 23.1KOxc — the Oxidation Compiler — is a collection of high-performance tools for JavaScript and TypeScript written in Rust: a parser, linter, formatter, transformer, minifier, and module resolver.
ast-grep
ast-grep/ast-grep · ★ 16.3Kast-grep (sg) is a CLI tool for structural search, linting and rewriting of source code — like grep, but matching the abstract syntax tree instead of raw text.
REDox
CAPCOM-TD-OSS/REDox · ★ 1.6KRE:Dox is a high-performance, token-based structured data engine for .NET, built as a core component of CAPCOM's 'REX' technology for its next-generation game engine. It parses structured data into a compact token DOM that is used for reading, editing, format conversion, serialization and parallel deserialization.
The all-time top
60 projects · by stars
- 81.9K
#1 · opendatalab/MinerUMinerU
MinerU is a high-accuracy document parsing engine that converts PDF, DOCX, PPTX, XLSX, images and web pages into structured Markdown or JSON, built for LLM, RAG and agent workflows.
- 44.1K
#2 · babel/babelbabel
Babel is a compiler for JavaScript: you write code with the newest language features, and it compiles it down to a version your target environments can actually run.
- 37.2K
#3 · markedjs/marked
marked
Marked is a markdown parser and compiler built for speed. You feed it markdown text and get HTML back, and it runs in a browser, on a server, or from the command line.
- 4

swc
34.2Kswc-project/swc · RustSWC (Speedy Web Compiler) is a super-fast TypeScript/JavaScript compiler written in Rust — a Rust-based platform for the Web.
- 5

cheerio
30.5Kcheeriojs/cheerio · TypeScriptCheerio is a fast, flexible library for parsing and manipulating HTML and XML. It implements a subset of the core jQuery API, so if you know jQuery selectors you already know most of it.
- 6
postcss
29Kpostcss/postcss · TypeScriptPostCSS is a Node.js tool for transforming styles with JS plugins: it parses CSS into an Abstract Syntax Tree and gives plugins an API to analyze and modify its rules.
- 7

druid
28.2Kalibaba/druid · JavaDruid is an open-source, high-performance Java database connection pool and SQL parser built by Alibaba's DataWorks team. It combines a JDBC connection pool, a multi-dialect SQL parser/AST analyzer, a SQL firewall, and monitoring statistics into one library.
- 8

tree-sitter
27.2Ktree-sitter/tree-sitter · RustTree-sitter is a parser generator tool and an incremental parsing library for programming tools: it builds a syntax tree for a source file and efficiently updates it as the file is edited.
- 9

fastjson
25.6Kalibaba/fastjson · JavaFastjson is a Java library that converts Java objects to JSON and parses JSON strings back into Java objects. It works with arbitrary Java objects, including ones you have no source code for.
- 10
simdjson
24.4Ksimdjson/simdjson · C++A C++ library that parses JSON at gigabytes-per-second speed using SIMD instructions and microparallel algorithms. It ships in production systems like Node.js, ClickHouse and Meta Velox.
- 11
oxc
23.1Koxc-project/oxc · RustOxc — the Oxidation Compiler — is a collection of high-performance tools for JavaScript and TypeScript written in Rust: a parser, linter, formatter, transformer, minifier, and module resolver.
- 12

markdown-it
22Kmarkdown-it/markdown-it · TypeScriptmarkdown-it is a fast Markdown parser for JavaScript with 100% CommonMark support. It also adds syntax extensions and sugar like URL autolinking and a typographer.
- 13

roslyn
20.7Kdotnet/roslyn · C#The .NET Compiler Platform (Roslyn) — the open-source implementation of the C# and Visual Basic compilers, plus rich APIs for building code analysis tools.
- 14

fx
20.7Kantonmedv/fx · Gofx is a terminal JSON viewer and processor — a command-line tool for exploring and transforming JSON data right in your terminal.
- 15

graphql-js
20.3Kgraphql/graphql-js · TypeScriptThe JavaScript reference implementation of GraphQL, a query language for APIs created by Facebook — the core library for building and executing GraphQL APIs in JavaScript or TypeScript.
- 16

pdf-inspector
19.7Kfirecrawl/pdf-inspector · RustA fast Rust library from Firecrawl that inspects PDFs: it classifies each file as text-based, scanned, image-based, or mixed, extracts position-aware text, and converts it to clean Markdown without OCR by default.
- 17

antlr4
19Kantlr/antlr4 · JavaA parser generator: you write a grammar for your language or file format, and ANTLR generates a parser that builds parse trees, plus listener/visitor interfaces to react to recognized phrases. Widely used to build languages, tools, and frameworks.
- 18

PHP-Parser
17.5Knikic/PHP-Parser · PHPA parser written in PHP that turns PHP code into an abstract syntax tree (AST). Its purpose is to simplify static code analysis and manipulation of PHP code.
- 19

clap
16.8Kclap-rs/clap · Rustclap is a full-featured, fast command-line argument parser for Rust, letting you build CLIs with flags, options, positional arguments, and subcommands, plus auto-generated help and usage text.
- 20
ast-grep
16.3Kast-grep/ast-grep · Rustast-grep (sg) is a CLI tool for structural search, linting and rewriting of source code — like grep, but matching the abstract syntax tree instead of raw text.
- 21

gjson
15.6Ktidwall/gjson · GoGJSON is a Go library for pulling values out of JSON documents quickly — one call with a path like 'name.last' returns the value. It also supports iteration and JSON Lines.
- 22

newspaper
15.2Kcodelucas/newspaper · PythonNewspaper3k is a Python 3 library that downloads, parses, and extracts the article text, authors, publish date, top image, and keywords/summary from news articles and news sites.
- 23

rapidjson
15.1KTencent/rapidjson · C++RapidJSON is a fast, header-only JSON parser and generator library for C++, supporting both SAX and DOM style APIs.
- 24

parsedown
15Kerusev/parsedown · PHPParsedown is a Markdown parser library for PHP: you feed it Markdown text and it converts it into HTML.
- 25

goquery
15KPuerkitoBio/goquery · Gogoquery is a Go library that brings jQuery-like syntax and features to HTML parsing and manipulation, built on Go's net/html package and the cascadia CSS selector library.
- 26

cron
14.2Krobfig/cron · GoIt is a Go library that implements cron-style job scheduling, letting you run functions on a schedule inside a Go program instead of relying on the system cron daemon.
- 27

go
13.9Kjson-iterator/go · GoA high-performance JSON library for Go, positioned as a 100% compatible drop-in replacement for the standard encoding/json package: you swap the import and keep your code.
- 28

requests-html
13.8Kpsf/requests-html · PythonRequests-HTML is a Python library for parsing and scraping HTML pages, built on top of the Requests library, adding jQuery-style CSS selectors, XPath support, and full JavaScript rendering.
- 29

PapaParse
13.6Kmholt/PapaParse · JavaScriptPapa Parse is a fast CSV (delimited text) parser for JavaScript that runs in the browser. It is RFC 4180 compliant and handles large files and malformed input gracefully.
- 30

acwj
13.5KDoctorWkt/acwj · CA documented tutorial series where the author builds a self-compiling compiler for a subset of the C language, split into roughly 64 incremental parts, each with working source code and a written explanation of the theory behind it.
- 31

UglifyJS
13.4Kmishoo/UglifyJS · JavaScriptUglifyJS is a toolkit for JavaScript that parses, minifies, compresses, mangles, and beautifies code, mainly used to shrink JS files for production.
- 32

cJSON
13KDaveGamble/cJSON · CAn ultralightweight JSON parser written in plain ANSI C. The whole thing is one C file and one header, with the stated goal of being the dumbest parser that still gets your job done.
- 33
liteparse
12.9Krun-llama/liteparse · RustLiteParse is a standalone open-source PDF parser focused on fast, lightweight parsing: it extracts spatial text with bounding boxes and outputs Markdown, JSON, or Text, all running locally with no cloud or LLM calls.
- 34

webmagic
11.7Kcode4craft/webmagic · JavaWebMagic is a scalable web crawler framework for Java. It covers the whole crawler lifecycle — downloading, URL management, content extraction and persistence — to simplify building a specific crawler.
- 35

readability
11.5Kmozilla/readability · JavaScriptReadability.js is a standalone extraction library that pulls the main article content out of a messy webpage, stripping ads, navigation and sidebars. It is the same library that powers Firefox's Reader View.
- 36

turndown
11.5Kmixmark-io/turndown · HTMLTurndown converts HTML into Markdown using JavaScript. It takes HTML strings or DOM nodes and outputs CommonMark/GFM-compatible Markdown.
- 37
acorn
11.5Kacornjs/acorn · JavaScriptAcorn is a tiny, fast JavaScript parser written entirely in JavaScript. It parses JS source code into an abstract syntax tree (ESTree-compatible), which tools can then analyze or transform.
- 38

jsoup
11.4Kjhy/jsoup · Javajsoup is an open-source Java library for working with real-world HTML and XML: it fetches URLs, parses them to a DOM, and lets you extract and manipulate data.
- 39

lexer
11.1Kdoctrine/lexer · PHPDoctrine Lexer is a base PHP library for building lexers — the components that turn raw text into tokens — for top-down, recursive descent parsers.
- 40

craftinginterpreters
11.1Kmunificent/craftinginterpreters · HTMLThe repository for 'Crafting Interpreters', a book that teaches you to build interpreters. It holds the full text of the book, complete source for its two Lox interpreters, and the build system behind craftinginterpreters.com.
- 41

grammars-v4
11.1Kantlr/grammars-v4 · ANTLRIt is a large collection of formal grammars written for ANTLR v4, covering programming languages and file formats like Java, C++, C#, JSON and many others.
- 42

pdfplumber
10.8Kjsvine/pdfplumber · Pythonpdfplumber is a Python library that inspects PDFs in detail, exposing each character, line, rectangle, and curve, and makes it easy to extract text and tables from them.
- 43
fq
10.6Kwader/fq · Gofq is a command-line tool, language and collection of decoders for working with binary formats - often described as jq for binary data. You can dump a file's structure, run jq-style queries against it and explore results in an interactive REPL.
- 44
protobuf.js
10.6Kprotobufjs/protobuf.js · JavaScriptprotobuf.js is a very fast, spec-compliant JavaScript implementation of Protocol Buffers for Node.js and browsers. It works with .proto schemas without protoc, offering runtime reflection and ahead-of-time code generation with TypeScript declarations.
- 45

nom
10.5Krust-bakery/nom · Rustnom is a parser combinator library for Rust: you build safe parsers by composing small functions, without giving up speed or memory efficiency.
- 46

pypdf
10.3Kpy-pdf/pypdf · PythonA free and open-source pure-python PDF library: it splits, merges, crops and transforms the pages of PDF files, and can add custom data, viewing options and passwords to them.
- 47

ua-parser-js
10.2Kfaisalman/ua-parser-js · JavaScriptUAParser.js is a compact, dependency-free JavaScript library that parses user-agent strings to detect browsers, OS, devices, CPUs, rendering engines, bots and AI crawlers.
- 48

jscodeshift
10Kfacebook/jscodeshift · JavaScriptA codemod toolkit from Meta for running transform scripts across many JavaScript or TypeScript files at once. Under the hood it wraps recast, an AST-to-AST transformer that tries to preserve the style of your original code.
- 49

MDsveX
3.1Kpngwn/MDsveX · JavaScriptmdsvex is a Markdown preprocessor for Svelte — it lets you write Markdown inside Svelte projects and turns it into Svelte components at build time.
- 50
REDox
1.6KCAPCOM-TD-OSS/REDox · C#RE:Dox is a high-performance, token-based structured data engine for .NET, built as a core component of CAPCOM's 'REX' technology for its next-generation game engine. It parses structured data into a compact token DOM that is used for reading, editing, format conversion, serialization and parallel deserialization.
- 51

reladraw
1.1Kreladraw/reladraw · TypeScriptreladraw is a text-based diagramming language where you state each node's position relative to other nodes - never raw coordinates - and a resolver works out the exact layout. It ships as a CLI tool, a TypeScript library (parser, resolver, SVG renderer) and an agent skill for AI coding agents.
- 52

compiler
936edgcpp/compiler · CThis is the open-source EDG C/C++ compiler front end project: a parser and semantic analyzer for C and C++ that is famous for matching Clang, GCC, and MSVC's parsing behavior (including their quirks) so vendors can embed it in their own tools.
- 53

mitex
633mitex-rs/mitex · RustMiTeX brings LaTeX support to Typst: it parses LaTeX into an abstract syntax tree, converts it into Typst code, and evaluates it into Typst content, so you can write LaTeX math directly in Typst documents.
- 54

xcode-project-format
501apple/xcode-project-format · SwiftA Swift library from Apple for reading, writing, and manipulating Xcode's JSON-based project.xcproj format, plus a small companion CLI called 'xcprojformatter'.
- 55

cccc
472moznion/cccc · Rustcccc is a fast CLI tool (and Rust library) that measures Cognitive Complexity (SonarSource) and Cyclomatic Complexity (McCabe) for source code across many languages.
- 56

nativePDF-structurer
409crunz-ai/nativePDF-structurer · PythonNativePDF Structurer converts large digital-native PDFs — equipment manuals, repair manuals, technical catalogs — into structured Markdown, images and table CSVs without using OCR or any machine-learning model, so long vendor documents can reliably feed into RAG pipelines.
- 57

libfyaml
346pantoniou/libfyaml · Clibfyaml is a high-performance YAML 1.2 and JSON parser/emitter for C, built for zero-copy operation with full document-tree and event-streaming APIs, and it passes the full YAML testsuite.
- 58

ProductSpec
308gokulrajaram/ProductSpec · TypeScriptProductSpec is an open standard for product intent — a 'Product Harness' for AI-native software work that pins down what to build, what not to build, how to prove completion, and what to do when reality disagrees with the plan.
- 59

Matryoshka
150yogthos/Matryoshka · TypeScriptMatryoshka (RLM) is an MCP server and CLI toolkit that lets LLM agents analyze documents up to 100x larger than their context window, by having the model emit symbolic 'Nucleus' commands that a logic engine called Lattice executes server-side, instead of chunking text into a vector database.
- 60

toml-rb
124emancu/toml-rb · Rubytoml-rb is a Ruby library that parses and dumps TOML configuration files, built on top of the Citrus parsing library.
Related topics
Often tagged together