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 |
|---|---|---|---|
| UglyToad/PdfPig PdfPig is a C#/.NET library for reading and extracting text, images, annotations, forms, and metadata from PDF files, ported from Apache PD… | 88 | 2588 | active |
| adamhathcock/sharpcompress SharpCompress is a fully managed pure C# compression library for .NET supporting many archive formats (zip, tar, gzip, bzip2, 7zip, rar, xz… | 95 | 2587 | active |
| facet-rs/facet Facet is a Rust reflection ecosystem: a single derive macro gives types a runtime SHAPE description (fields, variants, attributes, layout) … | 81 | 2587 | active |
| formkit/tempo Tempo is a tiny, tree-shakable JavaScript/TypeScript library for parsing, formatting, manipulating, and internationalizing dates and times.… | 72 | 2586 | active |
| rednaga/APKiD APKiD is a command-line tool that identifies how an Android APK was built, detecting compilers, packers, obfuscators, and app-shielding/RAS… | 75 | 2577 | active |
| lgandx/PCredz PCredz is a Python CLI tool that extracts credentials and authentication tokens (NTLM, Kerberos, HTTP Basic, FTP, SMTP, IMAP, POP3, LDAP, S… | 60 | 2577 | active |
| tezc/sc A collection of portable, stand-alone C99 libraries and data structures such as hashmap, heap, linked list, logger, and ini parser. Each mo… | 61 | 2573 | active |
| typescript-language-server/typescript-language-server A community-maintained Language Server Protocol implementation for TypeScript and JavaScript, wrapping the tsserver API so any LSP-capable … | 97 | 2570 | active |
| onekey-sec/unblob unblob is an extraction suite that parses unknown binary blobs for 78+ archive, compression, and file-system formats, recursively extractin… | 88 | 2570 | active |
| rtlamr A Go-based software-defined radio receiver that decodes Itron ERT smart meter transmissions in the 900MHz ISM band using an inexpensive rtl… | 73 | 2546 | active |
| circe circe is a JSON library for Scala and Scala.js providing a JSON AST, encoders/decoders (codecs), and automatic derivation for case classes … | 94 | 2539 | stable |
| RDFLib/rdflib RDFLib is a pure Python library for working with RDF (Resource Description Framework), providing parsers and serializers for formats like R… | 83 | 2538 | stable |
| JohnSundell/Ink Ink is a fast and flexible Markdown parser written in Swift that converts Markdown strings into HTML. It supports front-matter metadata par… | 23 | 2537 | stable |
| tinygltf TinyGLTF is a header-only C11/C++ library for loading and saving glTF 2.0 3D asset files. It offers a pure C POD API, arena-based memory ma… | 82 | 2535 | active |
| m4ll0k/SecretFinder SecretFinder is a Python CLI script based on LinkFinder that discovers sensitive data like API keys, access tokens, and JWTs in JavaScript … | 32 | 2534 | active |
| KhronosGroup/SPIRV-Cross SPIRV-Cross is a tool and C++ library from Khronos for parsing SPIR-V binaries, performing reflection, and decompiling them back to high-le… | 67 | 2532 | stable |
| hyperjumptech/grule-rule-engine Grule is a rule engine library for Go, inspired by JBoss Drools, with its own Domain-Specific Language (GRL) for defining production rules.… | 60 | 2531 | active |
| facebookresearch/nougat Nougat is Meta's neural OCR model that parses academic PDFs into structured Markdown, understanding LaTeX math and tables. It ships as a Py… | 20 | 10082 | maintenance |
| ValveResourceFormat/ValveResourceFormat Source 2 Viewer (VRF) is an open-source tool for browsing VPK archives and viewing, extracting, and decompiling Source 2 game assets such a… | 95 | 2520 | active |
| Cap'n Proto for Rust A Rust implementation of the Cap'n Proto data serialization format and RPC protocol. It generates code from schema files enabling zero-copy… | 77 | 2518 | active |
| axiomatic-systems/Bento4 Bento4 is a C++ class library and set of command-line tools for reading, writing, inspecting, encrypting, and packaging ISO-MP4 files, incl… | 69 | 2507 | stable |
| weggli-rs/weggli weggli is a fast semantic search tool for C and C++ codebases that performs pattern matching on abstract syntax trees using a query languag… | 23 | 2498 | active |
| fnando/browser A Ruby gem for detecting browsers, bots, devices, and platforms from user agent strings. It includes ActionController integration for Rails… | 40 | 2496 | active |
| fhamborg/news-please news-please is an open-source Python news crawler and information extractor that pulls structured article data (headline, lead, main text, … | 63 | 2493 | active |
| VirusTotal/yara YARA is a pattern matching tool used to identify and classify malware families and other files based on textual or binary pattern rules. It… | 94 | 9907 | maintenance |
| pyparsing/pyparsing pyparsing is a Python library for building Parsing Expression Grammar (PEG) parsers directly in Python code using composable classes and op… | 92 | 2492 | stable |
| trailofbits/graphtage Graphtage is a command-line utility and Python library for semantically diffing and merging tree-structured files like JSON, YAML, XML, HTM… | 96 | 2488 | stable |
| uber/piranha PolyglotPiranha is a lightweight code transformation toolset from Uber for automating large-scale code changes, primarily cleaning up stale… | 75 | 2488 | active |
| tid-kijyun/Kanna Kanna is a Swift XML/HTML parser library inspired by Ruby's Nokogiri, built on libxml2. It supports XPath 1.0 and CSS3 selector queries acr… | 66 | 2486 | active |
| 0xd4d/dnlib dnlib is a C# library that reads and writes .NET assemblies and modules, including method bodies and IL code. It supports loading modules f… | 57 | 2486 | stable |
| sprache/Sprache Sprache is a tiny, lightweight C# library for building text parsers directly in code using monadic parser combinators and LINQ query syntax… | 32 | 2481 | stable |
| unjs/magicast Magicast is a TypeScript library for programmatically modifying JavaScript and TypeScript source files using a simple, JSON-like proxy API … | 92 | 2478 | active |
| gpac/mp4box.js MP4Box.js is a JavaScript/TypeScript library for parsing, segmenting, and extracting samples from MP4 (ISOBMFF) files, inspired by GPAC's M… | 92 | 2475 | active |
| litehtml litehtml is a lightweight C++ HTML/CSS rendering engine that parses HTML (via gumbo-parser) and computes element layout with CSS2/CSS3 supp… | 82 | 2470 | active |
| valyala/fastjson fast is a fast JSON parser and validator library for Go that parses arbitrary JSON without schemas, reflection, or code generation. It clai… | 59 | 2468 | stable |
| bashly-framework/bashly Bashly is a Ruby-based command line tool that generates feature-rich, standalone bash CLI scripts from a simple YAML configuration file. It… | 97 | 2457 | stable |
| ZerBea/hcxtools A set of C command-line tools that convert WiFi packet captures (pcap/pcapng) into hash formats compatible with Hashcat and John the Ripper… | 77 | 2454 | active |
| JMESPath JMESPath is a declarative query language for extracting and transforming elements from JSON documents, with a formal specification and comp… | 64 | 2451 | stable |
| kurtmckee/feedparser feedparser is a Python library that parses RSS, Atom, RDF, CDF, and JSON feeds into a uniform data structure. It is the de facto standard u… | 86 | 2444 | stable |
| tafia/calamine calamine is a pure Rust library for reading and deserializing Excel (xls, xlsx, xlsm, xlsb, xla, xlam) and OpenDocument spreadsheet (ods) f… | 92 | 2438 | stable |
| retext Retext is a JavaScript library that transforms natural language into concrete syntax trees (CSTs) and lets plugins inspect and change that … | 23 | 2435 | active |
| remarkablemark/html-react-parser html-react-parser is an npm library that converts HTML strings into React elements, working on both the server (Node.js) and the client (br… | 96 | 2429 | stable |
| DanmakuFlameMaster DanmakuFlameMaster is Bilibili's open-source Android danmaku (bullet comment) engine that parses and renders scrolling comments over video.… | 23 | 9609 | maintenance |
| jpsim/SourceKitten SourceKitten is a Swift framework and command line tool that links with sourcekitd.framework to interact with SourceKit. It parses Swift AS… | 90 | 2426 | stable |
| apache/lucenenet Apache Lucene.NET is an open-source full-text search library written in C#, ported from the Java Apache Lucene project. It provides powerfu… | 82 | 2422 | active |
| rust-scraper/scraper A Rust library for parsing HTML documents and querying them with CSS selectors, built on Servo's html5ever and selectors crates for browser… | 85 | 2421 | active |
| LoRexxar/Kunlun-M Kunlun-M is an open-source static code analysis (SAST) tool that detects security vulnerabilities in PHP, JavaScript/Node.js, Python, Golan… | 100 | 2418 | active |
| premailer/premailer Premailer is a Ruby gem that prepares HTML email for delivery by inlining CSS styles, converting relative URLs to absolute, and checking CS… | 75 | 2416 | active |
| stencilproject/Stencil Stencil is a template language and engine for Swift with a syntax similar to Django and Mustache. It lets Swift applications render text te… | 23 | 2412 | stable |
| OpenBullet OpenBullet 2 is a cross-platform automation suite built on .NET for performing HTTP requests against target web applications and processing… | 91 | 2411 | active |
| josdejong/jsonrepair A TypeScript library that repairs invalid JSON documents, fixing issues like missing quotes, commas, brackets, single quotes, comments, tra… | 69 | 2410 | active |
| earlephilhower/ESP8266Audio An Arduino library for parsing and decoding audio formats including MOD, WAV, MP3, FLAC, MIDI, AAC, OGG/Opus, and RTTTL on ESP8266, ESP32, … | 94 | 2406 | active |
| scrapinghub/portia Portia is a visual web scraping tool from Scrapinghub built on Scrapy that lets users annotate web pages in a browser to define data extrac… | 10 | 9501 | maintenance |
| tamasfe/taplo Taplo is a versatile TOML v1.0.0 toolkit written in Rust, providing a parser, analyzer, and formatter usable as a library, CLI, VS Code ext… | 73 | 2403 | active |
| strukturag/libheif libheif is a C++ library that decodes and encodes HEIF/HEIC and AVIF image files, plus HEIF containers using VVC, AVC, JPEG, and JPEG-2000 … | 98 | 2399 | active |
| quantizor/markdown-to-jsx A fast and versatile markdown toolchain that parses markdown into an AST and renders it to React, React Native, SolidJS, Vue, HTML, and oth… | 91 | 2393 | active |
| chillerlan/php-qrcode A PHP library for generating Model 2 QR Codes (versions 1-40, all ECC levels, mixed encoding modes) with extensible output modules for rast… | 81 | 2391 | active |
| docx4j docx4j is an open-source (Apache v2) Java library for creating, editing, and saving Microsoft OpenXML packages, including Word docx, PowerP… | 77 | 2385 | active |
| iziz/libPhoneNumber-iOS An iOS port of Google's libphonenumber library with an Objective-C core and Swift-first facade modules for parsing, formatting, and validat… | 98 | 2381 | active |
| Vineflower/vineflower Vineflower is a modern Java and JVM bytecode decompiler forked from Fernflower, focused on producing accurate, readable output with support… | 78 | 2380 | active |
| 0xMassi/webclaw webclaw is a Rust-based web extraction toolkit that turns any URL into clean, LLM-ready markdown, JSON, or token-optimized text, including … | 77 | 2379 | active |
| gawel/pyquery pyquery is a Python library that provides a jQuery-like API for querying and manipulating XML and HTML documents, built on top of lxml for … | 77 | 2376 | stable |
| StractOrg/stract Stract is an open-source web search engine written in Rust with its own independent crawler and index, built on the Tantivy inverted index … | 10 | 2371 | active |
| fastino-ai/GLiNER2 GLiNER2 is a Python library for schema-based information extraction and text classification, supporting named entity recognition, structure… | 85 | 2369 | active |
| ben-strasser/fast-cpp-csv-parser A small, fast, header-only C++11 library for reading CSV files with no external dependencies. It overlaps disk I/O and parsing using thread… | 32 | 2362 | stable |
| Perl/perl5 Perl 5 is a general-purpose, dynamically typed programming language originally developed for text manipulation, now used for system adminis… | 77 | 2344 | stable |
| ludovicchabant/vim-gutentags A Vim plugin that automatically manages ctags tag files, regenerating them in the background as you edit and save files. It detects project… | 32 | 2342 | stable |
| olivernn/lunr.js Lunr.js is a small, dependency-free full-text search library for JavaScript that indexes JSON documents and runs entirely in the browser or… | 32 | 9203 | maintenance |
| FriendsOfPHP/Goutte Goutte is a PHP screen scraping and web crawling library providing a simple API to crawl websites and extract data from HTML/XML responses.… | 10 | 9180 | maintenance |
| REAndroid/APKEditor APKEditor is a Java command-line tool for editing Android APK resources without depending on aapt/aapt2. It can decode binary resources to … | 84 | 2335 | active |
| ObjectMapper ObjectMapper is a Swift framework that converts model objects (classes and structs) to and from JSON using the Mappable protocol and the <-… | 23 | 9129 | maintenance |
| gjtorikian/html-pipeline A Ruby library providing a small framework of chainable filters for processing user-supplied content into HTML. It supports text filters, c… | 63 | 2323 | active |
| JohnnyMorganz/StyLua StyLua is a deterministic, opinionated code formatter for Lua and its dialects (Lua 5.1-5.4, LuaJIT, Luau, CfxLua), written in Rust and bui… | 95 | 2318 | active |
| chezou/tabula-py tabula-py is a Python wrapper around tabula-java that extracts tables from PDF files into pandas DataFrames. It can also convert PDFs direc… | 23 | 2317 | stable |
| clangd clangd is a language server that provides C/C++ IDE features such as code completion, diagnostics, go-to-definition, and refactoring to any… | 88 | 2310 | stable |
| sjdirect/abot Abot is an open source C# web crawler framework built for speed and flexibility, handling multithreading, HTTP requests, scheduling, and li… | 70 | 2309 | active |
| gnostic gnostic is a Go command-line compiler that converts OpenAPI descriptions between JSON/YAML and Protocol Buffer representations. It provides… | 62 | 2308 | active |
| h2non/filetype A small, dependency-free Go library that infers file and MIME types by checking binary magic number signatures. It supports a wide range of… | 60 | 2300 | stable |
| anaskhan96/soup soup is a small Go library for web scraping with an API modeled after Python's BeautifulSoup. It fetches HTML over HTTP and builds a DOM th… | 95 | 2297 | active |
| cantools/cantools A Python library and command-line tool for working with CAN bus databases. It parses DBC, KCD, SYM, ARXML, and CDD files and encodes/decode… | 98 | 2294 | active |
| jelmer/dulwich Dulwich is a pure-Python implementation of Git's file formats and network protocols, providing both low-level access to Git objects and a h… | 99 | 2289 | active |
| theryangeary/choose Choose is a fast, human-friendly command-line utility written in Rust for selecting fields or character ranges from each line of input, ser… | 58 | 2285 | active |
| eliben/pyelftools pyelftools is a pure-Python library with no external dependencies for parsing ELF binaries and DWARF debugging information. It lets Python … | 76 | 2284 | stable |
| globocom/m3u8 A Python library for parsing, loading, and writing m3u8 playlists used in HTTP Live Streaming (HLS) transmissions. It supports loading play… | 23 | 2284 | active |
| AcademySoftwareFoundation/MaterialX MaterialX is an open standard and C++/Python library for representing and exchanging rich material and look-development content across comp… | 80 | 2282 | stable |
| J-F-Liu/lopdf lopdf is a Rust library for low-level PDF document manipulation, supporting creating, parsing, editing, and merging PDF files. It offers op… | 98 | 2281 | stable |
| apache/poi Apache POI is a Java library for reading and writing Microsoft Office documents in both OLE2 binary formats (XLS, DOC, PPT) and Office Open… | 76 | 2277 | stable |
| open-source-parsers/jsoncpp JsonCpp is a mature C++ library for parsing, manipulating, and serializing JSON values, including support for preserving comments in JSON f… | 85 | 8894 | maintenance |
| winder/Universal-G-Code-Sender Universal G-Code Sender is a free, cross-platform Java application for sending G-Code to CNC controllers such as GRBL, FluidNC, TinyG, g2co… | 94 | 2273 | active |
| natemcmaster/CommandLineUtils A .NET library for building command line applications, providing argument parsing, option validation, help text generation, and interactive… | 78 | 2273 | stable |
| vgmstream/vgmstream vgmstream is a C library for decoding and playing hundreds of streamed (prerecorded) audio formats used in video games, with support for lo… | 82 | 2272 | active |
| llvm/circt CIRCT (Circuit IR Compilers and Tools) is an LLVM/MLIR-based infrastructure project for building hardware design compilers and tools. It pr… | 95 | 2267 | active |
| ibireme/YYText YYText is a powerful iOS text framework for displaying and editing rich text, offering UILabel/UITextView-compatible APIs with high-perform… | 23 | 8862 | maintenance |
| BAP (Binary Analysis Platform) CMU Binary Analysis Platform (BAP) is a suite of OCaml libraries and a plugin-extensible CLI tool for analyzing binary programs. It lifts b… | 56 | 2262 | active |
| alexdobin/STAR STAR (Spliced Transcripts Alignment to a Reference) is a fast, splice-aware aligner for RNA-seq reads written in C++. It aligns reads to a … | 24 | 2262 | active |
| Nette Framework A PHP library for programmatically generating PHP code for classes, functions, enums, attributes, and complete files, with support for the … | 92 | 2258 | stable |
| Storyyeller/Krakatau Krakatau is a Rust-based CLI tool for assembling, disassembling, and decompiling Java bytecode. It is specifically designed to handle obfus… | 75 | 2257 | active |
| rehypejs/rehype rehype is an HTML processor powered by plugins, part of the unified collective, that parses HTML into an AST (hast) so plugins can inspect … | 58 | 2257 | active |
| matthewwithanm/python-markdownify A Python library that converts HTML documents into Markdown text, built on BeautifulSoup. It offers configurable options for stripping tags… | 78 | 2255 | active |
| JoshuaKGoldberg/TypeStat TypeStat is a CLI utility that converts JavaScript files to TypeScript and improves type annotations in existing TypeScript code. It applie… | 79 | 2253 | active |