Export to HTML

Interactive, code-driven export — real, usable, and still catching up in a few specific, documented places. This page exists so you know exactly what to expect before you rely on it, not to talk you out of using it.

Where to find HTML export

The same Export section in the properties panel, with Format set to HTML. A separate Mode dropdown alongside it picks the output flavor — HTML, JS Compact, or JS — plus Interactive and Minify toggles, and dedicated Preview and Download buttons for the HTML path specifically.

What HTML export supports

Most of what you'd expect: your drawn geometry, fills and strokes on ordinary shapes, reusable components (their visual structure materializes correctly), and reactive properties. A formula-bound value keeps recalculating live in the exported page, not frozen at whatever it happened to be when you exported.

What doesn't export to HTML

A handful of specific things don't make it through HTML export today, and it's worth knowing exactly which ones rather than discovering a gap mid-project:

- Several node types drop their entire subtree, not just themselves. If one of these appears anywhere in what you're exporting, everything inside it disappears along with it: List, SVGFrame, Skeleton/Bone (a rigged character renders unposed, even though its visual pieces survive elsewhere), Tilemap, Class Instance, and Line (arrow and plain line objects specifically vanish entirely, not just their arrowheads).

- Filters and effects don't export at all: a blur, a shadow, any effect layered on a shape's fill and stroke, none of it survives into the HTML output.

- Image fills are collected internally but never emitted. This is a known gap; an image-filled shape simply won't show its image in the exported HTML today.

- Shader fills degrade to a flat gray placeholder specifically in HTML/JS export, unlike video/GIF export, where they render correctly. If a shader fill is central to what you're shipping, HTML isn't the export target for it yet; video or GIF is.

- A component's interior dynamics don't fully survive, even though its visual structure does: exposed props and instance-level particle effects specifically are the parts that don't carry through, while the shape itself renders correctly.

Why this page exists, stated plainly

None of this is a reason not to use HTML export; for a huge range of real, ordinary content (shapes, fills, strokes, reactive formulas, component visuals), it works exactly as expected. The gaps above are specific and narrow, not a general "don't trust it" caveat, and they're exactly the kind of thing worth checking against before you build a whole project around a feature that happens to fall into one of them.

On this page

Formo

The browser studio where drawings become animations, toys, and games. Your files, open HTML export, nothing to install.