Topics / #parsing

Parsing projects on GitHub

Libraries and frameworks for parsing structured data, text, and programming languages.

As of , the most-starred Parsing projects on GitHub are protobuf (72.1K stars), pdf.js (54K stars) and langextract (39K stars). GitHub.Locker tracks 36 Parsing repositories with 726.4K stars combined. The fastest-growing on October 16 was pydantic, with +17 stars in a day.

36Projects
726.4KStars in total
+108Stars in a day

Hot right now

Most stars gained in a day · Oct 16

The all-time top

36 projects · by stars

  1. #1 · protocolbuffers/protobuf

    protobuf

    Protocol Buffers (protobuf) is Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data, similar to XML but smaller, faster, and simpler.

    72.1K
  2. #2 · mozilla/pdf.js

    pdf.js

    PDF.js is a PDF viewer built with HTML5, community-driven and supported by Mozilla. Its goal is a general-purpose, web standards-based platform for parsing and rendering PDFs.

    54K
  3. #3 · google/langextract

    langextract

    LangExtract is a Python library that uses LLMs to pull structured information out of unstructured text, mapping each extraction back to its exact location in the source document.

    39K
  1. 4

    CyberChef

    36.1Kgchq/CyberChef · JavaScript

    CyberChef is a web app that bundles encoding, encryption, compression, hashing and other data-analysis operations ('cyber' operations) into a single drag-and-drop recipe builder that runs entirely in your browser.

  2. 5

    jq

    35.8Kjqlang/jq · C

    jq is a lightweight command-line JSON processor, akin to sed, awk and grep but for JSON data: it slices, filters, maps and transforms structured data right in your terminal.

  3. 6

    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.

  4. 7

    pydantic

    29.1Kpydantic/pydantic · Python

    Pydantic is a Python library for data validation: you describe the data you expect with plain Python type hints, and it validates and parses real data against that description.

  5. 8

    commander.js

    28.4Ktj/commander.js · JavaScript

    Commander.js is a Node.js library for building command-line interfaces: it parses arguments into options and command-arguments, shows errors for invalid input, and generates help output automatically.

  6. 9

    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.

  7. 10

    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.

  8. 11

    difftastic

    26KWilfred/difftastic · Rust

    Difftastic is a structural diff tool that compares files based on their syntax rather than line by line, so it highlights exactly which pieces of syntax have changed.

  9. 12

    SwiftyJSON

    22.9KSwiftyJSON/SwiftyJSON · Swift

    SwiftyJSON is a Swift library for dealing with JSON data: it lets you pull values out of JSON without the verbose optional-wrapping and type-checking that plain Swift requires.

  10. 13

    flow

    22.3Kfacebook/flow · Rust

    Flow is a static typechecker for JavaScript: it adds static typing to your code to catch errors early and improve quality. The project goes back to 2014 and is written in Rust.

  11. 14

    toml

    20.6Ktoml-lang/toml

    TOML (Tom's Obvious, Minimal Language) is a minimal configuration file format designed to be readable at a glance, with semantics obvious enough to map cleanly onto a hash table. This repository holds the in-development TOML specification itself.

  12. 15

    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.

  13. 16

    libphonenumber

    18.3Kgoogle/libphonenumber · C++

    Google's library for parsing, formatting, and validating international phone numbers, available in Java, C++, and JavaScript.

  14. 17

    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.

  15. 18

    parsedown

    15Kerusev/parsedown · PHP

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

  16. 19

    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.

  17. 20

    llmware

    14.8Kllmware-ai/llmware · Python

    llmware is a Python framework for building enterprise RAG (retrieval-augmented generation) pipelines using small, specialized models that can run locally, on-device, or in private/self-hosted environments instead of relying on large cloud LLMs.

  18. 21

    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.

  19. 22

    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.

  20. 23

    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.

  21. 24

    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.

  22. 25

    compromise

    12.2Kspencermountain/compromise · JavaScript

    Compromise is a lightweight JavaScript natural-language processing library that parses text into structured data: tokenizing words and sentences, tagging part-of-speech, and letting you query phrases like numbers, names, or dates.

  23. 26

    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.

  24. 27

    Newtonsoft.Json

    11.3KJamesNK/Newtonsoft.Json · C#

    Json.NET (Newtonsoft.Json) is a high-performance JSON framework for .NET that serializes and deserializes .NET objects to and from JSON text.

  25. 28

    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.

  26. 29

    jwt-go

    10.7Kdgrijalva/jwt-go · Go

    A Go library implementing JSON Web Tokens (JWT): it parses, verifies, generates, and signs tokens.

  27. 30

    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.

  28. 31

    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.

  29. 32

    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.

  30. 33

    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.

  31. 34

    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.

  32. 35

    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.

  33. 36

    twinkleplop

    238pngwn/twinkleplop · TypeScript

    Twinkleplop is a small, fast syntax highlighter and code authoring toolkit for the web: you install just the languages you need, generate HTML or tokens from your code, and style the output with CSS.

Often tagged together