Marko
https://markojs.com/SearchK
-
Introduction
-
Tutorials
-
Guides
-
Explanation
-
Reference
-
Marko Run
Version 6.x5.x4.x3.x2.xHTMLConciseJSTS
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.
// 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.
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.
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.
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.
<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