SurveyLoopr
Tips & Tricks
5 min read

XLSForm Question Types: The Complete List

Mehrab Ali
Mehrab AliPublished June 12, 2026

The XLSForm type column sets what each question is: text for free text, select_one for single choice, integer for whole numbers, geopoint for GPS, calculate for computed values, and around twenty more. Picking the right type is the first decision for every row in your survey sheet — it controls the input widget, validation, and how the data exports.

This is the full reference, grouped by what you are collecting, with a working example for each.

Text and number types

TypeCollectsExample use
textFree-form textName, comments
integerWhole numbersAge, household size
decimalNumbers with decimalsWeight, price
rangeA number on a sliderSatisfaction 1–10
typenamelabel
textrespondent_nameWhat is your name?
integerageHow old are you?
decimalweight_kgWeight in kilograms
surveychoicessettings

Choice types

select_one gives one answer; select_multiple allows several. Both point at a list on the choices sheet.

typenamelabel
select_one yes_noowns_landDo you own land?
select_multiple cropscrops_grownWhich crops do you grow?
rank cropscrop_priorityRank these crops by importance
surveychoicessettings

rank asks the respondent to order a list. Control how choices display — as a dropdown, columns, or a Likert scale — with the appearance column.

Date, time, and location types

TypeCollects
dateA calendar date
timeA time of day
dateTimeDate and time together
geopointA single GPS point
geotraceA line of GPS points
geoshapeA closed GPS area
typenamelabel
dateinterview_dateDate of interview
geopointhousehold_locationCapture the household location
surveychoicessettings

See collecting GPS coordinates for the geo types in depth.

Media and scan types

TypeCollects
imageA photo
audioAn audio recording
videoA video recording
fileAny uploaded file
barcodeA scanned barcode or QR code
typenamelabel
imagehouse_photoTake a photo of the dwelling
barcodeid_scanScan the ID card barcode
surveychoicessettings

Logic and metadata types

These collect no answer from the respondent — they compute, structure, or record context.

TypePurpose
calculateCompute a value from other answers (calculations)
noteDisplay read-only text to the enumerator
begin group / end groupSection questions together for skip logic
begin repeat / end repeatRepeat a block (repeat groups)
start / endRecord interview start and end timestamps
today / deviceidRecord the date and device ID automatically
auditRecord the audit log — timing, GPS, changes
typenamelabel
startstart
endend
calculatebmi
notethanksThank you for your time.
surveychoicessettings
Warning:

Using a type that is not on this list — number, dropdown, checkbox, location — is the most common XLSForm upload error. Use integer, select_one, select_multiple, and geopoint instead. See common XLSForm errors.

Which question type should you use?

Match the type to the data, not the widget:

  1. One answer from a list → select_one.
  2. Several answers from a list → select_multiple.
  3. A counted quantity → integer (whole) or decimal (fractional).
  4. A computed value → calculate, never a text question the enumerator fills.
  5. Where the interview happened → geopoint.
Tip:

You do not have to memorize this table. Describe your survey in plain language to LooprAI and it assigns the correct type to every question, then validates the form before you publish.

Build my first form free

Next: The XLSForm appearance column →

Frequently Asked Questions

What are the question types in XLSForm?

XLSForm types include text, integer, decimal, range, select_one, select_multiple, rank, date, time, dateTime, geopoint, geotrace, geoshape, image, audio, video, file, barcode, calculate, note, and structural types like begin group and begin repeat. The type column sets each question's input and validation.

What is the difference between select_one and select_multiple?

select_one lets the respondent pick exactly one option from a choice list, while select_multiple allows several. Both reference a list_name on the choices sheet. select_multiple exports each selected option, commonly as space-separated values or separate columns.

What XLSForm type should I use for numbers?

Use integer for whole numbers like age or counts, and decimal for values with a fractional part like weight or price. Never use 'number' — it is not a valid XLSForm type and will fail to upload. Use range for a slider input.

How do I capture GPS in an XLSForm?

Use the geopoint type for a single location, geotrace for a line of points, or geoshape for an area. ODK Collect records latitude, longitude, altitude, and accuracy from the device, and all three geo types work fully offline.

What is the calculate type used for?

The calculate type computes a value from other answers — such as age from date of birth or a total from line items — without showing an input. The result is stored and can be used in labels, skip logic, and constraints throughout the form.

Why does my question type cause an upload error?

Almost always because it is not a real XLSForm type. Common invalid types are number, dropdown, checkbox, and location. Replace them with integer or decimal, select_one, select_multiple, and geopoint respectively, then re-validate the form.

No Credit Card Required

Build the form first. Add hosting when you need it.

Start free with LooprAI, then deploy a managed ODK Central server or run DataSnap checks when your project is ready.

Automation handles the mechanical work.

Researchers decide what the evidence means.