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.

60Projects
915.9KStars in total
+187Stars in a day

Hot right now

Most stars gained in a day · Oct 16

The all-time top

60 projects · by stars

  1. #1 · opendatalab/MinerU

    MinerU

    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.

    81.9K
  2. #2 · babel/babel

    babel

    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.

    44.1K
  3. #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.

    37.2K
  1. 4

    swc

    34.2Kswc-project/swc · Rust

    SWC (Speedy Web Compiler) is a super-fast TypeScript/JavaScript compiler written in Rust — a Rust-based platform for the Web.

  2. 5

    cheerio

    30.5Kcheeriojs/cheerio · TypeScript

    Cheerio 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.

  3. 6

    postcss

    29Kpostcss/postcss · TypeScript

    PostCSS 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.

  4. 7

    druid

    28.2Kalibaba/druid · Java

    Druid 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.

  5. 8

    tree-sitter

    27.2Ktree-sitter/tree-sitter · Rust

    Tree-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.

  6. 9

    fastjson

    25.6Kalibaba/fastjson · Java

    Fastjson 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.

  7. 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.

  8. 11

    oxc

    23.1Koxc-project/oxc · Rust

    Oxc — 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.

  9. 12

    markdown-it

    22Kmarkdown-it/markdown-it · TypeScript

    markdown-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.

  10. 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.

  11. 14

    fx

    20.7Kantonmedv/fx · Go

    fx is a terminal JSON viewer and processor — a command-line tool for exploring and transforming JSON data right in your terminal.

  12. 15

    graphql-js

    20.3Kgraphql/graphql-js · TypeScript

    The 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.

  13. 16

    pdf-inspector

    19.7Kfirecrawl/pdf-inspector · Rust

    A 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.

  14. 17

    antlr4

    19Kantlr/antlr4 · Java

    A 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.

  15. 18

    PHP-Parser

    17.5Knikic/PHP-Parser · PHP

    A 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.

  16. 19

    clap

    16.8Kclap-rs/clap · Rust

    clap 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.

  17. 20

    ast-grep

    16.3Kast-grep/ast-grep · Rust

    ast-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.

  18. 21

    gjson

    15.6Ktidwall/gjson · Go

    GJSON 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.

  19. 22

    newspaper

    15.2Kcodelucas/newspaper · Python

    Newspaper3k 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.

  20. 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.

  21. 24

    parsedown

    15Kerusev/parsedown · PHP

    Parsedown is a Markdown parser library for PHP: you feed it Markdown text and it converts it into HTML.

  22. 25

    goquery

    15KPuerkitoBio/goquery · Go

    goquery 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.

  23. 26

    cron

    14.2Krobfig/cron · Go

    It 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.

  24. 27

    go

    13.9Kjson-iterator/go · Go

    A 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.

  25. 28

    requests-html

    13.8Kpsf/requests-html · Python

    Requests-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.

  26. 29

    PapaParse

    13.6Kmholt/PapaParse · JavaScript

    Papa 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.

  27. 30

    acwj

    13.5KDoctorWkt/acwj · C

    A 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.

  28. 31

    UglifyJS

    13.4Kmishoo/UglifyJS · JavaScript

    UglifyJS is a toolkit for JavaScript that parses, minifies, compresses, mangles, and beautifies code, mainly used to shrink JS files for production.

  29. 32

    cJSON

    13KDaveGamble/cJSON · C

    An 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.

  30. 33

    liteparse

    12.9Krun-llama/liteparse · Rust

    LiteParse 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.

  31. 34

    webmagic

    11.7Kcode4craft/webmagic · Java

    WebMagic 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.

  32. 35

    readability

    11.5Kmozilla/readability · JavaScript

    Readability.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.

  33. 36

    turndown

    11.5Kmixmark-io/turndown · HTML

    Turndown converts HTML into Markdown using JavaScript. It takes HTML strings or DOM nodes and outputs CommonMark/GFM-compatible Markdown.

  34. 37

    acorn

    11.5Kacornjs/acorn · JavaScript

    Acorn 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.

  35. 38

    jsoup

    11.4Kjhy/jsoup · Java

    jsoup 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.

  36. 39

    lexer

    11.1Kdoctrine/lexer · PHP

    Doctrine Lexer is a base PHP library for building lexers — the components that turn raw text into tokens — for top-down, recursive descent parsers.

  37. 40

    craftinginterpreters

    11.1Kmunificent/craftinginterpreters · HTML

    The 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.

  38. 41

    grammars-v4

    11.1Kantlr/grammars-v4 · ANTLR

    It 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.

  39. 42

    pdfplumber

    10.8Kjsvine/pdfplumber · Python

    pdfplumber 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.

  40. 43

    fq

    10.6Kwader/fq · Go

    fq 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.

  41. 44

    protobuf.js

    10.6Kprotobufjs/protobuf.js · JavaScript

    protobuf.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.

  42. 45

    nom

    10.5Krust-bakery/nom · Rust

    nom is a parser combinator library for Rust: you build safe parsers by composing small functions, without giving up speed or memory efficiency.

  43. 46

    pypdf

    10.3Kpy-pdf/pypdf · Python

    A 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.

  44. 47

    ua-parser-js

    10.2Kfaisalman/ua-parser-js · JavaScript

    UAParser.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.

  45. 48

    jscodeshift

    10Kfacebook/jscodeshift · JavaScript

    A 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.

  46. 49

    MDsveX

    3.1Kpngwn/MDsveX · JavaScript

    mdsvex is a Markdown preprocessor for Svelte — it lets you write Markdown inside Svelte projects and turns it into Svelte components at build time.

  47. 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.

  48. 51

    reladraw

    1.1Kreladraw/reladraw · TypeScript

    reladraw 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.

  49. 52

    compiler

    936edgcpp/compiler · C

    This 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.

  50. 53

    mitex

    633mitex-rs/mitex · Rust

    MiTeX 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.

  51. 54

    xcode-project-format

    501apple/xcode-project-format · Swift

    A Swift library from Apple for reading, writing, and manipulating Xcode's JSON-based project.xcproj format, plus a small companion CLI called 'xcprojformatter'.

  52. 55

    cccc

    472moznion/cccc · Rust

    cccc is a fast CLI tool (and Rust library) that measures Cognitive Complexity (SonarSource) and Cyclomatic Complexity (McCabe) for source code across many languages.

  53. 56

    nativePDF-structurer

    409crunz-ai/nativePDF-structurer · Python

    NativePDF 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.

  54. 57

    libfyaml

    346pantoniou/libfyaml · C

    libfyaml 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.

  55. 58

    ProductSpec

    308gokulrajaram/ProductSpec · TypeScript

    ProductSpec 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.

  56. 59

    Matryoshka

    150yogthos/Matryoshka · TypeScript

    Matryoshka (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.

  57. 60

    toml-rb

    124emancu/toml-rb · Ruby

    toml-rb is a Ruby library that parses and dumps TOML configuration files, built on top of the Citrus parsing library.

Often tagged together