Request a consultation
Tools & AI10 November 2026EMPO

XLSForm basics for survey design

Learn the three XLSForm sheets, the mandatory columns, common question types and rules for names, with a small example you can copy into Excel.

Short answer

XLSForm is a standard for writing survey forms in a spreadsheet. A workbook has a survey sheet with the columns type, name and label, a choices sheet with list_name, name and label, and an optional settings sheet. You write each question as a row, upload the file to KoboToolbox or ODK, and preview it. Question names must be unique and have no spaces.

Key points

  • XLSForm uses three sheets: survey, choices and settings.
  • Survey needs type, name, label. Choices needs list_name, name, label.
  • Names must be unique, start with a letter or underscore, and have no spaces.
  • Use select_one and select_multiple with a list name from the choices sheet.
  • Always preview and test after you upload.

What is XLSForm?

XLSForm is a form standard for writing surveys in a spreadsheet. The XLSForm documentation says it simplifies form authoring in Excel, a tool most people already know. You write the form in rows and columns, then upload the file to a platform such as KoboToolbox or ODK, which turns it into a working form.

It suits both simple and advanced forms. If you are new to data collection tools, read getting started with KoboToolbox first.

What sheets does an XLSForm have?

A workbook usually has two sheets, survey and choices, and a third optional sheet, settings. Use lowercase sheet names.

SheetPurposeRequired columns
surveyThe questions, in ordertype, name, label
choicesAnswer options for select questionslist_name, name, label
settingsForm title, ID, version, languageNone, but recommended

The survey sheet

Each row is usually one question. The three required columns are:

  • type: the kind of answer, such as text, integer or select_one.
  • name: the short variable name. It becomes the column heading in your data.
  • label: the question text people read.

The documentation sets rules for names: they must be unique, start with a letter or an underscore, and contain only letters, digits, hyphens, underscores and periods. Names are case-sensitive. ODK documentation adds that names cannot contain spaces. Use short, clear names such as age or date_of_birth.

The choices sheet

For select questions, list the options on the choices sheet. Each row is one choice. Rows with the same list_name form one set. You can reuse a list, such as yes and no, for many questions.

Survey sheet

typenamelabel
textrespondent_nameRespondent's name
integerageRespondent's age
select_one yes_nohas_cashDid your household receive cash?

Choices sheet

list_namenamelabel
yes_noyesYes
yes_nonoNo

Notice that the type select_one yes_no links the question to the list name yes_no.

The settings sheet

The settings sheet is optional, but the documentation highly recommends at least these columns: form_title, form_id and version. A common version format is yyyymmddrr, for example 2026111001 for the first revision on 10 November 2026. This helps you track which version collected which data.

Other settings include default_language for forms with translations, and an encryption key for encrypted forms.

Which question types do you use most?

The XLSForm documentation lists many types. These are the most useful for NGO surveys.

TypeUse
textFree text
integerWhole number, such as household size
decimalNumber with decimals
select_one listChoose one answer
select_multiple listChoose several answers
dateDate input
geopointOne GPS coordinate
imagePhoto
noteDisplay text, no answer
calculateCalculate a value

Prefer select questions to free text where answers are known. They give cleaner data and are faster to enter. Keep a short "other, please specify" option only when you need it.

How do you add skip logic and checks?

Add optional columns to the survey sheet. Two common ones are:

  • relevant: show this question only if a condition is true. For example, ask about cash amount only if has_cash is yes.
  • constraint with constraint_message: limit the allowed answers, such as age between 0 and 110.
  • required: make a question compulsory.

The ODK and XLSForm documentation describe these columns and their syntax. Start with one or two and test each. Good constraints stop errors at the point of entry, which supports data quality checks.

How do you upload and test?

KoboToolbox suggests this process:

  1. Create the sheets and columns in your spreadsheet software.
  2. Add questions and choices.
  3. Add form settings.
  4. In KoboToolbox, click NEW and choose Upload XLSForm, or import from a link.
  5. Preview the form and fix any errors.
  6. Deploy it, and test again on the devices your team will use.

Read the error message if the upload fails. The most common causes are spaces in names, duplicate names, and a list name in a select type that does not exist on the choices sheet.

Mistakes to avoid

  • Duplicate or spaced names. They stop the form from loading.
  • Sheet names in capitals. Use lowercase.
  • Mismatched list names. The name after select_one must match the choices sheet exactly.
  • Too many questions. Keep the form tied to your indicators. See SMART indicators.
  • No version number. You cannot tell which data came from which form.
  • Skipping the test. Always test skip logic with real examples.

How EMPO can help

EMPO is a trusted, Myanmar-based training and consultancy provider and one of the country's leading names in practical NGO training, with 1,200+ people trained and 15 partner organisations. Our MEAL training covers survey design and data tools, and our store has a KoboToolbox XLS Forms package with 23 ready-to-use forms. We work online or in person across Myanmar, in English and Burmese. See our training services or contact us.

Sources

Questions people ask

Why use XLSForm instead of the Formbuilder?

XLSForm lets you copy, edit and review many questions in a spreadsheet, and use features that the Formbuilder does not have. KoboToolbox says you can download a form, change it in XLSForm and upload it again.

Do sheet names matter?

Yes. Use lowercase sheet names: survey, choices and settings. KoboToolbox says worksheet names must be all lowercase.

Can I make a form in Burmese?

Yes. XLSForm supports translations through label columns for each language. Test the form on a device to check that the text displays correctly.