This is the print version. Click here for the web version of this tutorial

LimeSurvey Tutorial

Radboud University Nijmegen, Faculty of Social Sciences

Pieter van Groenestijn
Wilbert van Ham
Willem van der Veld

Limesurvey, 1 Introduction

Making surveys in Limesurvey

Pieter van Groenestijn
Wilbert van Ham
William van der Veld

This tutorial has been written for the Faculty of Social Sciences of the Radboud University.


Limesurvey is a free and open source (GPLv2) survey creation and publication tool. This means that you have the right install it, to use it, to alter it, to sell it, to give it away and to keep using it whenever and wherever you want. In this tutorial you will learn to use Limesurvey version 2.05 as it is installed on the Radboud University, Faculty of Social Sciences web server.

Limesurvey is made for scientific use. It can do much more than most other cloud based survey tools. Surveys with hunderds of questions, thousands of participants and complicated survey logic are possible. Fortunately most is under the hood. All you need to make a survey is a computer and a webbrowser. You will only touch the keyboard for typing questions and answer options. No programming skills required. Guaranteed!

This tutorial will show you how to make a quite complicated survey with many elements that you may one day want to use. It will however start with the simplest possible survey that will only ask the participants name.

This tutorial will only briefly look at the problem of data analysis. You will see that Limesurvey can export survey structure, data and codebook to a large number of file formats, allowing data analysis is SPSS, Excel, R, Python, Matlab or whatever you like. It also has a few analysis tools itself, mainly for observing survey progress.

Let's make a survey.

Continue with the next lesson

Limesurvey, 2 My first survey

In this lesson you will log on to Limesurvey and make your first survey. Let's go to the Limesurvey administrative interface. You may want to open it in a second browser window. (right click -> Open Link in New Window)

Getting Started

Log on with your university number. Usually this will start with a "u" for employees/grad students or an "s" for undergrad students. This tutorial assumes that you are using the English language interface. If your operating system has another language then you must select "English" as interface language here. Chosing the "Default" language will present you with an interface in your own language. The interface language is independent of the language of the surveys that you make. You will select the survey language later.

logon screen

Now you will see the welcome screen. Make sure that your name (center) and university number (top left) are correct. Click the circled plus icon ⊕ to make your very first survey.

home screen

Your survey needs a name. Let's call it Family Life. This name will appear in your list of surveys in the future. Make sure you select English as the base language of your survey. If you select another language now, you will not be able to complete this tutorial.

first survey

Now scroll to the bottom of the page. Check your e-mail address. Click Save to save your your very first survey.

save first survey

You just made your first survey. It doesn't contain any questions yet. It cannot be started, but it has a name and it was succesfully saved on the server. Congratulations.

Adding a question

Surveys contain questions. These questions are grouped in question groups. For now you can think of a question group as a page. The survey participant will see one question group at a time. If you look at the screen that appeared after you saved your survey, then you will note another circled plus icon ⊕. Click it to create a new question group.

first survey overview

Just like the survey itself, the question group needs a name. Call it Background. It will contain some background questions before the survey proper starts.

question group

Now scroll to the bottom of the page to save your your first question group.

save question group

If you look at the screen that appeared after you saved the first question group, then you will note yet another circled plus icon ⊕, the third one. Click it to create a new question.

question group overview

The page that you see now will let you create a question. The question code will later appear as variable name in your data file. Type for instance name. The rich text editor below it allows you to type a question. You will later see that it can do much more. You can change text font and appearance with it. You can use it to insert tables, pictures, sound and video. You can even use it for inserting complete interactive apps. Right now you will simply type the question: What is your name?. Press Save and close to complete your first survey.

new question

Did you notice the three rows of icons? If a survey has been selected, there is a survey toolbar on top. If a question group has been selected, there is a question group toolbar below it and if a question has been selected, there is a question toolbar below that one. Some icons are present in several toolbars.

Running the survey

Press the gear ⚙ icon for a test run of your first survey. No data will be saved because the survey has not been activated yet. The survey contains a welcome page, a question page and a goodbye page.

Press next after reading to introduction text of the survey


Type your name. Press submit after completing the survey


You can close the browser tab after completing the survey.


Continue with the next lesson

Limesurvey, 3 More question types and validation

In this lesson we will extend our first survey with some questions of different types. The number of images will go down. This is not kindergarten.

Now add a question where you ask the participants gender in question group background. All you have to do is type the question text and select the question type gender. Save and close the question.


Now change the question type of the question asking the participant's name. No-one has a name this long, not even Mr. Van Amsberg*. Click the pencil icon in the question toolbar (the bottom toolbar). Change the question type from Long free text in Short free text. Save the question and test run the survey to see the difference. Clicking the gear icon ⚙ in the question toolbar allows you to test run the question without running the entire survey.

name toolbar

Add a question asking the participants age. Make sure the question type is numerical input. The participant will now only be able to enter numbers. Test run the question to see what happens if you try to enter text.

Limiting age to numbers is not enough. We all know that the maximum age that anyone can ever reach is 120 years*. Let's make sure the participant cannot enter a number larger than 120. Use the advanced settings at the bottom of the page to limit the possible answers. Test run your question. What happens if you enter an invalid value?

maximum age

Continue with the next lesson

Limesurvey, 4 Routing Relevance

Routing is the process of determining a route through your survey. After asking the age of a person in question 1, you can decide what the next question has to be. If the age is more than 18, you can for instance go to question 2 about marriage and later skip question 3, otherwise skip question 2 and go to question 3 about toys. Tradionally routing is hard and leads to complicated graphs with many arrows and complicated if this, then that statements. Fortunately Limesurvey decided to stop using routing altogether from version 2.0 onward. Rejoice! We are using version 2.05. You will never, ever have to learn about routing.

Instead of routing (remember, routing is bad, complicated and error prone) Limesurvey uses the concept of Relevance. Relevance is good, trivial to use and can stop global warming, war and bad music. All you have to do is decide for each question wether it is relevant given the circumstances.

Now go back to our survey Family Life. Make a new question group called Marital Status. Add a question Are you married?. In the field Relevance equation type: age>17. Remember that age is the question code of a previous question.

routing married

Test the entire survey by clicking the gear icon in the survey toolbar. Try it twice. Once using 12 for age, once using 20 for age. Do you notice that the question about mariage is only asked if it is relevant? That is what the relevance field is all about. By default there is a 1 in this field. That means true. You can replace it with 0, which would make the question always irrelevant

It is essential that you put this question in a new question group. If the question about age would be in the same group as the question about marriage, then it cannot appear conditionally. It wil be there always or never. Question group do not change once they are shown on the screen.

More complicated

To replace routing, more complex relevance equations are necessary too:

You may want set two conditions to prevent certain people from entering your survey.
age>17 && name!="Elizabeth Taylor"
Or make exceptions to allow some to marry younger.
age>17 || name=="Bo Derek"

Continue with the next lesson

Limesurvey, 5 Random

Why do the three questions in the Background question group appear in this order? It may be undesirable always to let them appear in the same order. In Limesurvey we can easily shuffle questions groups, questions, subquestions or answer options. By default each question stays at its own place. If you want it trade places with another one, these questions must be in the same randomization group. For questions groups, this setting is in the main settings page. For questions, where its use is less common, this setting is in the the advanded settings part. Let's set the randomization group of all three questions in the Background question group to shuffle. After you changed the randomization group of one question, Limesurvey will give you the option to select this name from a list for the other questions. Please use this feature to prevent typo's.

random question

To test the randomization you must test run the survey from the survey toolbar. Test running the question group will not show the randomized questions.

More complcated example

Imagine you want to have more control over the question order. You want the first and last question to stay in place and the others to be shuffled. Proceed as shown in the following table:

QuestionRandomization group
How where you feeling last year?fixed1
How do you do?shuffle
How are you?shuffle
Are you all right?shuffle
How will you be feeling next year?fixed2

What would have happened if the first and last question both had the randomization group fixed?

Continue with the next lesson

Limesurvey, 6 Expressions and tokens

According to my dictionary, an expression is the act or an instance of transforming ideas into words. The text age>17 in the chapter about routing and relevance is an example of an expression. The outcome of this expressions was either true or false, The outcome of an expressions need not be true or false. It can be a number or a text as well. Let's try the latter.

Go back to the question about marriage. Change the question text into {name}, are you married?. name is the question code of a previous question. We put curly brackets around it to distinguish it from normal text. Save the question and see what happens if you run the whole survey.

expression name

Indeed, the participant sees a nice greeting with his or her name inserted.


Often a survey participant will not type his own name. A list of special logins is made and invitations are send. Such special logins are called tokens in Limesurvey. If you use tokens, only invited people can enter the survey. Special expressions such as {TOKEN}, {TOKEN:FIRSTNAME} and {TOKEN:EMAIL} become valid. Feel free to play around with tokens, but do not forget to delete the token list before continuing with the tutorial.


Continue with the next lesson

Limesurvey, 7 A real life example

In this lesson it is you who does the work. Change your survey Family Life to be as close as possible to the following example survey. Not everything is possible. No more step-by-step pampering. Find your own solutions.

Well, a little bit of help to start with. You can have my Background question group if you like. Just click: ⊕ Add new group to survey -> Import question group -> Choose File -> Import question group and delete the old question group Background.

1. What is your gender?

 (1) Male

 (2) Female


2. How old have you become on your last birthday? !_____________!



The next questions are about past, present, and future family life.



3. What was your marital status 5 years ago, in 2010? Answer the first option that applies to you.

        a/        Married
        b/        Co-habited
        c/        Widowed
        d/        Divorced
        e/        Separated
        f/        Single, never married


4. What is your present marital status? Answer the first option that applies to you.

        a/        Married        -->TO Q.5, 6, 7
        b/        Co-habited       
-->TO Q.5, 6, 7
        c/        Widowed       
-->TO Q.5, 6
        d/        Divorced       
-->TO Q.5, 7
        e/        Separated       
-->TO Q.5, 6, 7
        f/        Single, never married       
-->SKIP 5,6,7


5. How old were you when you married (for the first time)?

  !_____________! /WRITE THE EXACT AGE/

        Yes        No

6.        Did you ever divorce?        1        2

7.        Did you ever become a widow?        1        2


 1. MARRIED-->TO Q.8


8. How satisfied you are with your marriage at present?

Not at all
1        2        3        4        5        6        7        8        9        10 Very much




9. How you would describe your marriage?

        (1)        Very happy
        (2)        Pretty happy
        (3)        Not too happy
        (9)        Do not know



10. Would you like to change anything in your family life?

        (1)        Yes -->TO Q.11
        (2)        No
--> SKIP Q.11, 12
        (9)        Do not know
--> SKIP Q.11, 12

11. How are you going to change your family life? /MARK AS MANY AS MENTIONED/

        (1)        Will get married
        (2)        Will find a partner /new/
        (3)        Will get divorced, separated
        (4)        Will separate from parents, children
        (5)        Will have /more/ children, grandchildren
        (6)        Will live with the adult children
        (7)        Will spend more time with the family
        (8)        Children will get married
        (98)        Other
        (99)        Do not know

12. How likely, in your opinion, is it that your family life will be changed in the next 2 years?

        1.        Very likely
        2.        Somewhat likely
        3.        Somewhat unlikely
        4.        Not likely at all
        (9)        Do not know


13. How often do you feel....









1. That you lack companionship?







2. That there is no one you can turn to?







3. That you are no longer close to anyone?







4. Outgoing and friendly?







5. Close to people?







6. That no one really knows you well?







7. You can find companionship when you want it?







8. That there are people who really understand you?







9. That people are around you but not with you?







Continue with the next lesson

Limesurvey, 8 Data analysis

Let's assume you activated this survey. You collected a lot of data. Now you click the responses icon R in the survey toolbar, you click Responses & statistics, you click the SPSS icon SPSS. In the following screen you click both Export syntax and Export data.

spss screen

If you use this syntax file to import the data file in IBM SPSS or GNU PSPP, you will see that not only the data is nicely exported, but the entire codebook is correctly exported as well:

spss screen

Here are an example syntax file and data file. Make sure you alter the data file name in the syntax file before executing it. This is only necessary in SPSS. PSPP will understand it right away.

Can you find the average age of the participants? The number of married participants? The average difference and average deviation from average of the current age and the age when marrying? What is the correlation between questions How satisfied you are with your marriage at present? and How you would describe your marriage?


GNU PSPP and IBM SPSS are not the only two software packages capable of analysing our data. GNU R and Python Pandas are two other popular options. They cannot read the codebook created by Limesurvey, but they can analyze your data just as well. Try loading your data in one of them and getting the numbers asked above. This is what would give you the solution in Python Pandas:

import pandas as pd

d = pd.read_csv("survey.csv", usecols = range(4, 13), quotechar="'",
	names = ['gender','age','status5','status','age2','divorce','widow','satisfied','unhappy'])

This is what would give you the solution in GNU R:

d <- read.csv("survey.csv", head=FALSE, quote="'")
colnames(d) <- c('','','','', 'gender','age','status5','status','age2','divorce','widow','satisfied','unhappy')
mean(d[,'age']-d[,'age2'], na.rm=TRUE)
sd(d[,'age']-d[,'age2'], na.rm=TRUE)
cor(d[,'satisfied'], d[,'unhappy'], use='complete')

If you want to import the data in MS Excel, you must set the list separator to comma. In Europe its default setting is semicolon:

That was the last lesson of this beginner tutorial. There are some additional unordered lessons which you can access from the menu bar on the left.