HTML Purifier has documentation for all types of people. Here is an index of all of them.


End-user documentation that contains articles, tutorials and useful information for casual developers using HTML Purifier.

Explains various methods for allowing IDs in documents safely.
Embedding YouTube videos
Explains how to safely allow the embedding of flash from trusted sites.
Speeding up HTML Purifier
Explains how to speed up HTML Purifier through caching or inbound filtering.
UTF-8: The Secret of Character Encoding
Describes the rationale for using UTF-8, the ramifications otherwise, and how to make the switch.
Tutorial for tweaking HTML Purifier's Tidy-like behavior.
Tutorial for customizing HTML Purifier's tag and attribute sets.
URI Filters
Tutorial for creating custom URI filters.


Developer documentation detailing code issues, roadmaps and project conventions.

Implementation Progress
Tables detailing HTML element and CSS property implementation coverage.
Naming Conventions
Defines class naming conventions.
Discusses possible methods of optimizing HTML Purifier.
Flushing the Purifier
Discusses when to flush HTML Purifier's various caches.
Advanced API
Specification for HTML Purifier's advanced API for defining custom filtering behavior.
Config Schema
Describes config schema framework in HTML Purifier.


Proposed features, as well as the associated rambling to get a clear objective in place before attempted implementation.

Proposal to allow for color constraints.


Miscellaneous essays, research pieces and other reference type material that may not directly discuss HTML Purifier.

DevNetwork Credits
Credits and links to DevNetwork forum topics.

Internal memos

Plaintext documents that are more for use by active developers of the code. They may be upgraded to HTML files or stay as TXT scratchpads.

Type Name Description
End-user Overview High level overview of the general control flow (mostly obsolete).
End-user Security Common security issues that may still arise (half-baked).
Development Config BC Breaks Backwards-incompatible changes in HTML Purifier 4.0.0
Development Code Quality Issues Enumerates code quality issues and places that need to be refactored.
Proposal Filter levels Outlines details of projected configurable level of filtering.
Proposal Language Specification of I18N for error messages derived from MediaWiki (half-baked).
Proposal New directives Assorted configuration options that could be implemented.
Proposal CSS extraction Taking the inline CSS out of documents and into style.
Reference Handling Content Model Changes Discusses how to tidy up content model changes using custom ChildDef classes.
Reference Proprietary tags List of vendor-specific tags we may want to transform to W3C compliant markup.
Reference Modularization of HTMLDefinition Provides a high-level overview of the concepts behind HTMLModules.
Reference WHATWG How WHATWG plays into what we need to do.