CSV Tools

Convert SAV to CSV

Convert SPSS (.sav) files to CSV — free methods that work without SPSS

Need a different conversion? Browse all of our CSV converters.

A .sav file is a data file from IBM SPSS Statistics, and you normally need SPSS — expensive, license-managed software — to open it. There is no in-browser .sav converter on this site yet, because the format needs a real statistics library to parse. But you can still convert it for free: the fastest option with no software installs is Google Colab (below), and if you already use Python or R, jump to those sections.

No installation: Google Colab (works on any computer)

Google Colab is a free service that runs Python in your browser — nothing to install, and it works on a Chromebook or a locked-down library computer. You need only a Google account.

  1. Open Colab — Go to colab.research.google.com, sign in with any Google account, and click New Notebook.
  2. Upload your file — Click the folder icon in the left sidebar, then the upload button, and select your .sav file.
  3. Run the code — Paste this code into the cell and press the run button:
!pip install pyreadstat
import pandas as pd
df = pd.read_spss("survey.sav")  # replace survey.sav with your file's name
df.to_csv("output.csv", index=False)
  1. Download the result — Refresh the file sidebar, right-click output.csv, and choose Download.

Your uploaded file lives in a temporary private session that disappears when the tab closes — but it is processed on Google’s servers, so for confidential data prefer one of the desktop apps below, which never send your file anywhere.

Free desktop apps (no code)

  • GNU PSPP — a free SPSS replacement from the GNU project, and the best pick for a straight conversion. It opens .sav files natively on Windows, macOS, and Linux. Open your file, then use File → Export and choose Comma-Separated Values to save a CSV. If you were searching for a “.sav viewer,” this is also the answer: you can browse the data and variable views just like in SPSS.
  • jamovi — a free statistics app with a friendlier interface than PSPP. It imports .sav files with value labels intact, and File → Export writes CSV. The better choice if you also need to run analyses after converting.
  • JASP — same pitch as jamovi: free, imports .sav (plus .zsav and .por), and exports data as CSV.

Python

Install the two required packages, then run the script:

pip install pandas pyreadstat
import pandas as pd
df = pd.read_spss("survey.sav")  # replace survey.sav with your file's name
df.to_csv("output.csv", index=False)

One thing to decide: codes or labels. SPSS columns often store numeric codes with labels attached (1 = Male, 2 = Female). pandas.read_spss writes the labels into your CSV by default; pass convert_categoricals=False to keep the raw codes. If you need both, use pyreadstat directly — df, meta = pyreadstat.read_sav("survey.sav") returns the data plus a meta object whose variable_value_labels holds every code-to-label mapping.

R

install.packages(c("haven", "readr"))
library(haven)
df <- read_sav("survey.sav")  # replace survey.sav with your file's name
readr::write_csv(df, "output.csv")

This writes the underlying numeric codes for labeled columns. To write the labels instead, convert first: df <- as_factor(df).

Which method should I use?

Your situationUse this
No software installs, one file, data not confidentialGoogle Colab
Confidential dataGNU PSPP — the file never leaves your computer
You need to run stats after convertingjamovi or JASP
Many files, or a task you’ll repeatPython or R script

FAQ

5 questions
Can I open a .sav file without SPSS?
Yes. GNU PSPP, jamovi, and JASP are all free desktop apps that open .sav files directly, and the Google Colab method on this page works in a browser with no installation at all. You do not need an SPSS license for any of them.
Can Excel open .sav files?
No. Excel has no importer for the SPSS .sav format, so double-clicking the file will not work. Convert the file to CSV first using any method on this page, then open the CSV in Excel.
How do I keep value labels (not numeric codes) in the CSV?
The pandas method on this page writes labels like Male and Female by default, because read_spss converts labeled columns to their labels. If you want the raw numeric codes instead, pass convert_categoricals=False. In pyreadstat it is the reverse: you get codes by default and pass apply_value_formats=True to get labels.
Is PSPP safe and legal to use?
Yes. PSPP is part of the GNU project and is genuinely free software — not a trial, not a cracked copy of SPSS. It has no time limits and no caps on the number of cases or variables, and it runs on Windows, macOS, and Linux.
What about .por files?
A .por file is an SPSS portable file, an older interchange format. The same tools handle it: PSPP opens .por files directly, pyreadstat has a read_por function, and in R you can use haven::read_por. Convert to CSV the same way as a .sav file.

More Format Guides & Converters

6 pages

More Convert File Formats Tools

23 tools