SAV → JSON

SAV to JSON, for scripts and apps.

Drop a .sav file and get a clean array of JSON records — ready to fetch(), parse, or pipe straight into your own code.

Drop your .sav file — or click to browse
Nothing is uploaded · works with any file size
.sav.csv.xlsx.json

Record shape and typing

Each row becomes one JSON object, keyed by the variable's short name from the .sav file — the same names you would see as column headers in the CSV export. Numeric SPSS variables serialize as JSON numbers; string variables serialize as JSON strings; genuinely missing values serialize as null, never an empty string standing in for "unknown".

Value labels resolve by default

If a variable has value labels defined in SPSS — a coded field like gender where 1 means "Male" and 2 means "Female" — the default "Labels" mode resolves those into the readable string before writing the JSON. Switch to "Numeric codes" if your downstream code expects the original integers, or "Both" to get a gender field and a gender_code field together.

Pretty-printed, not minified

The output is indented (2 spaces) so it is readable if you open it directly, and still parses fine with any standard JSON parser regardless of the whitespace.


Questions

What does the JSON output look like?

An array of plain objects, one per row, with each variable name as a key — e.g. [{"id": 1, "gender": "Male"}, {"id": 2, "gender": "Female"}, ...]. It is standard JSON.parse()-able output, not a custom schema.

Are missing values represented as null?

Yes. A cell with no recorded value serializes as JSON null rather than an empty string or the number 0, so downstream code can tell "missing" apart from an actual zero or empty string in your data.

Why would I want JSON instead of CSV for SPSS data?

JSON keeps each row as a self-describing object rather than a positional list of values, which is usually more convenient when you are feeding the data into a script, a notebook, or a web app rather than opening it in a spreadsheet.

Do numeric columns stay numbers in the JSON?

Yes, when you are in "Numeric codes" or "Both" mode — SPSS numeric variables serialize as JSON numbers, not strings. In "Labels" mode (the default), a variable with value labels serializes as its resolved text label, which is a JSON string.


Next: opening the data in a spreadsheet instead? Try SAV to CSV or SAV to Excel. Or check the file's variables first in the .sav viewer before you convert anything.