Open-source parser software
2737 open-source libraries, tools and applications tagged parser, ranked by how closely parser 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.
2737 products, primary matches first, then adoption-weighted; health v2 shown.
| Product | Health v2 | Stars | Maturity |
|---|---|---|---|
| python-openxml/python-docx python-docx is a Python library for creating, reading, and modifying Microsoft Word 2007+ (.docx) files using the OpenXML format. It provid… | 71 | 5729 | stable |
| ReagentX/imessage-exporter A Rust CLI tool and companion library that exports iMessage data to portable txt/html formats while preserving attachments and full message… | 98 | 5682 | active |
| vercel/streamdown Streamdown is a React component library that serves as a drop-in replacement for react-markdown, purpose-built for rendering Markdown strea… | 84 | 5665 | active |
| 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… | 95 | 5659 | active |
| serde-rs/json serde_json is the standard JSON serialization and deserialization library for Rust, built on the Serde framework. It converts between JSON … | 90 | 5638 | stable |
| pdf2htmlEX/pdf2htmlEX pdf2htmlEX is a command-line tool that converts PDF files into HTML while preserving text, fonts, and formatting using modern web technolog… | 34 | 5599 | active |
| lief-project/LIEF LIEF is a cross-platform C++ library (with Python and Rust bindings) for parsing, inspecting, modifying, and writing executable file format… | 95 | 5598 | stable |
| nanopb/nanopb Nanopb is a small code-size Protocol Buffers implementation in plain ANSI C, designed for microcontrollers and other memory-constrained sys… | 83 | 5568 | stable |
| google/bloaty Bloaty is a size profiler for binaries that shows what is taking up space inside an executable. It uses custom ELF, DWARF, and Mach-O parse… | 66 | 5563 | active |
| vercel/ms A tiny TypeScript utility for converting human-readable time strings like '2 days' to milliseconds and back. It supports many unit aliases,… | 57 | 5556 | stable |
| ohmjs/ohm Ohm is a parsing toolkit consisting of a JavaScript library and a domain-specific language based on parsing expression grammars (PEGs). It … | 74 | 5550 | active |
| AngleSharp AngleSharp is a .NET library that parses HTML5, SVG, MathML, XML, and CSS into a fully standards-compliant W3C DOM. It supports querySelect… | 98 | 5541 | active |
| intel/hyperscan Hyperscan is a high-performance C library (written in C++) for simultaneously matching large numbers of regular expressions, using hybrid a… | 67 | 5502 | stable |
| hey-api/hey-api Hey API is an ecosystem of code generators that turn OpenAPI specifications into production-ready SDKs, types, validators, and mocks. Its f… | 83 | 5498 | active |
| expressjs/body-parser Node.js body parsing middleware for Express and Connect that parses incoming HTTP request bodies and populates req.body. It provides JSON, … | 92 | 5497 | stable |
| USArmyResearchLab/Dshell Dshell is an extensible network forensic analysis framework written in Python for dissecting network packet captures (pcap/pcapng). It supp… | 23 | 5496 | active |
| PMD PMD is an extensible multilanguage static code analyzer that finds common programming flaws like unused variables, empty catch blocks, and … | 97 | 5494 | stable |
| npm/node-semver The semantic versioning (semver) parser and comparison library used by npm itself, implemented in JavaScript for Node.js. It parses, valida… | 91 | 5466 | stable |
| remkop/picocli Picocli is a Java framework and library for building command line applications with an annotations API and a programmatic API. It ships as … | 63 | 5427 | stable |
| 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,… | 93 | 5400 | stable |
| LuanRT/YouTube.js YouTube.js (youtubei.js) is a TypeScript client library for YouTube's internal InnerTube API, providing access to the same data and feature… | 100 | 5385 | active |
| spaceandtimefdn/sxt-proof-of-sql A Rust library implementing Proof of SQL, a zero-knowledge proof protocol that allows SQL queries to be executed and cryptographically veri… | 84 | 5384 | active |
| pypinyin pypinyin is a Python library (with a companion CLI) that converts Chinese characters (hanzi) to pinyin, supporting polyphonic characters, m… | 64 | 5362 | stable |
| xoofx/markdig Markdig is a fast, CommonMark-compliant, extensible Markdown processor for .NET that converts Markdown to HTML. It provides a rich AST with… | 96 | 5339 | stable |
| Yqnn/svg-path-editor A browser-based editor for creating and manipulating SVG path data with interactive point editing, command conversion, and path operations … | 68 | 5331 | active |
| zircote/swagger-php A PHP library that generates OpenAPI (Swagger) documentation for RESTful APIs using PHP 8 attributes or legacy doctrine annotations embedde… | 95 | 5309 | active |
| 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. … | 73 | 5294 | active |
| fonttools/fonttools fontTools is a Python library for manipulating font files, supporting TrueType, OpenType, AFM, and partially Type 1 and Mac-specific format… | 98 | 5292 | stable |
| wanasit/chrono Chrono is a natural language date parser library for JavaScript/TypeScript that extracts dates and times from arbitrary text. It handles re… | 95 | 5291 | active |
| rails/thor Thor is a Ruby toolkit for building self-documenting command-line utilities, handling option parsing and usage banners with a Rake-like syn… | 69 | 5267 | stable |
| HIT-SCIR/ltp LTP (Language Technology Platform) is an open-source neural NLP toolkit for Chinese supporting word segmentation, POS tagging, NER, depende… | 51 | 5265 | active |
| 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… | 95 | 5260 | active |
| 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 … | 86 | 5258 | active |
| benjamn/recast Recast is a JavaScript syntax tree (AST) transformer and nondestructive pretty-printer that preserves original formatting where possible. I… | 63 | 5253 | stable |
| Obsidian Obsidian Web Clipper is the official browser extension for Obsidian that lets users highlight web pages and capture content as durable Mark… | 85 | 5230 | active |
| Biopython Biopython is a widely used open-source Python library of tools for computational molecular biology and bioinformatics. It provides modules … | 76 | 5223 | stable |
| Asciidoctor Asciidoctor is a fast, open source Ruby-based text processor and publishing toolchain that parses AsciiDoc content into a document model an… | 81 | 5222 | stable |
| JoshClose/CsvHelper CsvHelper is a .NET library for reading and writing CSV files, with support for mapping CSV data to custom class objects. It is fast, RFC 4… | 41 | 5210 | stable |
| apache/calcite Apache Calcite is a dynamic data management framework for the JVM that supplies the building blocks of a database—an industry-standard SQL … | 77 | 5194 | stable |
| 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… | 64 | 5193 | stable |
| liam-hq/liam Liam ERD is an open-source tool that automatically generates beautiful, interactive entity-relationship diagrams from database schema files… | 70 | 5147 | active |
| scinfu/SwiftSoup SwiftSoup is a pure Swift HTML parser library that conforms to the WHATWG HTML5 specification and offers DOM traversal, CSS selectors, and … | 95 | 5126 | stable |
| tboox/tbox TBOX is a glib-like cross-platform C library providing containers, algorithms, streams, coroutines, and platform abstractions. It simplifie… | 85 | 5122 | stable |
| 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… | 92 | 5119 | active |
| binbyu/Reader A lightweight, free, open-source Windows (win32) reader application for txt and epub files, with support for reading online novels via conf… | 65 | 5109 | active |
| cjhutto/vaderSentiment VADER is a lexicon and rule-based sentiment analysis library for Python, specifically tuned to sentiments expressed in social media but eff… | 51 | 5077 | stable |
| libphonenumber-for-php A PHP port of Google's libphonenumber library for parsing, formatting, storing, and validating international phone numbers. It also provide… | 98 | 5069 | active |
| alecthomas/chroma Chroma is a general-purpose syntax highlighter written in pure Go, heavily based on Pygments, with translators for Pygments lexers and styl… | 94 | 5049 | stable |
| 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… | 98 | 5047 | stable |
| unified unified is a JavaScript library and ecosystem for parsing, inspecting, transforming, and serializing content as syntax trees (ASTs) through… | 55 | 5037 | stable |
| opentypejs/opentype.js opentype.js is a JavaScript library for parsing and writing OpenType and TrueType fonts in the browser and Node.js. It provides access to g… | 86 | 5020 | active |
| BurntSushi/toml A Go library for parsing and encoding TOML configuration files, with a reflection-based API mirroring the standard library's and xml packa… | 68 | 5018 | stable |
| python-jsonschema/jsonschema A Python library implementing the JSON Schema specification for validating JSON data against schemas. It supports all major JSON Schema dra… | 79 | 4987 | stable |
| microsoft/tsdoc TSDoc is a proposed standard for TypeScript doc comments, with an open-source reference parser (@microsoft/tsdoc) that tools can use to ext… | 66 | 4968 | active |
| 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… | 65 | 4961 | stable |
| mailru/easyjson easy is a fast JSON serializer for Go that generates marshaler/unmarshaler code for structs via a CLI code generator, avoiding reflection. … | 64 | 4914 | stable |
| martanne/vis Vis is a vi-like modal text editor written in C that combines Vim-style modal editing with Plan 9 sam's structural regular expression comma… | 66 | 4906 | active |
| MechanicalSoup/MechanicalSoup A Python library for automating interaction with websites, built on Requests and BeautifulSoup. It handles cookies, redirects, link followi… | 62 | 4894 | active |
| libpostal libpostal is a C library for parsing and normalizing street addresses from around the world using statistical NLP and open geo data. It con… | 56 | 4894 | stable |
| Markwhen Markwhen is a markdown-like journal language and toolchain that converts plain text with dates into JSON, which is rendered as cascading ti… | 32 | 4871 | active |
| google/wuffs Wuffs is a memory-safe programming language plus a standard library for safely parsing, decoding and encoding untrusted file formats such a… | 76 | 4851 | active |
| pangu Pangu.js is a JavaScript/TypeScript library that automatically inserts spacing between CJK characters and half-width English letters, numbe… | 76 | 4836 | active |
| globalizejs/globalize Globalize is a JavaScript library for internationalization and localization built on official Unicode CLDR JSON data. It provides locale-aw… | 39 | 4834 | stable |
| immunant/c2rust C2Rust is a transpiler that converts C99-compliant C code into semantically equivalent but unsafe, unidiomatic Rust code, preserving functi… | 79 | 4821 | active |
| jarro2783/cxxopts A lightweight, header-only C++ command line option parser supporting GNU-style syntax. It handles long and short options, typed values, def… | 68 | 4820 | stable |
| commandlineparser/commandline CommandLineParser is a C# library for parsing command line arguments in .NET applications, offering a getopt-style API for defining options… | 23 | 4815 | stable |
| fb55/htmlparser2 htmlparser2 is a fast, forgiving HTML and XML parser for JavaScript and TypeScript, offering a low-allocation callback interface as well as… | 84 | 4792 | stable |
| 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… | 90 | 4778 | active |
| l0o0/translators_CN A community-maintained collection of Zotero translators for Chinese academic and general websites, enabling Zotero to scrape citation metad… | 76 | 4776 | active |
| tokio-rs/prost prost is a Protocol Buffers implementation for Rust that generates simple, idiomatic Rust types from proto2 and proto3 files. It supports s… | 79 | 4775 | stable |
| VincentSit/ChinaMobilePhoneNumberRegex A curated set of regular expressions (PCRE and POSIX) for matching mainland China mobile phone numbers, including carrier-specific, MVNO, I… | 23 | 4770 | active |
| bjesus/pipet Pipet is a command-line web scraper written in Go that extracts data from online assets using HTML parsing, JSON parsing, and client-side J… | 14 | 4768 | active |
| zh-lx/pinyin-pro A high-performance Chinese-to-Pinyin conversion library for JavaScript/TypeScript. It converts Chinese characters to pinyin with tones, ini… | 99 | 4742 | active |
| yoav-lavi/melody Melody is a domain-specific language that compiles to ECMAScript regular expressions, designed to be more readable and maintainable than ra… | 23 | 4742 | active |
| sebastienros/jint Jint is a JavaScript interpreter written in C# for .NET, supporting modern ECMAScript standards and running on any .NET Standard 2.0+ platf… | 99 | 4738 | active |
| attractivechaos/klib Klib is a standalone, lightweight C library of generic data structures and algorithms implemented largely as single-header files using C ma… | 55 | 4730 | stable |
| Kaitai Struct Kaitai Struct is a declarative language for describing binary data structures (file formats, network packet layouts) in .ksy files. A compi… | 77 | 4715 | active |
| jinzhu/now Now is a Go library providing a time toolkit for computing time boundaries (beginning/end of minute, day, week, month, quarter, year) and p… | 58 | 4705 | stable |
| capricorn86/happy-dom Happy DOM is a JavaScript implementation of a web browser without its graphical user interface, providing a DOM implementation for Node.js … | 95 | 4699 | active |
| andreasfertig/cppinsights C++ Insights is a Clang-based source-to-source transformation tool that shows the compiler's view of C++ code, revealing implicit conversio… | 76 | 4671 | active |
| 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… | 73 | 4655 | stable |
| chewiebug/GCViewer GCViewer is a Java-based tool that visualizes and summarizes verbose garbage collection logs from Sun/Oracle, IBM, HP, and BEA JVMs, includ… | 72 | 4645 | active |
| zrax/pycdc Decompyle++ is a C++ tool that translates compiled Python bytecode (.pyc files) back into readable Python source code. It includes pycdas, … | 63 | 4635 | active |
| asmjit/asmjit AsmJit is a lightweight C++ library for low-latency machine code generation supporting X86, X86_64, and AArch64 architectures. It provides … | 75 | 4618 | active |
| dotnet/Open-XML-SDK Microsoft's Open XML SDK is a .NET library for programmatically working with Word, Excel, and PowerPoint documents via the ISO 29500 Open X… | 80 | 4614 | stable |
| ntop/nDPI nDPI is an open source LGPLv3 C library for deep packet inspection that detects 450+ layer-7 application protocols from network traffic. It… | 84 | 4613 | stable |
| scottrogowski/code2flow Code2flow is a command-line tool that generates approximate call graphs for dynamic languages (Python, JavaScript, Ruby, PHP) by parsing so… | 44 | 4612 | active |
| francisrstokes/super-expressive Super Expressive is a zero-dependency JavaScript library for building regular expressions using a fluent, almost natural-language API. It p… | 32 | 4610 | stable |
| GritQL GritQL is a declarative query language and Rust-based CLI for searching, linting, and rewriting source code using pattern matching over AST… | 82 | 4602 | active |
| Oros42/IMSI-catcher A Python tool that decodes GSM radio traffic captured via software-defined radio receivers (RTL-SDR, HackRF, BladeRF, OsmocomBB) to display… | 67 | 4571 | active |
| Emmet Emmet is a core library for parsing and expanding CSS-like abbreviations into HTML, CSS, and other markup/stylesheet code fragments. It pow… | 63 | 4543 | active |
| github/gemoji A Ruby library providing character information about native emojis, including emoji names, aliases, Unicode mappings, and image assets. It … | 67 | 4535 | active |
| zesterer/chumsky Chumsky is a Rust parser-combinator library for writing expressive, high-performance parsers with rich error diagnostics and recovery. It s… | 10 | 4533 | active |
| openai/harmony OpenAI's Rust library (with first-class Python bindings) for rendering and parsing the harmony response format used by its open-weight gpt-… | 49 | 4506 | active |
| extremecoders-re/pyinstxtractor A Python script that extracts the contents of PyInstaller-generated executables, including fixing pyc headers so bytecode decompilers can p… | 78 | 4500 | stable |
| jonschlinkert/gray-matter gray-matter is a JavaScript library for parsing YAML front matter from strings or files, with support for JSON, TOML, and Coffee front matt… | 40 | 4492 | stable |
| CLIUtils/CLI11 CLI11 is a header-only C++11 command line argument parser with a rich feature set including subcommands, validators, and configuration file… | 92 | 4480 | stable |
| thlorenz/doctoc DocToc is a Node.js command-line tool that generates and maintains table of contents sections in Markdown files within a local git reposito… | 88 | 4468 | active |
| GerbenJavado/LinkFinder LinkFinder is a Python CLI script that discovers endpoints and their parameters in JavaScript files using jsbeautifier and regular expressi… | 32 | 4464 | stable |
| overtrue/pinyin A PHP library that converts Chinese text to pinyin using the mozillazg/pinyin-data dictionary, with accurate handling of polyphonic charact… | 79 | 4462 | stable |