Skip to content
playhtml

make the web feel alive

Turn any element into a live, shared one with a single attribute — no backend required.

toggles for everyone live!

  • Communal by default. Shared state, presence, and cursors out of the box — lived-in spaces instead of solitary feeds.
  • Library-agnostic, fast, expressive. Works with plain HTML, React, or any framework. One attribute turns an element live.
  • No backend to run. Real-time sync and persistence are handled for you — just deploy your static site.
  • Extend it to anything. Ship your own capabilities with can-play when the built-ins aren’t enough.
FIG. 01  ·  30-second install
<script type="module">
  import { playhtml } from "https://unpkg.com/playhtml";
  playhtml.init();
</script>
<img can-toggle id="lamp" src="/noguchi-hanging-lamp.png" />

Getting started

Install playhtml and ship your first live element. Read →

Core concepts

Element data, page data, presence, events — when to use each. Read →

Capabilities

Every built-in can-* attribute with live demos. Read →