Good forms.
Deep roots.

Meet Tungsten Sprout. A schema-driven form engine and visual editor for React. Build dynamic forms, connect your data, and keep behavior in one portable schema.

Live
Preparing your form…
A little structure. A lot of possibility.

Fields are the seeds. Rules are the connections.
Your interface is whatever you want it to become.

Start with
something simple.

Text, passwords, choices, files, and timezone-aware dates. Validation and behavior rules stay together in your schema.

Explore the fields →

Give it
room to grow.

Arrange groups as cards, tabs or steps. Add repeaters that grow, shrink and nest while their values stay together.

Try a repeating form →

See beneath
the surface.

Build visually, read the JSON, and watch the real form state. The editor uses the same engine as the forms it creates.

Take a closer look →

A calm surface.
A dependable core.

Tungsten keeps your schema, behavior and design connected. Its Rust and WebAssembly engine evaluates a graph of fields; React brings that state to life.

Plant it in your project →
your-first-form.jsonSPROUT
JSON
{
  "schemaVersion": "sprout",
  "form": [
    {
      "type": "text",
      "key": "name",
      "view": {
        "label": "Your name"
      },
      "validators": [
        {
          "kind": "required"
        }
      ]
    }
  ]
}

One schema. From the editor to your application.

Small details.
Useful possibilities.

Async data, predictable state

Bind fields to named data sources, show loading and retry failures, and keep dependent selections consistent.

Learn more →

Files that fit your flow

Upload on selection or submit. Keep stored file references with your form data.

Learn more →

A form in every language

Editable JSON translations for labels, controls, options, and validation. Switch language without losing edits.

Learn more →

Your data, your application

Load existing values and nested collections. Receive evaluated state and validated submissions in your own callbacks.

Learn more →

Groups within groups

Cards, rows, tabs, steps, overlays, and nested repeaters share one schema and one validation engine.

Learn more →

Your design, the same engine

Use the Tungsten design or supply React renderers. Core keeps values, rules, and validation consistent.

Learn more →

Free under AGPLv3.

Building proprietary software? Commercial licenses are available. Custom development, integrations, and support come directly from the developer.

Licensing & services →

What will you grow?

Start from a small form or an empty canvas. Make it yours.

Start building ↗