Build HTML with Go — not templates.

A fluent, type-checked HTML builder for Go. No string concatenation, no template files, no untyped CSS.

Start Building

Server-rendered counter — click increments state in Go:

0

Node tree, not strings

A real tree structure in Go — inspect, mutate, and reuse nodes before rendering, unlike raw string concatenation.

Escaping by default

Text and attribute values are escaped automatically. Raw() is an explicit, opt-in escape hatch.

Typed CSS, every property

Style is generated from MDN's CSS data — autocomplete on all ~500 CSS properties, no hand-maintained list.

Go talks to your HTML

Server-rendered fragments, not a JSON API layer. One Go function renders the full page and its own live updates.