# isaacs/sax-js

A sax style parser for JS

Repository: https://github.com/isaacs/sax-js
Canonical: https://ross.abutalabs.com/products/sax-js
Language: JavaScript
License: BlueOak-1.0.0
License Family: other
Last push: 2026-07-24T18:50:27+00:00

## Health v2 (maintenance only)
Score: 75/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 94, release rhythm 35, longevity 100
- inputs: {"age_days": 6050, "days_push": 40, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1157, forks 342 (observed 2026-08-28T04:03:48.332600+00:00)

## What it is
A SAX-style streaming parser for XML and HTML written in JavaScript, designed for Node.js but usable in the browser. It emits events for tags, text, and attributes, with a strict XML mode and a lenient HTML-ish mode.

## Use cases
- parse xml in node.js
- stream large xml files without loading into memory
- parse rss feeds with slightly broken xml
- event-driven xml parsing in javascript
- extract tags and attributes from xml documents
- tolerant parsing of malformed xml

## When to choose
- you need a lightweight, streaming, event-based XML parser
- you're dealing with real-world slightly-broken XML like RSS
- you want to build your own DOM or object model on top of raw XML events
- you need to run in Node.js or the browser with minimal dependencies

## When to avoid
- you need a full DOM tree or XPath/XSLT querying
- you need strict standards-compliant XML validation or DTD/XSD schema support
- you need a full HTML parser with browser-like error recovery
- you prefer a tree-building parser API over event callbacks

## Facets
- artifact type: library
- maturity: maintenance
- function: parser
- domain: parsers, web-development, developer-tools
- platform: browser
- tags: xml-parser, sax, streaming, html-parsing, event-driven, nodejs, javascript

## Member repositories
- isaacs/sax-js (main) score 75

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:03:48.332600+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-30T06:32:02.843822+00:00, confidence not recorded.
  - readme: https://github.com/isaacs/sax-js (fetched 2026-08-28T04:03:48.332600+00:00, sha 8de09255170c)
- Data as of 2026-08-30T08:39:29.467469+00:00.
