How to write XLSForm

The team behind Secure Data Kit is passionate about supporting the work of our community of users. Knowing XLSForm is a powerful skill that enables you to take control of the form design process from start to finish. We want our community to feel empowered to set up their own projects in SDK, but we are always available to do this for you! Just contact friendly support and we'll take it from there.

Setting Up Your XLSForm

In this video you'll learn to set up your XLSForm by adding the required tabs and column headers. There are optional tabs and column headers that can be added to further customize your form.

Permalink | Youtube

Text Type Questions

The 'text' type is used for any question that allows for a reply typed into a text box. This type is used for both short and long answers, and is commonly used in open-ended questions that will not be used for statistical analysis, like the respondent's name.

Permalink | Youtube

Integer Type Questions

The 'integer' type is used for questions that require a whole number for an answer. This type is commonly used for questions about age, numbers of participants, etc.

Permalink | Youtube

Select Type Questions

The 'select_one' and 'select_multiple' question types are used for questions that have several pre-defined answer options.

Permalink | Youtube


Use the 'begin group' and 'end group' types to define groups of questions in XLSForm. This is commonly used to simplify relevancies, and is best practice for organizational purposes.

Permalink | Youtube

Column Relevant

The 'relevant' column is used to set the relevancy of each question type, also known as 'skip logic'. By default, all questions are considered relevant in all cases, unless you specify otherwise. Learn how to set relevancies in this video!

Permalink | Youtube

Column Choice Filter

The 'choice_filter' column is commonly used to implement what's known as a cascading select. This functionality is most useful when adding geographies (aka localities) to a form.

Permalink | Youtube


Reference these resources if you're stuck.

Constraint dictionary
A collection of common constraints and associated constraint messages. Drop these in your XLSForm and tweak to fit your needs.

Metadata dictionary
Common metadata types and their outputs.

XLSForm documentation
Community-supported project containing basic XLSForm documentation.

Get Friendly Support