The new standard in UI.

Ultralight is the best engine for displaying HTML UI inside your app. Harness the power of WebKit with the lightness of native UI.

#include <Ultralight/Ultralight.h>
int main () {
// Setup our Platform
Platform& platform = Platform::instance();
platform.set_gpu_driver(new GPUDriverD3D(new D3DRenderer()));
platform.set_font_loader(new FontLoaderWin());
// Create the Renderer
Ref<Renderer> renderer = Renderer::Create();
// Create the View
Ref<View> view = renderer->CreateView(800, 600, false);
view->LoadHTML("<h1>Hello World!</h1>");
return 0;

Why did we build Ultralight?

What's wrong with Chromium?

Chromium is awesome, it really is. But not for embedders. Over the past 10 years it has become bloated, memory-hungry, and difficult to build much less modify. We needed something in between a huge, all-in-one browser toolkit and a bare-bones HTML UI renderer that only supports a tiny subset of HTML/CSS spec.

Lighter is better.

We started over with WebKit, stripped it to the bare-minimum, then rebuilt it from scratch with an eye towards embedding. The result is a fast, lightweight, low-memory HTML UI solution that blends the power of Chromium with the small footprint of Native UI.

Who is it for?

Ultralight is intended to be used for rendering HTML UI within games and desktop apps. The API is currently available for C++ only and requires Direct3D (more drivers coming).


Only 8MB compressed, low memory usage, we've stripped WebKit to the bare essentials.


GPU-Accelerated, drivers for Direct3D (OpenGL and Metal soon). Optimized for games.


Write once, deploy to multiple platforms. Coming to Windows, Mac OSX, and Linux.

Try the Developer Preview Now

For Windows Only, More Platforms Coming

Frequently Asked Questions

What will pricing be like?

The library will be free for non-commercial, educational use, and small indie developers. Pricing plans for larger commercial projects will be announced later.

What's missing in the Developer Preview?

Quite a few things: Mac OSX and Linux support, scrollbars, text selection, copy/paste, CSS filter effects, CSS drop shadows, full GIF support, HTML5 video, and complex text support to name a few. We're still working on it.

What about .NET support and other bindings?

Additional bindings for C, C#, .NET, Python and more are planned.

What if I don't want GPU rendering? Can I render on CPU?

We're considering releasing a SwiftShader-based CPU driver so users can render in environments that don't support GPU.

WebCore has LGPL code, how can you be closed-source?

We will release all modifications made to WebCore during our first official release and ensure all WebCore code stays in a separate module to satisfy the licensing requirements of the LGPL license.

Who are you? How did you do this?

I'll drop the royal "we" for a moment. Hi, I'm Adam Simmons. I previously wrote Awesomium and many other tools. This project is self-funded and developed using my decade of experience with Chromium, Gecko, and WebKit.