# libexpat/libexpat

:herb: Fast streaming XML parser written in C99 with >90% test coverage; moved from SourceForge to GitHub

Repository: https://github.com/libexpat/libexpat
Canonical: https://ross.abutalabs.com/products/libexpat
Homepage: https://libexpat.github.io/
Language: C
License: MIT
License Family: permissive
Topics: xml, xml-parser, xml-parsing, xml-parser-library, library, c, streaming-parser, expat, expat-xml-parser, c99, siphash
Last push: 2026-08-25T12:42:19+00:00

## Health v2 (maintenance only)
Score: 94/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 99, release rhythm 85, longevity 100
- inputs: {"age_days": 3504, "days_push": 8, "days_rel": 23, "gap_med": 45, "n_releases_24m": 12}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1366, forks 535 (observed 2026-08-28T04:04:31.381348+00:00)

## What it is
Expat is a fast, stream-oriented XML parser library written in C99, well suited for files too large to fit in memory. It is widely packaged and embedded in many applications, with high test coverage and regular security releases.

## Use cases
- parse large xml files without loading them into memory
- embed an xml parser in a c or c++ application
- stream-parse xml documents with sax-style callbacks
- process xml feeds incrementally
- need a fast lightweight xml parsing library

## When to choose
- you need a battle-tested, dependency-free C XML parser
- parsing XML larger than available RAM
- performance and low memory footprint matter
- you want a library packaged everywhere with broad bindings

## When to avoid
- you need DOM-style tree access rather than streaming events
- you need XML schema validation or XPath support
- you are working in a high-level language where native parsers suffice

## Facets
- artifact type: library
- maturity: stable
- function: parser, serialization
- domain: parsers, developer-tools
- platform: c, cpp, cross-platform, windows
- tags: xml, streaming-parser, c99, expat, sax-style, linux, macos

## Member repositories
- libexpat/libexpat (main) score 94

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:31.381348+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T04:41:13.316636+00:00, confidence not recorded.
  - readme: https://github.com/libexpat/libexpat (fetched 2026-08-28T04:04:31.381348+00:00, sha 9050593533f6)
  - homepage: https://libexpat.github.io/ (fetched 2026-08-29T11:58:23.365592+00:00, sha 167f10a73447)
- Data as of 2026-08-30T08:39:29.467469+00:00.
