A declarative, HTML‑based language that makes building web apps fun.

Trusted

Powering high-traffic, production-grade websites like eBay.com

Familiar

If you know HTML, CSS, and JavaScript, you know Marko

Performant

Streaming, resumable, optimizing compiler, and a tiny runtime

Scalable

From simple HTML templates to powerful components as needed

HTML Re‑imagined

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

Faster First Paint

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 More

Granular by Design

Why 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 More

Write Code, Right Code

Browsers 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

Types & Tooling

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 More

Join the Community

Need help? Want to Contribute?

Get involved in the Marko Community!

Ask & answer questions on StackOverflow with the marko tag
Hang out in our Discord server to ask questions & discuss marko
Tweet to @MarkoDevTeam or use the #markojs hashtag
Browse the code, open issues, & make pull requests on GitHub