Relationship between ODK and KoBo

'm a developer who recently stumbled over XForms / ODK. Would you please be so kind to explain me how ODK and KoBoToolboox relate to each other?

This is what I think I currently understood about it:

Where does KoBoToolboox fit into this picture?

1 Like

I really appreciate your question. There is a very old discussion here.
Relationship between Kobo and ODK. (Some details no more up-to-date.)

It was also not easy for us to understand the relationship of the various documentation sources. (See Best documentation reference for KoBoCollect with XLSForms)
Kind regards

1 Like

Do I read it correctly that Kobo is on the same “level” as the ODK-ecosystem? Meaning that it is also within the XForms ecosystem and providing tools which are similar to ODK? Or is Kobo “just” an alternative for form building (so for XLSForm and ODK build) an form visualization (xsltforms)?

Hi Martin,
Welcome to the XLS forms and the world of KoBo and ODK.

The Open Data Kit project produces software that helps organizations author, collect, and manage mobile data collection solutions. ODK is an open-source and standards-based tools which are easy to try, easy to use, easy to modify and easy to scale.

KoBoToolbox is a suite of tools for field data collection for use in challenging environments. The main data collection app for KoBoToolbox ODK Collect is built using the ODK ecosystem.

What this means is that any form built for ODK should work for KoBoToolbox and vice-versa.

Operationally ODK and KoBoToolbox run mutually exclusive platforms for their users with varied differences and similarities in terms of support and customization. To learn more about KoBoToolbox, kindly visit our support page here


KoboToolbox provides a GUI frontend form builder (technically I think it is/was referred to as ‘KPI’), which produces XLSForms, which in turn are converted to actual XForm form definitions using another tool called pyxform. Alternative XForm builders are ODK Build, or using Excel/Google Sheets to write your XLSForm spreadsheet, and then converting it into an XForm running pyxform on command line or using a GUI tool like XLSForm Online, installing an app like XLSForm Offline to do it (both of which are just pyxform wrappers), or upload it into KoboToolbox as an XLSForm and export it as an XForm.

Or there is nothing stopping you from writing raw XForm HTML using your favorite text editor :slight_smile:

Once into an XForm format, you can use a web-based XForm renderer like Enketo to view it or fill in your form (BTW Enketo is what Kobo uses for preview and web form filling…), or use an Android mobile app XForm renderer like ODK Collect, or its ostensibly rebranded KoboCollect app. [there are other ODK XForm compatible apps out there, like my iXForms for iOS, but they’re not ready for public consumption yet…]

There are a few other commercial solutions that use XForms under the covers, eg Survey123 (Esri), SurveyCTO, Orbeon, … which often also use pyxform/XLSForm to generate XForm form definitions, but oftentimes these introduce custom features so aren’t usually 100% compatible with the ODK toolchain.

The main different between Kobo and ODK is that Kobo provides a complete end-to-end hosted solution, and has its own custom backend services for receiving and processing form submissions, whereas ODK just provides the various components with which you can build your own custom solution, using either ODK Aggregate or ODK Central for a backend server.

Hope that helps! (and that I’m not being overly biased… Disclaimer: I’m on ODK TSC :wink: )