Convert SPSS .sav to CSV.
In your browser.
Drop a .sav file and get clean .csv, .xlsx, or .json — value labels preserved, nothing uploaded, no signup.
Free forever, no ads in the tool. If it saved you time, chip in:
☕ Support This ProjectHow it works
Three steps, no account, nothing installed.
Drop your .sav file
Drag it into the box above or click to browse. Nothing leaves your device — parsing happens entirely in your browser.
Pick format & labels
Choose CSV, Excel, or JSON, then decide whether value labels export as text, numeric codes, or both side by side.
Download
Your file downloads instantly. No account, no email, no upload — you never left this page.
Pick a format
Each one is the same converter, tuned for one output.
Why savtocsv
Compared against convertspss.com, SavQuick, and the usual upload-and-wait converters.
| savtocsv | ConvertSPSS | SavQuick | Upload-and-wait tools | |
|---|---|---|---|---|
| Processed in your browser | Yes | Server-side | Yes | Server-side |
| Excel (.xlsx) export | Yes | No | Pro only | Varies |
| File size cap | None (client-side) | 16MB | None | 16–50MB |
| Value-label modes | Labels / codes / both | Labels only | Labels / codes | Varies |
| Account required | Never | Never | Never | Often |
| Guides / content library | Yes | None | Yes | Varies |
Not sure what's inside the file yet?
Open the free .sav viewer to see the variable view — names, labels, and value labels — plus the first rows of data, before you convert anything.
Open the .sav viewerNo SPSS licence at all? See what a CSV keeps when you convert SAV without SPSS — value labels, missing-value codes and dates each behave differently.
Going the other way? The CSV to SAV converter online builds an SPSS file from a spreadsheet, letting you set variable names, types, measure levels and missing-value codes before it writes.
Handed a plain-text portable file by an archive? The POR to CSV converter reads SPSS .por files, which use a different layout entirely, and reports what the portable format rounded or renamed before the file reached you.
Landed here with a game save? Both formats are named .sav and are otherwise unrelated, so the Unreal Engine game save to CSV reader checks the first four bytes rather than the extension, and exports the save's properties instead of an SPSS variable view.
Working in a script instead? Generate a ready-to-run R script to convert SAV to CSV with haven, foreign or rio, or a Python script to convert SAV to CSV with pyreadstat or pandas.
From the guides
Practical write-ups on working with .sav files.
Questions
Is it safe to convert my .sav file here?
Yes. The file is parsed entirely in your browser using JavaScript — it is never uploaded to a server. That also means it works fine with sensitive research data: nothing about the file or its contents ever leaves your device.
Will I lose value labels or missing-value codes?
No. savtocsv reads the value labels stored in the .sav file (e.g. a "gender" column where 1 = Male, 2 = Female) and lets you export them as text labels, the original numeric codes, or both side by side in separate columns.
Do I need SPSS installed to use this?
No. You only need the .sav file and a browser. savtocsv reads the .sav binary format directly, so you do not need an SPSS license, PSPP, or any other software installed.
Is there a file size limit?
Because the file is read entirely in your browser rather than uploaded to a server, there is no fixed upload cap like the 16MB most server-side converters enforce. Very large files are limited only by your device's available memory.
Is savtocsv free?
Yes, converting and viewing .sav files is free with no signup. If it saves you the $1,188/year SPSS license fee for a one-off task, you can leave a tip via Buy Me a Coffee on the pricing page — that is entirely optional.
Can I convert CSV or Excel back into .sav?
Yes. The CSV to SAV converter builds a real SPSS system file from a spreadsheet, letting you set variable names, types, measure levels and missing-value codes before it writes. Its output is checked byte-for-byte against files written by pyreadstat.
What about .por portable files?
Those are read too, on their own page. A portable file is plain text with base-30 numbers rather than the binary layout a .sav uses, so it needs a separate parser; the POR to CSV converter also reports what the portable format itself rounded or renamed before you received the file.