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

Non-validating CSS1 and HTML parser for C++. Version 0.87 via Homebrew; verified 2026-06-19. Also installable with debian: sudo apt install libcss-parser-pp0v5.

## 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

- 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/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-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/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst

- 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

## Package facts

- **Package key:** brew:htmlcxx
- **Package manager:** Homebrew
- **Version:** 0.87
- **Source summary:** Non-validating CSS1 and HTML parser for C++
- **Homepage:** <https://htmlcxx.sourceforge.net/>
- **Last updated:** 2026-06-19T12:31:20-07:00
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- htmlcxx (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 0.87
## 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

## 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-29.fc45: normalized package name match | Fedora Rawhide package metadata: htmlcxx from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst | A simple non-validating CSS1 and HTML parser for C++ | http://htmlcxx.sourceforge.net/
- dnf - htmlcxx-devel - 0.86-29.fc45: 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/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-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.16: normalized package name match | openSUSE Tumbleweed package metadata: htmlcxx from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst | HTML and CSS APIs for C++ | http://htmlcxx.sourceforge.net/
- zypper - htmlcxx-devel - 0.87-2.16: normalized package name match | openSUSE Tumbleweed package metadata: htmlcxx-devel from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst | Headers and Static Library for htmlcxx | http://htmlcxx.sourceforge.net/


## Combined YAML source

View the package source record on GitHub. [combined/htmlcxx.yml](https://github.com/mxcl/pkgdb/blob/main/combined/htmlcxx.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
