Formbino

Build once. Embed everywhere.

Design powerful forms, surveys and appointment flows. Ship them as lightning‑fast web components. One source of truth across all your sites, apps and tenants.

Embed ready • Multi‑tenant • GDPR‑friendly
Customer intake
Reusable component
Web Components
Laravel + Vue 3
Multi‑tenant
Analytics‑ready

Everything you need to ship forms at scale

From schema to submission — Formbino handles the full lifecycle.

Visual builder

Drag‑and‑drop fields, validations, branching, file uploads.

Embed anywhere

Drop‑in web components that work with any CMS or JS stack.

Automate

Webhooks, email rules, approvals and integrations.

Measure

Dashboards & exports to understand completion and conversion.

From form to component in minutes

Ship consistent experiences across brands, tenants and regions with a single schema.

  1. 01
    Model

    Design your schema with fields, validation and branching logic.

  2. 02
    Publish

    Versioned releases produce a lightweight <formbino-form>.

  3. 03
    Embed

    Paste the snippet in any site or app. It just works.

Drop‑in embed

Copy one snippet. Configure via attributes.

<script src="https://cdn.formbino.com/embed/form/form.js"></script>
<formbino-form
  id="your-form-id-here">
  data="{ name: 'Jane Doe', email: 'jane@example.com' }"
</formbino-form>
Live preview

FAQ

How do embeds work?

Each published form version is available as a web component with a stable ID. Include the loader script once and drop the tag anywhere.

Is it GDPR‑compliant?

Yes. Formbino itself never stores submitted data. It’s purely a form builder and renderer. You define your own endpoint or email address for submissions, ensuring that data remains fully owned and controlled by you or your organization.

Can I pre-fill forms?

You can prefill form fields by passing a data attribute to the embed with a JSON string mapping field names to their values, or by configuring a prefill endpoint that returns JSON with fieldname → value pairs.

<script src="https://cdn.formbino.com/embed/form/form.js"></script>
<formbino-form
  id="your-form-id-here"
  data="{ name: 'Jane Doe', email: 'jane@example.com' }">
</formbino-form>

Or configure an endpoint that returns something like:

{
  "name": "Jane Doe",
  "email": "jane@example.com"
}