Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. C
  3. gumbo-parser

gumbo-parser

Apache-2.0HTMLv0.10.1

A pure-C HTML5 parsing library implementing the HTML5 parsing algorithm.

GitHubGitHub
5.2k stars665 forks0 contributors

What is gumbo-parser?

Gumbo is a pure-C HTML5 parsing library that implements the W3C HTML5 parsing algorithm. It parses HTML5 documents into a structured tree representation, enabling developers to programmatically analyze and manipulate web content. The library focuses on standards compliance and correctness rather than browser-specific quirks.

Target Audience

C/C++ developers who need to parse HTML5 content in their applications, particularly those building web scrapers, document processors, or tools that analyze web content.

Value Proposition

Developers choose Gumbo for its strict adherence to the HTML5 specification, pure C implementation with no dependencies, and reliable error handling. It provides a solid foundation for HTML processing without the complexity of full browser engines.

Overview

An HTML5 parsing library in pure C99

Use Cases

Best For

  • Parsing HTML5 documents in C/C++ applications
  • Building web scraping tools that need standards-compliant HTML parsing
  • Implementing HTML processors or validators
  • Educational projects studying HTML5 parsing algorithms
  • Embedded systems or environments where minimal dependencies are required
  • Tools that need to extract structured data from HTML documents

Not Ideal For

  • Projects requiring ongoing maintenance, security updates, or support for post-2016 HTML standards
  • Modern web scrapers that need to handle JavaScript-rendered or dynamic content
  • Teams building production systems where dependency risks from unmaintained libraries are unacceptable
  • Developers seeking active community support, tutorials, or frequent updates

Pros & Cons

Pros

Standards-Compliant Parsing

Implements the full W3C HTML5 parsing algorithm, ensuring correct and predictable handling of HTML documents as per specifications.

No External Dependencies

Written in pure C99 with no external libraries required, making it highly portable and easy to integrate into C/C++ projects.

Robust Error Recovery

Gracefully handles malformed HTML with error recovery mechanisms, useful for parsing real-world, imperfect web content.

Cons

Unmaintained Since 2016

The project has seen no updates, bug fixes, or security patches for years, making it risky for long-term use.

Limited to Static HTML

Only parses static HTML5; cannot handle JavaScript execution or dynamic content rendering, limiting its utility for modern web pages.

Sparse Documentation

Relies on an old README and historical references, with no active documentation or examples for current development practices.

Frequently Asked Questions

Quick Stats

Stars5,193
Forks665
Contributors0
Open Issues0
Last commit6 months ago
CreatedSince 2013

Tags

#c-library#html5#portable#document-processing#web-scraping#parsing-library#html-parser#standards-compliant

Built With

C
C99

Included in

C3.8k
Auto-fetched 15 hours ago

Related Projects

h2oh2o

H2O - the optimized HTTP/1, HTTP/2, HTTP/3 server

Stars11,521
Forks882
Last commit3 days ago
http-parserhttp-parser

http request/response parser for c

Stars6,445
Forks1,522
Last commit4 years ago
nanomsgnanomsg

nanomsg library

Stars6,288
Forks1,032
Last commit2 months ago
s2ns2n

An implementation of the TLS/SSL protocols

Stars4,744
Forks789
Last commit20 hours ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub