Headless form builder for React

Build forms that feel like part of your product.

Add the form to your React app, style it with your own components, and let Fillo handle validation, uploads, and responses.

Build the fields in the editor or keep them in code. The form renders directly in your app—no iframe.

FeedbackForm.tsx
"use client";

import { Fillo, createClient } from "@usefillo/react";
import "@usefillo/react/styles.css";

const fillo = createClient({ key: process.env.NEXT_PUBLIC_FILLO_KEY! });

export function FeedbackForm() {
  return (
    <Fillo.Form client={fillo} id="product-feedback" title="Product feedback">
      <Fillo.Rating id="score" label="How is it going?" max={5} />
      <Fillo.LongText id="note" label="What should we fix?" />
    </Fillo.Form>
  );
}

Product feedback

Powered by Fillo

Your form in front. Fillo behind it.

Keep control of the form people see. Fillo takes care of the work behind it.

Change the form without chasing old code

The same fields and rules are used in the form, on the server, and in every response.

Send uploads to your storage

Files go from the browser to storage you connect, while the answer and file stay together in Fillo.

See every response in one place

Open an answer with its files and app context, then export it or send it to the tools your team uses.

Use the UI your product already has

Start with Fillo's form components or replace them with your own. The response backend stays the same.

After someone submits

See the whole response in one place.

The answer, account details, and uploaded file arrive together. Review it in Fillo, then export it or send it to the tools your team uses.

A complete response

The file stays with the answer.

Your other tools get it too.

Headless form builder questions

Does Fillo use an iframe?

No. The React and DOM SDKs render the form directly inside your app. Fillo also offers hosted forms when you only need a link.

Can we use our own components?

Yes. You can restyle the default form, replace individual fields, or build the whole form with your own components.

Do we build the form in the dashboard or in code?

Either. Build it in the Fillo editor when teammates need to update it, or keep it in your repo when form changes should go through code review.

Where do uploaded files go?

Connect Google Drive, Box, Amazon S3, or Cloudflare R2 and uploads go there from the browser. Fillo keeps each file attached to the right response.

What if we only need a simple form link?

Then a hosted form tool may be simpler. Fillo is most useful when the form lives inside your product and needs your UI, user context, uploads, or a shared response inbox.

Is headless embedding free?

Yes. The default renderer, custom fields, and fully headless composition are available on every plan. The default renderer includes a small Powered by Fillo badge; a fully headless layout uses your UI and has no Fillo layout or badge.

Your agent can ship it today.

Or open the editor.