DTA SAV
File conversion

Convert DTA to SAV

QUICK ANSWER
Is it possible to convert DTA to SAV?
Yes - DTA converts to SAV.

R with the haven package is the most reliable free path: load with read_dta('file.dta') and write with write_sav(df, 'output.sav'). Both variable labels and value labels carry over, which a CSV export would lose.

Also to SAV: SVE · SRM · RDATA

On this page

Tested on macOS, Windows & Linux
Last verified Oct 2026

More free converters

HEIC, PNG, WEBP, MP3 and more - every tool here is free.

Open the toolbox

Why convert DTA to SAV?

Both .dta and .sav store rectangular datasets with variable labels and value labels, so the conversion maps well. Converting to .sav lets colleagues open the dataset directly in SPSS without installing Stata or going through an intermediate CSV that strips metadata.

How to convert DTA to SAV

R + haven OPEN-SOURCE

Install haven, then run read_dta('file.dta') followed by write_sav(df, 'output.sav') to produce an SPSS-compatible file with labels preserved.

PSPP OPEN-SOURCE

Open the .dta via File > Import Data > Stata, then save as SPSS format via File > Save As. For complex datasets with many value labels, R + haven is more reliable.

SPSS APP

Open the .dta via File > Open > Data (set file type to Stata), then save via File > Save As in SPSS format.

About these formats

Quality & what to watch

  • Variable and value labels carry over when using haven - Stata value labels become SPSS value labels in the output .sav.
  • Stata's extended missing values (.a, .b, ..., .z) become system-missing in SPSS and cannot be mapped to SPSS user-defined missing codes.
  • Newer Stata format files (format 117+, Stata 13 onward) are fully supported by haven; if PSPP rejects a newer file, use R + haven instead.

Frequently asked questions

Do I need a Stata or SPSS licence to convert DTA to SAV?
No - R + haven and PSPP are both free and handle the full conversion including labels.
Will value labels survive the conversion?
Yes, when using haven - Stata value labels become SPSS value labels in the output .sav.
What happens to Stata's extended missing values?
They become system-missing in SPSS; if your analysis depends on distinguishing .a, .b, etc., resolve them in R before writing the .sav.
Does it work with large datasets?
R + haven reads .dta files row by row and handles large files; PSPP is less tested on very large datasets with many variables.