Links > markojs.com Hello world

Marko

https://markojs.com/

Marko Logo

DocsPlaygroundGitHub

SearchK

Version 6.x5.x4.x3.x2.xHTMLConciseJSTS

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

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.

Check it out!

// HTML + JavaScript = 💜
<let/count=0>
<button onClick() { count++ }>
  Clicked ${count} times
</button>
// HTML + JavaScript = 💜
<let/count=0>
<button onClick() { count++ }>
  Clicked ${count} times
</button>
// HTML + JavaScript = 💜
let/count=0
button onClick() { count++ }
  -- Clicked ${count} times
// HTML + JavaScript = 💜
let/count=0
button onClick() { count++ }
  -- Clicked ${count} times

Clicked 1 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 How

All Products

BuyItNow

Cart (0)

Nintendo Switch 2 - $449.99

Add to Cart

Vibrant Joy-Con colors, in pristine condition! Stunning display and smooth gameplay, perfect for Super Mario Party Jamboree and more.

★★★★☆

Super Fun, Super Colorful! Wow, the screen is so bright and games like Super Mario Party Jamboree look amazing! The neon Joy-Cons are awesome and make it feel fresh.

About

Security

Policies

Help

Sitemap

buffered

All Products

BuyItNow

Cart (0)

Nintendo Switch 2 - $449.99

Add to Cart

Vibrant Joy-Con colors, in pristine condition! Stunning display and smooth gameplay, perfect for Super Mario Party Jamboree and more.

★★★★☆

Super Fun, Super Colorful! Wow, the screen is so bright and games like Super Mario Party Jamboree look amazing! The neon Joy-Cons are awesome and make it feel fresh.

About

Security

Policies

Help

Sitemap

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 How

All Products

BuyItNow

Cart (0)

iPhone 16 Pro - $999

Add to Cart

Vibrant Joy-Con colors, in pristine condition! Stunning display and smooth gameplay, perfect for Super Mario Party Jamboree and more.

★★★★☆

Awesome Phone, Awesome Photos! Just upgraded to the iPhone 16 Pro from my old iPhone 12, and it's like a whole new world! The Desert Titanium color looks super cool.

About

Security

Policies

Help

Sitemap

full-page

All Products

BuyItNow

Cart (0)

iPhone 16 Pro - $999

Add to Cart

Vibrant Joy-Con colors, in pristine condition! Stunning display and smooth gameplay, perfect for Super Mario Party Jamboree and more.

★★★★☆

Awesome Phone, Awesome Photos! Just upgraded to the iPhone 16 Pro from my old iPhone 12, and it's like a whole new world! The Desert Titanium color looks super cool.

About

Security

Policies

Help

Sitemap

granular

<return><button><for><div><style><select><await><ul><debug><form><YourTag><span><try><marquee><log><p><let><label><const><table><if><input><script><main><id><img><define><a><lifecycle><textarea><MyTag><h1><return><button><for><div><style><select><await><ul><debug><form><YourTag><span><try><marquee><log><p><let><label><const><table><if><input><script><main><id><img><define><a><lifecycle><textarea><MyTag><h1>

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 How

Streamed HTML

for the server

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

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.

Explore


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

<scriptBuilt in core <script> tag.>



$el
const $el: () => HTMLDivElement().
addEventListeneranimateappendappendChildfocus
</script>

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

<scriptBuilt in core <script> tag.>



$el
const $el: () => HTMLDivElement().
addEventListeneranimateappendappendChildfocus
</script>

divBuilt in HTML <div> tag./
$el
const $el: () => HTMLDivElement -- Hop in, we've got tags

scriptBuilt in core <script> tag. -- 

$el
const $el: () => HTMLDivElement().
addEventListeneranimateappendappendChildfocus

divBuilt in HTML <div> tag./
$el
const $el: () => HTMLDivElement -- Hop in, we've got tags

scriptBuilt in core <script> tag. -- 

$el
const $el: () => HTMLDivElement().
addEventListeneranimateappendappendChildfocus

devs  love  markoinstalls / monthdevs  love  markoinstalls / monthdevs  love  markoinstalls / monthdevs  love  markoinstalls / monthdevs  love  markoinstalls / month

Join the Community

Need help? Want to Contribute?

Get involved in the Marko Community!

Hang out in our Discord server to ask questions & discuss marko

Tweet to @MarkoDevTeam or use the #markojs hashtag

Keep up with the community on Bluesky at @markojs.com

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

OpenJS Foundation

MIT License

eBay open source