Skip to content
ODK XLSForm Offline is a Python application for converting an XLSForm into an XForm that is valid and compliant with the ODK XForms specification. Contribute and make the world a better place! ✨🌍✨
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore Ignore .DS_Store (#7) Apr 13, 2018 Add requirements.txt Dec 17, 2018 Update build script (#8) Apr 13, 2018 distpath requires absolute path Jul 21, 2018

ODK XLSForm Offline

Platform License Slack status

ODK XLSForm Offline is a Windows and macOS application for converting an XLSForm into an XForm that is compliant with the ODK XForms spec. Once converted, the application also validates that the XForm will run perfectly with all ODK tools.

ODK XLSForm Offline is part of Open Data Kit (ODK), a free and open-source set of tools which help organizations author, field, and manage mobile data collection solutions. Learn more about the Open Data Kit project and its history here and read about example ODK deployments here.


  1. Install Python 2.7
    • Windows: Use the 32 bit version.
  2. Install Python packages: pip install pyinstaller wxpython pyxform
    • macOS: Use the default Python. virtualenvs will not work.
  3. Install packaging utilities
    • macOS: brew install unix2dos
    • Windows: upx


To run the app, python src/


The easiest way to package is to use a macOS machine running a Windows 10 virtual machine and a macOS virtual machine. Both VMs should have Python installed natively (no virtualenv, no pyenv) to minimize problems with pyinstaller.

  1. In the macOS VM, run ./ to build the Mac binary.
  2. In the Windows VM, run make-win.bat to build the Windows binary.
  3. Copy the resulting binaries into the dist/mac and dist/win folders on the host machine.
  4. On the host machine, run ./ to zip up the Mac and Windows binaries.
You can’t perform that action at this time.