Trusted
Powering high-traffic, production-grade websites like eBay.com
Powering high-traffic, production-grade websites like eBay.com
If you know HTML, CSS, and JavaScript, you know Marko
Streaming, resumable, optimizing compiler, and a tiny runtime
From simple HTML templates to powerful components as needed
Marko is HTML re‑imagined as a language for building dynamic and reactive user interfaces.
Just about any valid HTML is valid Marko, but Marko extends the HTML language to allow building modern applications in a declarative way.
Learn More// HTML + JavaScript = π
<let/count=0>
<button onClick() { count++ }>
Clicked ${count} times
</button>
// HTML + JavaScript = π
let/count=0
button onClick() { count++ }
-- Clicked ${count} times
Marko streams content to your users as soon as it's ready. No waiting for client side JavaScript bundles or data requests to start rendering.
HTML, assets, and images are loaded as soon as possible with asynchronous content loading in as it completes.
Learn MoreWhy ship entire Islands for a few grains of sand? Marko ships only what's needed, skipping hydration and stripping unused code at the sub-template level.
Lean by default. Fast by design. Unrivaled performance on any device or network.
Learn MoreBrowsers and servers are built differently, shouldn't your code be too? Marko compiles your templates to perform their best with optimized, environment-specific output.
Faster loads. Smaller bundles. One seamless language.
Learn More<div>Hello ${name}</div>
div -- Hello ${name}
Marko has built-in TypeScript support, with strong type inference that works across templates and components. Editors get full language features like autocompletion, jump-to-definition, syntax highlighting, and clean formatting.
Build confidently. Catch errors early. Write better code, faster.
Learn MoreNeed help? Want to Contribute?
Get involved in the Marko Community!