Skip to content

Export: HTML

The HTML export turns a page into a single, self-contained .html file you can host anywhere — an S3 bucket, a static host, or a folder on your laptop. This page covers what the file contains and, just as importantly, what it can and cannot do off-platform.

One file, everything inlined

Choosing Export → HTML file from the designer's top bar generates one document and downloads it straight to your machine. There are no sidecar files, no assets/ folder, and no external requests to fetch:

  • Styles are inlined. A small base stylesheet lives in a single <style> block (fonts, colors, resets), and every element carries its own inline style attribute resolved from your theme and per-breakpoint settings. There is no external CSS file to link.
  • The theme is baked in. Your palette and typography — background, foreground, primary color, heading and body fonts — are resolved to concrete values at export time and written directly into the markup.
  • Images travel with the page when they were uploaded as inline assets (data URLs); externally-hosted images stay as their original URLs.
  • The title and description from the page settings are written into <title> and, when set, a meta description plus og:description. See SEO & metadata.

Sections render in order, each wrapped with the same outer and inner spacing the editor uses, so the exported page keeps its visual rhythm. Nodes you have flagged as hidden are dropped entirely from the output.

Limitations: display-only off-platform

The exported file is a faithful visual copy of your page. It is not a working FlowRunner app. The single most important thing to understand:

WARNING

A hosted copy of an exported form still submits to FlowRunner. The fields render — text inputs, selects, checkboxes, file pickers, buttons — and the export also injects a submit handler wired to your project's FlowRunner submit endpoint (which sends permissive CORS headers). So a copy hosted anywhere still captures submissions and triggers the on-submit flow on your FlowRunner backend — the markup is static, but the form is not inert. If you want a truly dead form, remove or repoint its submit wiring before you host the file.

More precisely, off the platform:

  • The on-submit flow still runs. The export wires the form to your project's submit endpoint, so a submission still reaches FlowRunner — the on-submit flow runs and the submission is stored server-side, exactly as it would on-platform. What's missing is only the dynamic client side.
  • No dynamic conditional logic. showIf rules are evaluated statically at export against each field's default/initial value — a node hidden under those defaults is dropped from the output. They are not re-evaluated as the viewer types, because no live runtime is bundled, so visibility is frozen at whatever the defaults produced.
  • No client-side validation or logic. Required-field checks and other in-browser behaviour run only in the live runtime; a submission from the static copy is validated server-side by the flow, not in the page.
  • Limited interactivity. Some components degrade to their simplest native form — an Accordion becomes native <details> blocks, Tabs render as a static label row. There is no JavaScript bundled to power richer behavior.

When to use it

The HTML export is ideal for a static marketing page, landing page, or brochure where the content is the point. A form on the exported page still submits to your FlowRunner backend, but its dynamic behaviour — conditional visibility, client-side validation, richer interactivity — is frozen at export. If you need those to stay live, serve the page on FlowRunner itself (see Publish & share) or reach for the Next.js export, which gives you a full app to extend.

See also

FlowRunner — the no-code platform for small businesses.