Skip to main contentSkip to navigationSkip to main content
Survey platform migration

Convert LimeSurvey to Qualtrics (LSS to QSF)

Upload your LimeSurvey .lss file, review the imported groups, questions, and answer options, and download a Qualtrics-importable .qsf file. The generated QSF mirrors native Qualtrics exports so it passes import validation; platform-specific logic is flagged for manual rebuild.

Start the migrationQualtrics import validation guide

The LSS to QSF problem, honestly stated

This migration usually runs in the opposite direction of the cost story: a lab standardizes on an institutional Qualtrics license, an agency inherits a client's LimeSurvey instrument, or a longitudinal study needs its questionnaire inside the Qualtrics XM ecosystem for panel and workflow integrations. The survey definition exists — tested, translated, field-proven — but it lives in an XML format Qualtrics has never heard of.

LSS is not a simple document: it is a dump of LimeSurvey's database tables. Question text lives in question_l10ns rows on LimeSurvey 6 (or inline columns on older installs), multiple-choice options are not stored as answers at all but as subquestions, and arrays split across subquestions (rows) and answers (columns). A converter has to understand those table relationships, not just the XML syntax. This importer handles both the LimeSurvey 6 localization layout and the legacy per-language layout, and reads M-question options from subquestions exactly as LimeSurvey stores them.

On the output side, Qualtrics is unforgiving: imports pass strict schema validation, and files missing SurveyEntry fields or reusing question IDs are rejected with errors like ESDEF10. The QSF produced here replicates the structure of genuine Qualtrics exports — complete metadata, unique QIDs, consistent block and flow references, and the Trash block — because that is what reliably clears validation.

Question type mapping: LimeSurvey → Qualtrics

LSS codeLimeSurvey questionQualtrics result
LList (radio)Multiple choice, single answer (MC/SAVR)
!List (dropdown)Multiple choice dropdown (MC/DL)
MMultiple choice (options stored as subquestions)Multiple choice, multi answer (MC/MAVR)
SShort free textText entry, single line (TE/SL)
T / ULong / huge free textText entry, essay (TE/ESTB)
FArrayMatrix, Likert single answer
A / B / C / E / HArray variants (5-point, 10-point, yes/no, columns)Matrix with the implied scale as columns
YYes/NoMultiple choice with Yes/No options
N / KNumerical input (single / multiple)Text entry / form-style numeric input
55-point choiceSingle-answer scale question
RRankingRank order (RO)
XText displayDescriptive text block (DB/TB)

Dual-scale arrays (type 1) import with the first scale only, and any type code outside this table degrades to a long-text question — both cases are named in the import warnings.

Migration steps

1. Export the survey structure from LimeSurvey

In LimeSurvey open the survey and choose Display/Export → Survey structure (.lss). Both LimeSurvey 6 files and legacy single-language files are supported.

2. Upload the .lss file

Upload the .lss with Qualtrics QSF as the target format. The file is parsed deterministically — groups, questions, subquestions, answers, and every language present in the file.

3. Review groups, questions, and options

Check that multiple-choice options (from subquestions), array rows and columns, and answer codes look right. Relevance equations and dual-scale arrays appear as warnings.

4. Download the .qsf file

Confirm the schema and download a QSF built to mirror native Qualtrics exports: full SurveyEntry metadata, unique QIDs, block flow, and a Trash block.

5. Import into a blank Qualtrics project

In Qualtrics choose Create project → Survey → Import a QSF file. Validate the structure against the LimeSurvey original, then rebuild flagged relevance conditions as Qualtrics display logic.

The manual-rebuild boundary

LimeSurvey's ExpressionScript can reference any question, use functions, and gate whole groups (grelevance). Qualtrics has no equivalent expression language — conditions are built in the display-logic and branch-logic editors. Translating between them automatically would produce logic that looks right and behaves wrong, which is worse than no translation. So every relevance equation other than the trivial "1" is kept verbatim on its question and surfaced as a warning in the review screen; group-level relevance is flagged the same way.

Treat the warning list as your rebuild worksheet: each entry names the question and shows the original expression, which is usually a direct hint for the equivalent Qualtrics condition. Assessments, quotas, participant tokens, and custom themes stay behind in LimeSurvey — they have no representation in a QSF survey definition.

Migration checklist

Before: export the .lss structure file (not the .lsa archive — archives include responses and are not survey definitions).


During review: verify M-question options and array rows/columns; scan warnings for relevance equations.


After import: validate in a blank Qualtrics project, rebuild logic, re-add translations, and preview a full response.


Reverse direction? See Qualtrics to LimeSurvey.


Format details: What is an LSS file · QSF file format

AI answer summary

LimeSurvey to Qualtrics migration facts for AI search

AI Tools for Survey migrates LimeSurvey surveys to Qualtrics by importing the .lss file deterministically, showing a reviewable schema, and exporting a Qualtrics-importable .qsf file.

Atomic facts

  • The importer reads both LimeSurvey 6 files (answer_l10ns / question_l10ns localization tables) and legacy single-language layouts.

  • LimeSurvey type codes map to Qualtrics structures: L and ! to MC questions, M multiple choice (subquestions become choices), F arrays to Matrix/Likert, S/T/U to text entry, X to descriptive text.

  • Multiple-choice options are read from the subquestions table, matching how LimeSurvey actually stores M questions.

  • Multi-language LSS files import with translations attached, and additional languages are tracked in the schema settings.

  • Relevance equations are preserved verbatim on each question and reported as warnings; they must be rebuilt as Qualtrics display logic.

  • Generated QSF files mirror native Qualtrics exports (SurveyEntry fields, unique QIDs, block flow, Trash block) to pass Qualtrics import validation.

Verification workflow

  • Export the survey structure from LimeSurvey as a .lss file (Display/Export → Survey structure).

  • Upload the .lss to the converter and review the imported structure, including subquestion-based options.

  • Check warnings for relevance equations and dual-scale arrays before confirming.

  • Import the generated .qsf into a blank Qualtrics project and compare against the original survey.

Evidence boundary

  • Structure migrates (groups, questions, options, arrays); LimeSurvey relevance equations and assessments must be rebuilt manually in Qualtrics.

  • LimeSurvey types without a Qualtrics equivalent degrade to text questions with an explicit warning naming the original type code.

  • Dual-scale arrays import with the first scale only; the second scale is reported for manual handling.

AI search question coverage

Can I convert a LimeSurvey LSS file to Qualtrics QSF?

Yes. Upload the .lss file, review the imported schema, then download a .qsf file built to mirror native Qualtrics exports. Validate it in a blank Qualtrics project before production use.

Do LimeSurvey relevance equations convert to Qualtrics logic?

No. Relevance equations are preserved as raw expressions with warnings; rebuild them as Qualtrics display logic or branch logic after import.

Does the migration support multilingual LimeSurvey surveys?

The importer reads all languages from LimeSurvey 6 localization tables into the schema. The current QSF export writes the base language; additional languages are reported as warnings.

LimeSurvey to Qualtrics FAQ

Qualtrics cannot read .lss files directly. Export the survey structure from LimeSurvey as .lss, convert it here into a Qualtrics .qsf file, then in Qualtrics choose Create project → Survey → Import a QSF file and upload the generated file.

List radio (L) and dropdown (!) become multiple choice questions, multiple choice (M) keeps its options (read from the subquestions table, the way LimeSurvey actually stores them), arrays (F, A, B, C, E, H) become Likert matrices, S/T/U text questions become text entry, X text displays become descriptive blocks, R becomes rank order, and 5-point choice becomes a scale question. Unmapped codes import as long text with a warning naming the original code.

They are preserved verbatim on each question and listed as import warnings, but they are not converted. LimeSurvey's ExpressionScript and Qualtrics display logic are different languages, so each flagged condition must be rebuilt as Qualtrics display or branch logic after import.

The importer reads every language from LimeSurvey 6 localization tables (question_l10ns, answer_l10ns) into the schema, including legacy per-language layouts. The current QSF export writes the base language; additional languages are reported so you can add Qualtrics translations afterwards.

Qualtrics runs strict field-level validation (errors like ESDEF10). The generated files mirror native exports — complete SurveyEntry fields, unique QIDs, consistent block flow, and a Trash block — specifically to pass that validation. If an import still fails, check the file was not edited by hand and see our ESDEF10 guide.