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 |
|---|---|---|---|
| astral-sh/ty ty is an extremely fast Python type checker and language server written in Rust. It provides comprehensive diagnostics, incremental analysi… | 83 | 19833 | active |
| Jack-Cherish/python-spider A Python3 collection of web‑scraping scripts and tutorials covering sites like Taobao, JD, Bilibili, 12306, Douyin, and more. It provides r… | 32 | 19805 | active |
| MDX MDX is a format that combines Markdown with JSX, allowing you to embed interactive components directly in your content. It compiles MDX fil… | 66 | 19793 | active |
| MDX MDX is an authorable format that combines Markdown with JSX, letting you import and embed components like charts or alerts directly in long… | 66 | 19793 | stable |
| firecrawl/pdf-inspector pdf-inspector is a high‑performance Rust library (with Node.js, Python, and WebAssembly bindings) that classifies PDFs and extracts their t… | 82 | 19647 | active |
| 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… | 49 | 19024 | stable |
| google/magika Magika is an AI‑powered tool that detects a file's content type using a tiny deep‑learning model. It is available as a fast command‑line ut… | 87 | 18718 | active |
| handlebars-lang/handlebars.js Handlebars.js is a JavaScript templating library, largely compatible with Mustache, that compiles templates into fast-executing JavaScript … | 87 | 18685 | stable |
| sqlc sqlc is a command-line SQL compiler that generates fully type-safe, idiomatic code from SQL queries for languages like Go, Kotlin, Python, … | 80 | 18329 | stable |
| google/libphonenumber Google's multi-language (Java, C++, JavaScript) library for parsing, formatting, and validating international phone numbers for all countri… | 98 | 18316 | stable |
| projectdiscovery/katana Katana is a fast, configurable web crawling and spidering framework written in Go, supporting both standard HTTP-based and headless browser… | 90 | 17565 | active |
| infinilabs/analysis-ik The IK Analysis plugin integrates the Lucene IK analyzer into Elasticsearch and OpenSearch, providing Chinese text tokenization via the ik_… | 60 | 17512 | active |
| 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… | 91 | 17470 | stable |
| 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… | 97 | 16762 | stable |
| typescript-eslint/typescript-eslint typescript-eslint is a monorepo providing the tooling that enables ESLint, Prettier, and other JavaScript tools to parse and lint TypeScrip… | 95 | 16420 | stable |
| 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… | 99 | 16189 | active |
| fortra/impacket Impacket is a collection of Python classes for low-level programmatic access to network protocols, including full implementations of SMB1-3… | 79 | 16168 | active |
| quickwit-oss/tantivy Tantivy is a fast full-text search engine library written in Rust, strongly inspired by Apache Lucene's design. It is a crate for building … | 79 | 16144 | stable |
| mikefarah/yq yq is a lightweight, portable command-line processor for YAML, JSON, XML, CSV, TOML, HCL, INI, and properties files, using jq-like syntax. … | 98 | 16057 | stable |
| remarkjs/react-markdown A React component that safely renders markdown strings to React elements using the unified/remark ecosystem. It supports CommonMark and GFM… | 77 | 15892 | stable |
| GJSON GJSON is a Go library for quickly extracting values from JSON documents using dot-notation paths, with support for wildcards, iteration, an… | 76 | 15558 | stable |
| JSDoc JSDoc is an API documentation generator for JavaScript, similar to Javadoc. It parses JSDoc-style comments in source code and generates an … | 68 | 15469 | stable |
| josdejong/mathjs Math.js is an extensive math library for JavaScript and Node.js that provides a flexible expression parser with symbolic computation, hundr… | 75 | 15086 | stable |
| Parsedown Parsedown is a fast, single-file Markdown parser for PHP with GitHub Flavored Markdown support and no dependencies. It includes a safe mode… | 58 | 15051 | stable |
| PuerkitoBio/goquery goquery is a Go library that provides a jQuery-like syntax for parsing, traversing, and manipulating HTML documents, built on Go's net/html… | 87 | 14996 | stable |
| Showdown Showdown is a bidirectional Markdown to HTML (and HTML to Markdown) converter library written in JavaScript. It runs both client-side in th… | 66 | 14868 | stable |
| NLTK NLTK is a leading open-source Python library for natural language processing, providing interfaces to over 50 corpora and lexical resources… | 95 | 14732 | stable |
| 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… | 75 | 14406 | active |
| ReFirmLabs/binwalk Binwalk is a fast firmware analysis tool rewritten in Rust that identifies and optionally extracts files and data embedded inside other fil… | 63 | 14370 | active |
| idank/explainshell explainshell is a tool with a web interface that parses manpages, extracts their options, and explains arbitrary shell command lines by mat… | 73 | 14292 | active |
| quicktype quicktype is a code generation tool that produces strongly-typed models and serializers from JSON samples, JSON Schema, TypeScript, and Gra… | 94 | 13889 | active |
| Shiki Shiki is a syntax highlighter for JavaScript/TypeScript that uses TextMate grammars, the same engine as VS Code, to produce accurate, beaut… | 90 | 13832 | active |
| github-linguist/linguist Linguist is the Ruby library GitHub uses to detect file languages, ignore binary/vendored files, suppress generated files in diffs, and pro… | 93 | 13734 | active |
| mholt/PapaParse Papa Parse is a fast, dependency-free CSV (delimited text) parser for JavaScript that runs in the browser and Node.js. It streams large fil… | 95 | 13571 | stable |
| Assimp Open Asset Import Library (Assimp) is a C/C++ library that imports 40+ 3D model file formats (FBX, glTF, Collada, OBJ, STL, and more) into … | 90 | 13250 | stable |
| Cap'n Proto Cap'n Proto is an extremely fast binary data interchange format and capability-based RPC system, designed so data can be read directly from… | 76 | 13210 | stable |
| Markmap Markmap is a TypeScript library that renders Markdown documents as interactive mindmaps. It includes a web REPL and integrates with editors… | 65 | 13124 | active |
| 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… | 66 | 13026 | stable |
| LiteParse LiteParse is a fast, open-source document parser written in Rust that extracts spatial text with bounding boxes from PDFs, Office files, an… | 76 | 12661 | active |
| spencermountain/compromise Compromise is a lightweight JavaScript natural-language processing library that turns text into structured data, doing part-of-speech taggi… | 92 | 12161 | active |
| google/sentencepiece SentencePiece is a fast, lightweight unsupervised text tokenizer and detokenizer for neural network-based text generation systems, implemen… | 83 | 12132 | stable |
| VerbalExpressions JSVerbalExpressions is a JavaScript library that provides a fluent, chainable API for constructing regular expressions without writing raw … | 23 | 12122 | stable |
| code4craft/webmagic WebMagic is a scalable web crawler framework for Java covering the full crawl lifecycle: downloading, URL management, content extraction (X… | 56 | 11670 | active |
| Yargs Yargs is a Node.js library for parsing command-line arguments and building interactive CLI tools. It provides command and option parsing, d… | 93 | 11504 | stable |
| 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… | 76 | 11456 | stable |
| mozilla/readability Mozilla's standalone Readability library that extracts the main article content, title, and metadata from HTML documents, powering Firefox … | 71 | 11453 | stable |
| mixmark-io/turndown Turndown is a JavaScript library that converts HTML into Markdown, aiming for CommonMark compliance with configurable output styling. It ru… | 82 | 11445 | stable |
| jhy/jsoup jsoup is a Java library for parsing, manipulating, and cleaning real-world HTML and XML, implementing the WHATWG HTML5 specification to pro… | 93 | 11410 | stable |
| stylus/stylus Stylus is an expressive, feature-rich CSS preprocessor language built for Node.js, supporting both an indented syntax and regular CSS style… | 27 | 11334 | stable |
| JamesNK/Newtonsoft.Json Json.NET (Newtonsoft.Json) is the most popular high-performance JSON framework for .NET, providing serialization, LINQ to JSON, JSON Path q… | 66 | 11313 | stable |
| Dompdf Dompdf is an HTML to PDF converter implemented as a PHP library, functioning as a mostly CSS 2.1-compliant HTML layout and rendering engine… | 94 | 11198 | stable |
| huggingface/tokenizers Hugging Face Tokenizers is a fast, Rust-based library implementing state-of-the-art tokenization algorithms (BPE, WordPiece, Unigram) with … | 95 | 11181 | stable |
| 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… | 98 | 11143 | stable |
| PRQL PRQL (Pipelined Relational Query Language) is a modern query language for transforming data that compiles to SQL, letting users write reada… | 89 | 10917 | active |
| Natural Natural is a general natural language processing library for Node.js offering tokenizing, stemming, part-of-speech tagging, sentiment analy… | 58 | 10881 | active |
| serde-rs/serde Serde is Rust's standard serialization and deserialization framework, built on the trait system with compile-time derive macros instead of … | 93 | 10838 | stable |
| karpathy/minbpe A minimal, clean Python implementation of the byte-level Byte Pair Encoding (BPE) algorithm used for tokenization in modern LLMs like GPT-4… | 26 | 10830 | stable |
| jsvine/pdfplumber pdfplumber is a Python library for extracting detailed information from PDFs, including every character, line, rectangle, and table, built … | 89 | 10827 | active |
| PyMuPDF PyMuPDF is a high-performance Python library built on the MuPDF C engine for extracting, analyzing, converting, rendering, and manipulating… | 95 | 10799 | stable |
| 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 … | 87 | 10601 | active |
| protobufjs/protobuf.js A high-performance, conformant JavaScript/TypeScript implementation of Protocol Buffers that works with .proto schemas without requiring pr… | 91 | 10594 | active |
| 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 … | 59 | 10536 | active |
| 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… | 46 | 10473 | stable |
| gskinner/regexr RegExr is an HTML/JS web application for creating, testing, and learning about Regular Expressions, with real-time match highlighting, expr… | 34 | 10377 | active |
| studyzy/imewlconverter 深蓝词库转换 (ImeWlConverter) is an open-source, free tool for converting input method editor (IME) word/dictionary libraries between more than 2… | 93 | 10371 | active |
| py-pdf/pypdf pypdf is a free, open-source, pure-Python library for manipulating PDF files. It supports splitting, merging, cropping, and transforming pa… | 96 | 10223 | active |
| faisalman/ua-parser-js UAParser.js is a lightweight, dependency-free JavaScript library that parses User-Agent strings into structured data about browsers, OS, de… | 86 | 10198 | stable |
| square/moshi Moshi is a modern JSON serialization library for Kotlin and Java, with built-in type adapters and optional Kotlin code generation. It conve… | 75 | 10164 | stable |
| stanfordnlp/CoreNLP Stanford CoreNLP is a Java suite of natural language processing tools that annotates raw text with tokenization, POS tags, named entities, … | 89 | 10122 | stable |
| BYVoid/OpenCC OpenCC is an open-source C++ library and toolset for high-quality, deterministic conversion between Traditional Chinese, Simplified Chinese… | 92 | 10041 | stable |
| facebook/jscodeshift jscodeshift is a toolkit for running codemods (automated code transformations) over multiple JavaScript or TypeScript files. It provides a … | 74 | 10040 | active |
| SQLFluff SQLFluff is a dialect-flexible, configurable SQL linter and auto-formatter for Python. It supports many SQL dialects (BigQuery, Snowflake, … | 95 | 9955 | stable |
| phiresky/ripgrep-all rga (ripgrep-all) is a command-line search tool that wraps ripgrep to search regex patterns inside PDFs, e-books, Office documents, SQLite … | 71 | 9854 | active |
| RE2 RE2 is a C++ regular expression library that guarantees linear-time matching, making it safe for handling regexes from untrusted users. It … | 80 | 9823 | stable |
| kepano/defuddle Defuddle is a TypeScript library, CLI, and hosted service that extracts the main content from web pages, removing clutter like comments, si… | 88 | 9723 | active |
| bpmn-js bpmn-js is a JavaScript toolkit and web modeler for viewing, creating, and editing BPMN 2.0 diagrams directly in the browser. It can be emb… | 98 | 9685 | active |
| tobymao/sqlglot SQLGlot is a dependency-free Python SQL parser, transpiler, optimizer, and execution engine supporting 30+ SQL dialects such as DuckDB, Sno… | 77 | 9683 | stable |
| alufers/mitmproxy2swagger A CLI tool that converts mitmproxy traffic captures (and HAR files) into OpenAPI 3.0 / Swagger specifications. It lets you reverse-engineer… | 80 | 9636 | active |
| bytedance/sonic Sonic is a high-performance JSON serialization and deserialization library for Go, accelerated by JIT compilation and SIMD instructions. It… | 96 | 9615 | active |
| sloria/TextBlob TextBlob is a Python library providing a simple, consistent API for common NLP tasks such as part-of-speech tagging, noun phrase extraction… | 67 | 9551 | stable |
| Moment.js Moment.js is a JavaScript library for parsing, validating, manipulating, and formatting dates and times. It provides a simple, chainable AP… | 91 | 47908 | maintenance |
| apache/datafusion Apache DataFusion is an extensible query engine written in Rust that uses Apache Arrow as its in-memory columnar format. It provides SQL an… | 77 | 9505 | active |
| json-path/JsonPath Jayway JsonPath is a Java library providing a DSL for reading and querying JSON documents using JsonPath expressions, analogous to XPath fo… | 61 | 9452 | stable |
| Il2CppDumper Il2CppDumper is a C# command-line tool that extracts type, method, and string information from Unity IL2CPP binaries and their global-metad… | 23 | 9432 | active |
| blacksmithgu/obsidian-dataview An Obsidian plugin that indexes metadata from Markdown files (frontmatter and inline fields) and provides a SQL-like query language plus a … | 54 | 9383 | active |
| Legado (阅读) Legado (阅读 3.0) is an open-source Android e-book reader that lets users define custom book sources to read web novels and online content. I… | 57 | 47112 | maintenance |
| phpDocumentor/ReflectionDocBlock A PHP library from the phpDocumentor project that parses DocBlocks (doc comments) into structured objects, fully compatible with the PHPDoc… | 86 | 9357 | stable |
| terser/terser Terser is a JavaScript parser, mangler, and compressor toolkit for ES6+ that serves as the industry-standard minifier, forked from the unma… | 75 | 9344 | stable |
| RSS-Bridge/rss-bridge RSS-Bridge is a PHP web application that generates RSS, Atom, and JSON feeds for websites that don't offer one, using hundreds of site-spec… | 75 | 9295 | active |
| ritz078/transform Transform is a polyglot web application that converts code and data between many formats, such as JSON to TypeScript, SVG to JSX, GraphQL t… | 57 | 9237 | active |
| angr angr is a Python 3 binary analysis framework that loads executables across many architectures and formats, providing disassembly, IR liftin… | 77 | 9226 | active |
| kpdecker/jsdiff jsdiff is a JavaScript library that computes differences between two texts using the Myers O(ND) diff algorithm. It provides functions to d… | 77 | 9214 | stable |
| phpDocumentor/TypeResolver A PHP library that resolves DocBlock type expressions and structural element names according to PSR-5, turning partial class names into ful… | 70 | 9154 | stable |
| 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… | 86 | 9072 | active |
| Capstone Engine Capstone is a lightweight, multi-architecture, multi-platform disassembly framework written in pure C, designed to be the ultimate disassem… | 98 | 9066 | stable |
| bytedance/Dolphin Dolphin is ByteDance's open-source document image parsing model that converts document images and PDFs into structured content using a two-… | 49 | 9061 | active |
| arrow-py/arrow Arrow is a Python library providing a human-friendly, drop-in replacement for the datetime type with simpler creation, manipulation, format… | 61 | 9051 | stable |
| phpDocumentor/ReflectionCommon ReflectionCommon is a small PHP library containing shared interfaces and common classes used by phpDocumentor's reflection components. It s… | 42 | 9032 | stable |
| open-circle/valibot Valibot is a modular, type-safe schema library for TypeScript that validates and parses unknown structural data at runtime while inferring … | 93 | 9021 | stable |
| remarkjs/remark remark is a plugin-powered markdown processor built on the unified ecosystem that parses markdown into an AST (mdast) and transforms it. It… | 66 | 9008 | stable |