Intro to Forms in ODK

Forms used in the ODK ecosystem are XML documents following the ODK XForms specification, a subset of the W3C XForms specification. (Example XForms are available for reference.)

Most ODK tools use the ODK JavaRosa library to render forms. Form transfer between ODK components is governed by the OpenRosa API.

Because of the complexity of the XForms format, we do not recommend coding XForms directly in XML. The recommended process is:

  1. Begin with one of the Form Building Tools.
  2. Edit the XML only if necessary.
  3. Use ODK Validate to check that the edited XForm is well-formed and fully compliant.

Excel-based form creation

Most ODK users design their forms in Excel using XLSForm.

Drag-and-drop form creation

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