Marko 6 Is Here

4 months ago 7
Get StartedGitHub

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>

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

buffered

streamed

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

full-page

granular

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

Streamed HTML

for the server

<div>Hello ${name}</div>

Reactive DOM

for the browser

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

<divBuilt in HTML <div> tag./$elconst $el: () => HTMLDivElement> Hop in, we've got tags </div> <scriptBuilt in core <script> tag.> $elconst $el: () => HTMLDivElement(). </script>

Join the Community

Need help? Want to Contribute?

Get involved in the Marko Community!

Ask & answer questions on StackOverflow with the marko tag

Browse the code, open issues, & make pull requests on GitHub

Read Entire Article