How CSV form import works
You can upload a CSV to build or replace your form’s fields at any time. Click Download template to get a starter file. Edit it in your spreadsheet of choice (Excel, Numbers, Google Sheets, LibreOffice — any of them, as long as you save as comma-separated CSV). Then click Upload CSV and pick the saved file. Your form is rebuilt in one shot.
Uploading replaces all existing fields. This makes corrections easy: upload, review the result in the builder, adjust your CSV, and upload again.
Columns
The CSV has 27 columns, in this order:
- Field — the field type. One of:
text,email,phone,number,textarea,dropdown,checkbox,radio,date,divider,subtitle,description. - Label — the question prompt the respondent sees (in English). Required for all field types except
divider. Forsubtitleanddescription, this is the heading or paragraph text. - FieldName — the JSON key your data will be stored under (e.g.,
email_address). Optional. If you leave it blank, we’ll auto-fillquestion1,question2, etc. We’ll lowercase, replace spaces and special characters with underscores, and rename duplicates by adding_2,_3, etc. - Required —
true,false,yes,no,y,n,1,0, or blank (treated as false). Ignored for non-input fields. - Placeholder — optional hint text shown inside the input. Only applies to single-line, multi-line, number, and date fields. Ignored for choice fields, dividers, subtitles, and descriptions.
- FrenchLabel — the French version of
Label. Leave blank to keep the field English-only. - FrenchPlaceholder — French version of
Placeholder. - Option1–Option10 — choices for
dropdown,checkbox,radio, andrankingfields. At least one is required for choice fields;rankingrequires at least two. You don’t need to fill every slot — if Option7–Option10 are blank, only the first 6 are created. Empty options between filled ones are skipped (Option1=Yes, Option2=, Option3=No becomes the choices [Yes, No]). - FrenchOption1–FrenchOption10 — French versions of the options, paired by index. Leave a slot blank to keep that option English-only.
Field types
- text — single-line input.
- email — email-validated input.
- phone — telephone-formatted input.
- number — numeric input.
- textarea — multi-line input.
- dropdown — single-select from a list.
- checkbox — multi-select from a list.
- radio — single-select displayed as radio buttons.
- ranking — drag-and-drop priority ranking. Uses the same
Option1–Option10columns as choice fields. Requires at least 2 options. - rating — a rating scale from 1 to 5. Change the range and add end labels in the builder after importing.
- slider — a number picked on a slider from 0 to 100. Change the range and step in the builder after importing.
- date — date picker.
- divider — a horizontal line. Only the
Fieldcolumn matters. - subtitle — section heading. The
Labelcolumn is the heading text.FrenchLabelprovides the French version. - description — paragraph of explanatory text. Same column rules as
subtitle.
Common questions
I have more than 10 options for a dropdown. Import what fits in Option1–Option10, then add the rest in the builder.
Excel saved my file with semicolons instead of commas. Some French Excel locales default to semicolon-separated CSV. Use File → Save As → CSV (Comma delimited) to force commas.
My French translation is missing for one option. That’s fine — leave the FrenchOption slot blank. The option will be displayed in English on the live form for both languages.
I uploaded the wrong file / I want to change the form. Just upload the corrected CSV again — each upload replaces all fields.
Generating the fields with an AI assistant
Instead of filling a spreadsheet, you can have an AI assistant draft the form for you. Stelld never sends your text anywhere: you copy a prompt we prepare, run it in the assistant you already use, and paste the reply back.
- On a new form, click Generate with AI, paste your notes (the text of an old form, an email, bullet points) and click Copy prompt.
- Paste the prompt into ChatGPT, Claude, Copilot or any other assistant and send it.
- Copy the assistant’s whole reply, paste it under Paste the answer, and click Create form.
Review before you publish. Assistants occasionally invent a question or reorder options. The text you paste into your assistant is handled under that service’s privacy terms, not Stelld’s.
The JSON the assistant returns
{
"title": "Fall registration",
"description": "Sign your child up for the fall session.",
"fields": [
{ "type": "text", "label": "Full name", "required": true },
{ "type": "email", "label": "Email", "required": true, "placeholder": "you@example.com" },
{ "type": "dropdown", "label": "Program", "required": true, "options": ["Dance", "Theatre"] },
{ "type": "subtitle", "label": "Emergency contact" },
{ "type": "phone", "label": "Phone" }
]
}- type — one of
text,email,phone,number,textarea,dropdown,checkbox,radio,ranking,rating,slider,date,divider,subtitle,description. Also accepted:select,single-select,checkboxes,multiselect,multi-select,single,radiogroup,tel,telephone,paragraph,long text,longtext,comment,heading,header,section,paragraph text,note,rating scale,star rating,scale,stars,range. - label — the question, or the text for
subtitleanddescription. Required for everything exceptdivider. - required, placeholder, options (up to 10) — optional.
- labelFr, placeholderFr, optionsFr — optional French versions; tick Also generate French to have the assistant include them.
- title, description — applied to the form only if it is still untitled.