Intro to Forms in ODK

Forms provide a structured way to collect and provide information. Typically forms are used by data collectors (also called enumerators) who ask questions of and share information with participants. Web forms can also be used for self-report.

ODK forms can be used to do things like:

  • Conduct a socioeconomic survey of households
  • Collect geo-tagged plant species data at different points in time
  • Record video and audio of wild animals for later identification
  • Guide health workers through a medical triage protocol in multiple languages
  • Deliver video-based agricultural training based on a farmer's responses to questions

Forms are made of fields of different types which can each collect or display one piece of information. Visible fields generally represent questions and are displayed differently based on their type.

Questions can be grouped together including on one screen. They can also be repeated. Form logic, datasets, hidden fields, and external apps make it possible to create easy-to-use, but powerful forms that represent complex processes.

Excel-based form creation

Most ODK users design their forms in Excel or Google Sheets using XLSForm. Examples in this documentation use XLSForm notation to show form features.

Drag-and-drop form creation

For simple forms, ODK Build is a drag-and-drop form designer that works both online and offline.


The ODK ecosystems use XML form definitions following the ODK XForms specification, a subset of the W3C XForms specification. The form creation tools described above convert user-friendly form definitions into XML.