statfile.tools

Convert .sav to .dta

Drop an SPSS .sav file below to get a native Stata .dta file — with variable labels, value labels, and dates translated between the two formats. Everything runs on your device.

Drop your file here, or browse

SPSS .sav or .zsav file

Processed on your device — never uploaded

Or try:

About converting .sav to Stata

Moving a dataset from SPSS to Stata is the one conversion where a spreadsheet detour hurts most. Go through CSV and you lose every label, every declared missing value, and the date encoding. This converter writes a real Stata .dta file (format 118, readable by Stata 14 and later, and by pandas and haven), so the metadata survives: variable labels are carried across, value labels become Stata label sets, and dates are re-based from SPSS's 1582 epoch to Stata's 1960 epoch — a shift of 12 billion seconds that silently corrupts dates when done by hand.

The two formats are not identical, so a few things are adjusted along the way and reported to you after the conversion. Stata variable names allow at most 32 characters of letters, digits, and underscores, so other names are sanitized (the original name is kept as the variable label if there was none). Stata attaches value labels to integers only, so labels on non-integer codes are noted and dropped. Strings longer than 2,045 bytes — Stata's fixed-width limit — are truncated. System-missing values become Stata's "." missing.

The alternative route is R's haven package or Python's pyreadstat, which are excellent but require a working installation and a few lines of code. This page produces the same kind of file from a drag-and-drop, entirely offline in your browser — appropriate for restricted-use data that must not touch a third-party server.

How to convert .sav to .dta

  1. 1

    Drag your .sav file onto the box above (or click to browse). It is read locally — nothing is uploaded.

  2. 2

    Choose how labels and dates should appear. Labels, value labels, and dates convert automatically; anything that needed adjusting is reported after the conversion.

  3. 3

    Click convert and your .dta file downloads instantly.

Frequently asked questions

Which Stata versions can open the converted file?+

The converter writes format 118, the native format of Stata 14 through 18 and later. It is also readable by pandas (read_stata), R's haven, and pyreadstat.

Do variable and value labels survive the conversion?+

Yes. Variable labels are copied across, and value labels become Stata value-label sets attached to the corresponding variables. Stata only supports labels on integer values, so labels attached to non-integer codes are dropped and reported.

Are SPSS dates converted correctly?+

Yes. SPSS counts seconds from 14 October 1582, while Stata counts milliseconds (or days) from 1 January 1960. The converter re-bases each date variable so the calendar dates match exactly; datetimes become %tc and dates become %td.

Is my data uploaded to a server?+

No. The .sav file is parsed and the .dta file is generated entirely in your browser. Nothing is transmitted, which makes this safe for confidential or IRB-restricted datasets.

Related conversions