You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Crypto City 7010cf7055 add basic text-shadow support 1 year ago
.github/workflows Re-run failed test cases verbosely 3 years ago
cmake Add install target and export for use with find_package 5 years ago
containers cairo_container: fix handling of invalid list-style-image 2 years ago
include add basic text-shadow support 1 year ago
src add basic text-shadow support 1 year ago
test fix test 2 years ago
.gitignore Moved src headers into discrete folders and updated include paths. 5 years ago
CMakeLists.txt fix build on windows 1 year ago
LICENSE Create LICENSE 10 years ago Update 2 years ago
litehtml.vcxproj Fixed build errors on Windows 3 years ago
litehtml.vcxproj.filters Fixed build errors on Windows 3 years ago

What is litehtml?

litehtml is the lightweight HTML rendering engine with CSS2/CSS3 support. Note that litehtml itself does not draw any text, pictures or other graphics and that litehtml does not depend on any image/draw/font library. You are free to use any library to draw images, fonts and any other graphics. litehtml just parses HTML/CSS and places the HTML elements into the correct positions (renders HTML). To draw the HTML elements you have to implement the simple callback interface document_container. This interface is really simple, check it out! The document_container implementation is required to render HTML correctly.

Where litehtml can be used

litehtml can be used when you need to show HTML formatted text or even to create a mini-browser, but using it as a full-featured HTML engine is not recommended. Usually you don't need something like WebKit to show simple HTML tooltips or HTML-formatted text, litehtml is much better for these as it's more lightweight and easier to integrate into your application.

HTML Parser

litehtml uses the gumbo-parser to parse HTML. Gumbo is an implementation of the HTML5 parsing algorithm implemented as a pure C99 library with no outside dependencies. It's designed to serve as a building block for other tools and libraries such as linters, validators, templating languages, and refactoring and analysis tools.


litehtml is compatible with any platform suported by C++ and STL. For Windows MS Visual Studio 2013 is recommended. litehtml supports both UTF-8 and Unicode strings on Windows and UTF-8 strings on Linux and Haiku.

Support for HTML and CSS standards

Unfortunately litehtml is not fully compatible with HTML/CSS standards. There is lots of work to do to make litehtml work as well as modern browsers. But litehtml supports most HTML tags and CSS properties. You can find the list of supported CSS properties in this table. For most simple usecases the HTML/CSS features supported by litehtml are enough. Right now litehtml supports even some pages with very complex HTML/CSS designs. As an example the pages created with bootstrap framework are usually well formatted by litehtml.

Testing litehtml

You can download the simple browser (litebrowser) to test the litehtml rendering engine.

The litebrowser source codes are available on GitHub:


litehtml is distributed under New BSD License. The gumbo-parser is disributed under Apache License, Version 2.0