---
name: "pspp-convert"
section: "1"
platform: "linux"
package: "pspp"
version: "2.0.1-1+b1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/pspp-convert"
---

# pspp-convert(1)

convert SPSS data files to other formats

## NAME

pspp-convert - convert SPSS data files to other formats

## SYNOPSIS

**pspp-convert** \[*options*\] *input* *output*\
 **pspp-convert --help** \| **-h**\
 **pspp-convert --version** \| **-v**

## DESCRIPTION

The **pspp-convert** program reads *input*, which may be an SPSS system file, an SPSS/PC+ system file, an SPSS portable file, or an encrypted SPSS syntax file, and writes it to *output*, performing format conversion as necessary.

The format of *input* is automatically detected, when possible. The character encoding of old SPSS system files cannot always be guessed correctly, and SPSS/PC+ system files do not include any indication of their encoding.  Use **-e** *encoding* to specify the encoding in this case.

By default, the intended format for *output* is inferred from its extension:

- **csv**

  - **txt**

  Comma-separated value.  Each value is formatted according to its variable's print format.  The first line in the file contains variable names.

- **sav**

  - **sys**

  SPSS system file.

- **por**

  SPSS portable file.

- **sps**

  SPSS syntax file.  (Only encrypted syntax files may be converted to this format.)

Use **-O** *extension* to override the inferred format or to specify the format for unrecognized extensions.

**pspp-convert** can convert most input formats to most output formats.  Encrypted SPSS file formats are exceptions: if the input file is in an encrypted format, then the output file will be the same format (decrypted).  Options for the output format are ignored in this case.

## OPTIONS

### General Options

- **-O format**

  - **--output-format=***format*

  Specifies the desired output format.  *format* must be one of the extensions listed above, e.g. **-O csv** requests comma-separated value output.

- **-c** *maxcases*

  - **--cases=***maxcases*

  By default, all cases are copied from *input* to *output*. Specifying this option to limit the number of cases written to *output* to *maxcases*.

- **-e** *charset*

  - **--encoding=***charset*

  Overrides the encoding in which character strings in *input* are interpreted.  This option is necessary because old SPSS system files do not self-identify their encoding.

- **-k** *var*...

  - **--keep=***var*...

  Drops all variables except those listed as *var*, and reorders the remaining variables into the specified order.

- **-d** *var*...

  - **--drop=***var*...

  Drops each *var* listed from the output.

### CSV Output Options

These options affect only output to **.csv** and **.txt** files.

- **--labels**

  By default, **pspp-convert** writes variables' values to the output. With this option, **pspp-convert** writes value labels.

- **--no-var-names**

  By default, pspp-convert writes the variable names as the first line of output.  With this option, **pspp-convert** omits this line.

- **--recode**

  By default, **pspp-convert** writes user-missing values as their regular values.  With this option, **pspp-convert** recodes them to system-missing values (which are written as a single space).

- **--print-formats**

  By default, **pspp-convert** writes numeric variables as plain numbers.  This option makes **pspp-convert** honor variables' print formats.

- **--decimal=***decimal*

  This option sets the character used as a decimal point in output.  The default is a period (**.**).

- **--delimiter=***delimiter*

  This option sets the character used to separate fields in output.  The default is a comma (**,**), unless the decimal point is a comma, in which case a semicolon (**;**) is used.

- **--qualifier=***qualifier*

  The option sets the character used to quote fields that contain the delimiter.  The default is a double quote (**"**).

### Password Options

When the input file is encrypted, **pspp-convert** needs to obtain a password to decrypt it.  To do so, the user may specify the password with **-p** (or **--password**), or the name of a file containing a list of possible passwords with **--password-list**, or an alphabet of possible passwords to try along with a maximum length with **-a** (or **--password-alphabet**) and **-l** (or --password-length).  If none of these options is used, **pspp-convert** prompts for the password.  The password options are:

- **-p** *password*

  - **--password=***password*

  Specifies the password to use to decrypt the input file.

-

  On multiuser systems, this option may not be safe because other users may be able to see the password in process listings.

- **-a** *alphabet* **-l** *max-length*

  - **--password-alphabet=***alphabet* **--password-length=***max-length*

  These options are an alternative to **-p** or **--password**. They direct **pspp-convert** to search for the correct password from the set of all passwords of symbols from *alphabet* (which may contain character ranges specified with **-**) and no more than *max-length* symbols long.  For example, **-a a-z -l 5** checks all possible lowercase alphabetic passwords no more than 5 characters long.

-

  When these options are used, **-p** may additionally specify a starting point for the search.

- **--password-list=***file*

  Specifies a file to read containing a list of passwords to try, one per line.  If *file* is **-**, reads from stdin.

### Other Options

- **-h**

  - **--help**

  Prints a usage message on stdout and exits.

- **-v**

  - **--version**

  Prints version information on stdout and exits.

## AUTHORS

Ben Pfaff.

## SEE ALSO

[**pspp-output**(1)](/pspp-output/1.md), [**pspp**(1)](/pspp/1.md), [**psppire**(1)](/psppire/1.md).
