Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

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

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Rust
  3. html5ever

html5ever

NOASSERTIONRusthtml5ever-v0.35.0

A high-performance, browser-grade HTML5 parser written in Rust, developed as part of the Servo project.

GitHubGitHub
2.6k stars275 forks0 contributors

What is html5ever?

html5ever is a high-performance HTML5 parser written in Rust, originally developed for the Servo browser project. It parses and serializes HTML according to WHATWG specifications while providing the hooks needed for browser-grade functionality like document.write. The parser aims to combine C-level performance with Rust's memory safety to avoid common security vulnerabilities.

Target Audience

Developers building web browsers, crawlers, or tools requiring robust HTML parsing, particularly those working in Rust ecosystems or needing standards-compliant, high-performance parsing.

Value Proposition

It offers a unique combination of standards compliance, browser-grade features, and the safety/performance benefits of Rust, making it ideal for projects where security and speed are critical without sacrificing web compatibility.

Overview

High-performance browser-grade HTML5 parser

Use Cases

Best For

  • Building web browsers or browser engines like Servo
  • Developing web crawlers that need robust HTML parsing
  • Creating tools for HTML validation or transformation
  • Implementing standards-compliant HTML parsers in Rust
  • Parsing HTML in security-sensitive applications
  • Projects requiring high-performance parsing with memory safety

Not Ideal For

  • Projects needing a built-in DOM tree for out-of-the-box manipulation
  • Non-Rust applications without ready-to-use language bindings
  • Simple HTML parsing tasks where a lightweight parser suffices

Pros & Cons

Pros

C-Like Performance

Delivers parsing speeds comparable to C while leveraging Rust's memory safety, as highlighted in the README for high-performance needs.

Standards Compliance

Implements WHATWG HTML5 specifications and passes most html5lib tests, ensuring broad web compatibility for real-world use.

Browser-Grade Hooks

Supports essential browser features like document.write, making it suitable for engines requiring full web compatibility.

Memory Safety

Avoids common C security vulnerabilities through Rust's ownership model, providing a secure foundation for parsing.

Cons

No Built-In DOM

Requires custom implementation via callbacks for DOM manipulation, adding complexity compared to parsers with integrated tree representations.

Encoding Limitations

Currently supports only UTF-8, with other encodings planned but not yet implemented, limiting handling of legacy documents.

Incomplete Spec Compliance

Acknowledges differences from WHATWG specs and not all html5lib tests are passed, as documented in the bug tracker.

Frequently Asked Questions

Quick Stats

Stars2,585
Forks275
Contributors0
Open Issues59
Last commit7 days ago
CreatedSince 2014

Tags

#servo#browser-engine#web-standards#utf-8#tokenizer#html-parser#rust#performance#memory-safe

Built With

R
Rust

Included in

Rust56.6k
Auto-fetched 21 hours ago

Related Projects

jsonjson

Strongly typed JSON library for Rust

Stars5,576
Forks649
Last commit18 days ago
prostprost

PROST! a Protocol Buffers implementation for the Rust Language

Stars4,708
Forks621
Last commit1 day ago
rkyvrkyv

Zero-copy deserialization framework for Rust

Stars4,252
Forks229
Last commit6 days ago
https://github.com/ron-rs/ronhttps://github.com/ron-rs/ron

Rusty Object Notation

Stars3,924
Forks145
Last commit1 day 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