# Install htmlcxx with Homebrew, apk, apt, dnf, Nix, pacman, zypper

Non-validating CSS1 and HTML parser for C++. Version 0.87 via Homebrew; verified 2026-06-19.

## Install

```sh
sudo av install brew:htmlcxx
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install htmlcxx
```

  Evidence: local Homebrew formula metadata

### Linux

- apk (92%):

```sh
sudo apk add htmlcxx
```

  Evidence: Alpine Linux edge package indexes: htmlcxx from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install libcss-parser-pp0v5
```

  Evidence: Debian stable package indexes: libcss-parser-pp0v5 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- dnf (92%):

```sh
sudo dnf install htmlcxx
```

  Evidence: Fedora Rawhide package metadata: htmlcxx from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#htmlcxx
```

  Evidence: nixpkgs package indexes: pkgs/by-name/ht/htmlcxx/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- pacman (92%):

```sh
sudo pacman -S htmlcxx
```

  Evidence: Arch Linux sync databases: htmlcxx from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- zypper (92%):

```sh
sudo zypper install htmlcxx
```

  Evidence: openSUSE Tumbleweed package metadata: htmlcxx from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

## Package facts

- **Package key:** brew:htmlcxx
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/htmlcxx>
- **Version:** 0.87
- **Source summary:** Non-validating CSS1 and HTML parser for C++
- **Homepage:** <https://htmlcxx.sourceforge.net/>
- **Repository:** <https://sourceforge.net/p/htmlcxx/code>
- **Upstream docs:** <https://htmlcxx.sourceforge.net/>
- **License:** LGPL-2.0-only AND Apache-2.0
- **Source archive:** <https://downloads.sourceforge.net/project/htmlcxx/v0.87/htmlcxx-0.87.tar.gz>
- **Last updated:** 2026-06-19T12:31:20-07:00
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- htmlcxx (cli)
- htmlcxx (alias)

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_big_sur, arm64_linux, arm64_monterey, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, big_sur, catalina, monterey, sonoma, ventura

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 0.87
- Package-manager updated: 2026-06-19
- Local data: ok
- Upstream repository: https://htmlcxx.sourceforge.net/
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

htmlcxx is a C++ library and small utility for non-validating HTML and CSS1 parsing. Its distinctive promise is that an HTML document can be reproduced character by character from the parse tree, while users still get STL-like tree traversal.

### Project history

The SourceForge project was registered in 2003 and the project page names Davi de Castro Reis and Robson Braga Araujo as maintainers. The project documentation describes a parser designed to mimic Mozilla Firefox parsing behavior without inserting bytes that were not present in the input document.

The later README says the project spent a decade on SourceForge, was manually copied elsewhere, and then moved to GitHub with accumulated patches. It also says the library is frozen except for eventual bug fixes, which fits its role as a stable, old C++ parsing component.

### Adoption history

htmlcxx appears in Homebrew, Alpine, Debian and Ubuntu library packages, Fedora-family packages, Nix, Arch, and openSUSE. Distribution packaging is especially relevant because C++ users often want headers and libraries from system package managers rather than vendored source snapshots.

### How it is used

The README shows C++ code parsing an HTML string into a tree, walking links, dumping text, and using the htmlcxx command-line application to inspect how the library parses input. Its sweet spot is lightweight extraction or parser experiments where preserving original document bytes matters.

### Why package nerds care

For package nerds, htmlcxx is an old-school SourceForge C++ library that still shows up in distro package sets because it offers a compact API and a specific round-tripping behavior. It is less a general web platform parser than a useful legacy component for native-code tools.

### Timeline

- 2003: The SourceForge project was registered.
- 2009: A SourceForge user review described it as fast, solid, robust, and easy to use.
- 2015: The README records the SourceForge-to-GitHub move and says the library is frozen except for fixes.
- Version 0.85: The news notes gcc 4.3 fixes and CSS library distribution improvements.
- Version 0.86: The news notes compilation fixes.
- Version 0.87: The news notes cherry-picked fixes from a long-running fork.

### Related projects

- Related native and parser projects include Gumbo, libxml2's HTML parser, html5lib ports, tree.hh, and hcxselect. The README also references Mozilla Firefox behavior as a model for parse trees.

### Sources

- Homebrew and distribution package metadata support package-manager adoption.
- SourceForge project metadata documents registration, maintainers, description, project activity, and package identity.
- The README documents SourceForge history, GitHub move, frozen status, parser design, examples, and version news.


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** htmlcxx
- **Version Scheme:** 0
- **Revision:** 0
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## Other Package-Manager Records

- Debian apt - libcss-parser-pp0v5 - 0.87-4+b2: normalized package name match | Debian stable package indexes: libcss-parser-pp0v5 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | simple CSS1 parser library for C++ | http://htmlcxx.sourceforge.net/
- Debian apt - libcss-parser0 - 0.87-4+b2: normalized package name match | Debian stable package indexes: libcss-parser0 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | simple CSS1 parser library for C | http://htmlcxx.sourceforge.net/
- Debian apt - libhtmlcxx-dev - 0.87-4+b2: normalized package name match | Debian stable package indexes: libhtmlcxx-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | simple HTML/CSS1 parser library for C++ (development) | http://htmlcxx.sourceforge.net/
- Debian apt - libhtmlcxx3v5 - 0.87-4+b2: normalized package name match | Debian stable package indexes: libhtmlcxx3v5 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | simple HTML parser library for C++ | http://htmlcxx.sourceforge.net/
- Nix - htmlcxx: normalized package name match | nixpkgs package indexes: pkgs/by-name/ht/htmlcxx/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - libcss-parser-pp0v5 - 0.87-4: normalized package name match | Ubuntu 24.04 LTS package indexes: libcss-parser-pp0v5 from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | simple CSS1 parser library for C++ | http://htmlcxx.sourceforge.net/
- Ubuntu apt - libcss-parser0 - 0.87-4: normalized package name match | Ubuntu 24.04 LTS package indexes: libcss-parser0 from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | simple CSS1 parser library for C | http://htmlcxx.sourceforge.net/
- Ubuntu apt - libhtmlcxx-dev - 0.87-4: normalized package name match | Ubuntu 24.04 LTS package indexes: libhtmlcxx-dev from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | simple HTML/CSS1 parser library for C++ (development) | http://htmlcxx.sourceforge.net/
- Ubuntu apt - libhtmlcxx3v5 - 0.87-4: normalized package name match | Ubuntu 24.04 LTS package indexes: libhtmlcxx3v5 from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | simple HTML parser library for C++ | http://htmlcxx.sourceforge.net/
- apk - htmlcxx - 0.87-r1: normalized package name match | Alpine Linux edge package indexes: htmlcxx from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | Simple non-validating CSS1 and HTML parser for C++ | https://htmlcxx.sourceforge.net/
- apk - htmlcxx-dev - 0.87-r1: normalized package name match | Alpine Linux edge package indexes: htmlcxx-dev from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | Simple non-validating CSS1 and HTML parser for C++ (development files) | https://htmlcxx.sourceforge.net/
- dnf - htmlcxx - 0.86-28.fc44: normalized package name match | Fedora Rawhide package metadata: htmlcxx from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | A simple non-validating CSS1 and HTML parser for C++ | http://htmlcxx.sourceforge.net/
- dnf - htmlcxx-devel - 0.86-28.fc44: normalized package name match | Fedora Rawhide package metadata: htmlcxx-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Headers and Static Library for htmlcxx | http://htmlcxx.sourceforge.net/
- pacman - htmlcxx - 0.87-5: normalized package name match | Arch Linux sync databases: htmlcxx from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | A simple non-validating CSS1 and HTML parser for C++. | http://gcc-libs.sourceforge.net/
- zypper - htmlcxx - 0.87-2.15: normalized package name match | openSUSE Tumbleweed package metadata: htmlcxx from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | HTML and CSS APIs for C++ | http://htmlcxx.sourceforge.net/
- zypper - htmlcxx-devel - 0.87-2.15: normalized package name match | openSUSE Tumbleweed package metadata: htmlcxx-devel from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Headers and Static Library for htmlcxx | http://htmlcxx.sourceforge.net/


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [lgogdownloader](https://www.automicvault.com/pkg/brew/lgogdownloader/) - Popular package that depends on this formula.
- [htmlcleaner](https://www.automicvault.com/pkg/brew/htmlcleaner/) - Shares av.db curated category or tags: cli, developer-tools, html, markup, parser.
- [cpp-peglib](https://www.automicvault.com/pkg/brew/cpp-peglib/) - Shares av.db curated category or tags: c-plus-plus, cli, developer-tools, library, parser.
- [btparse](https://www.automicvault.com/pkg/brew/btparse/) - Shares av.db curated category or tags: cli, developer-tools, library, parser, parsing.
- [md4c](https://www.automicvault.com/pkg/brew/md4c/) - Shares av.db curated category or tags: cli, developer-tools, library, markup, parser.
- [sqlparse](https://www.automicvault.com/pkg/brew/sqlparse/) - Shares av.db curated category or tags: cli, developer-tools, library, parser, parsing.
- [urdfdom](https://www.automicvault.com/pkg/brew/urdfdom/) - Shares av.db curated category or tags: cli, developer-tools, library, parser, parsing.
- [comrak](https://www.automicvault.com/pkg/brew/comrak/) - Shares av.db curated category or tags: cli, developer-tools, markup, parser.
- [discount](https://www.automicvault.com/pkg/brew/discount/) - Shares av.db curated category or tags: cli, developer-tools, html, markup.
- [log4cpp](https://www.automicvault.com/pkg/brew/log4cpp/) - Local package facts share a topical domain. Shared terms: c-plus-plus, cli, developer, developer-tools, library.

## Combined YAML source

View the package source record on GitHub. [combined/htmlcxx.yml](https://github.com/automic-vault/db/blob/main/combined/htmlcxx.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
