---
name: "gdal-vsi-sozip"
section: "1"
platform: "linux"
package: "gdal"
version: "3.13.3-6"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/gdal-vsi-sozip"
---

# gdal-vsi-sozip(1)

SOZIP (Seek-Optimized ZIP) related commands. Added in version 3.11.

## NAME

gdal-vsi-sozip - SOZIP (Seek-Optimized ZIP) related commands.

Added in version 3.11.

## DESCRIPTION

The **gdal vsi sozip** utility can be used to:

- •

  create a *SOZip (Seek-Optimized ZIP)* file

- •

  append files to an existing ZIP/SOZip file

- •

  list the contents of a ZIP/SOZip file

- •

  validate a SOZip file

- •

  convert an existing Zip file into a SOZip optimized one

## SYNOPSIS

```
Usage: gdal vsi sozip <SUBCOMMAND> [OPTIONS]
where <SUBCOMMAND> is one of:
  - create:   Create a Seek-optimized ZIP (SOZIP) file.
  - list:     List content of a ZIP file, with SOZIP related information.
  - optimize: Create a Seek-optimized ZIP (SOZIP) file from a regular ZIP file.
  - validate: Validate a ZIP file, possibly using SOZIP optimization.
Common Options:
  -h, --help              Display help message and exit
  --json-usage            Display usage as JSON document and exit
  --config <KEY>=<VALUE>  Configuration option [may be repeated]
```

## GDAL VSI SOZIP CREATE

### Description

Adds one or several files to a new or existing zip file.

### Synopsis

```
Usage: gdal vsi sozip create [OPTIONS] <INPUT> <OUTPUT>
Create a Seek-optimized ZIP (SOZIP) file.
Positional arguments:
  -i, --input <INPUT>                                          Input filenames [may be repeated] [required]
  -o, --output <OUTPUT>                                        Output ZIP filename [required]
Common Options:
  -h, --help                                                   Display help message and exit
  --json-usage                                                 Display usage as JSON document and exit
  --config <KEY>=<VALUE>                                       Configuration option [may be repeated]
  -q, --quiet                                                  Quiet mode (no progress bar or warning message) [not available in pipelines]
Options:
  --overwrite                                                  Whether overwriting existing output dataset is allowed
  -r, --recursive                                              Travels the directory structure of the specified directories recursively
  -j, --junk-paths, --no-paths                                 Store just the name of a saved file, and do not store directory names
  --enable-sozip <ENABLE-SOZIP>                                Whether to automatically/systematically/never apply the SOZIP optimization. ENABLE-SOZIP=auto|yes|no (default: auto)
  --sozip-chunk-size <value in bytes or with K/M suffix>       Chunk size for a seek-optimized file (default: 32768)
  --sozip-min-file-size <value in bytes or with K/M/G suffix>  Minimum file size to decide if a file should be seek-optimized (default: 1 MB)
  --content-type <CONTENT-TYPE>                                Store the Content-Type of the file being added.
```

### Options

- **-i, --input \<INPUT\>**

  Input filenames. Required. Several file names or directory names accepted.

- **-o, --output \<OUTPUT\>**

  Output ZIP filename. Required. Must have a **.zip** extension

- **--overwrite**

  Whether overwriting existing output is allowed.

- **-r, --recursive**

  Travels the directory structure of the specified directories recursively.

- **-j, --junk-paths, --no-paths**

  Store just the name of a saved file (junk the path), and do not store directory names. By default, sozip will store the full path (relative to the current directory).

- **--enable-sozip auto\|yes\|no**

  In **auto** mode, a file is seek-optimized only if its size is above the value of *--sozip-min-file-size*. In **yes** mode, all input files will be seek-optimized. In **no** mode, no input files will be seek-optimized.

- **--sozip-chunk-size \<value\>**

  Chunk size for a seek-optimized file. Defaults to 32768 bytes. The value is specified in bytes, or **K** and **M** suffix (optionally preceded by a space) can be respectively used to specify a value in kilo-bytes or mega-bytes.

- **--sozip-min-file-size \<value\>**

  Minimum file size to decide if a file should be seek-optimized, in --enable-sozip=auto mode. Defaults to 1 MB byte. The value is specified in bytes, or **K**, **M** or **G** suffix (optionally preceded by a space) can be respectively used to specify a value in kilo-bytes, mega-bytes or giga-bytes.

- **--content-type \<value\>**

  Store the Content-Type for the file being added as a key-value pair in the extra field extension 'KV' (0x564b) dedicated to storing key-value pair metadata

- **-q, --quiet**

  Do not output any informative message (only errors).

### Multithreading

The *GDAL\_NUM\_THREADS* configuration option can be set to **ALL\_CPUS** or a integer value to specify the number of threads to use for SOZip-compressed files. Defaults to **ALL\_CPUS**.

### Examples

### Example 1: Create a, potentially seek-optimized, ZIP file with the content of my.gpkg

```
gdal vsi sozip create my.gpkg my.gpkg.zip
```

### Example 2: Create a, potentially seek-optimized, ZIP file from the content of a source directory:

```
gdal vsi sozip create -r source_dir/ my.gpkg.zip
```

## GDAL VSI SOZIP OPTIMIZE

### Description

Create a new zip file from the content of an existing one, possibly applying SOZip optimization when relevant.

### Synopsis

```
Usage: gdal vsi sozip optimize [OPTIONS] <INPUT> <OUTPUT>
Create a Seek-optimized ZIP (SOZIP) file from a regular ZIP file.
Positional arguments:
  -i, --input <INPUT>                                          Input ZIP filename [required]
  -o, --output <OUTPUT>                                        Output ZIP filename [required]
Common Options:
  -h, --help                                                   Display help message and exit
  --json-usage                                                 Display usage as JSON document and exit
  --config <KEY>=<VALUE>                                       Configuration option [may be repeated]
  -q, --quiet                                                  Quiet mode (no progress bar or warning message) [not available in pipelines]
Options:
  --overwrite                                                  Whether overwriting existing output dataset is allowed
  --enable-sozip <ENABLE-SOZIP>                                Whether to automatically/systematically/never apply the SOZIP optimization. ENABLE-SOZIP=auto|yes|no (default: auto)
  --sozip-chunk-size <value in bytes or with K/M suffix>       Chunk size for a seek-optimized file (default: 32768)
  --sozip-min-file-size <value in bytes or with K/M/G suffix>  Minimum file size to decide if a file should be seek-optimized (default: 1 MB)
```

### Options

- **-i, --input \<INPUT\>**

  Input ZIP filename. Required.

- **-o, --output \<OUTPUT\>**

  Output ZIP filename. Required. Must have a **.zip** extension

- **--overwrite**

  Whether overwriting existing output is allowed.

- **--enable-sozip auto\|yes\|no**

  In **auto** mode, a file is seek-optimized only if its size is above the value of *--sozip-chunk-size*. In **yes** mode, all input files will be seek-optimized. In **no** mode, no input files will be seek-optimized.

- **--sozip-chunk-size \<value\>**

  Chunk size for a seek-optimized file. Defaults to 32768 bytes. The value is specified in bytes, or K and M suffix can be respectively used to specify a value in kilo-bytes or mega-bytes.

- **--sozip-min-file-size \<value\>**

  Minimum file size to decide if a file should be seek-optimized, in --enable-sozip=auto mode. Defaults to 1 MB byte. The value is specified in bytes, or K, M or G suffix can be respectively used to specify a value in kilo-bytes, mega-bytes or giga-bytes.

- **-q, --quiet**

  Do not output any informative message (only errors).

### Multithreading

The *GDAL\_NUM\_THREADS* configuration option can be set to **ALL\_CPUS** or a integer value to specify the number of threads to use for SOZip-compressed files. Defaults to **ALL\_CPUS**.

### Examples

### Example 3: Create a, potentially seek-optimized, ZIP file sozip\_optimized.zip from an existing ZIP file in.zip.

```
gdal vsi sozip optimize in.zip sozip_optimized.zip
```

## GDAL VSI SOZIP LIST

### Description

List the files contained in the zip file in an output similar to Info-ZIP **unzip** utility, but with the addition of a column indicating whether each file is seek-optimized.

### Synopsis

```
Usage: gdal vsi sozip list [OPTIONS] <INPUT>
List content of a ZIP file, with SOZIP related information.
Positional arguments:
  -i, --input <INPUT>     Input ZIP filename [required]
Common Options:
  -h, --help              Display help message and exit
  --json-usage            Display usage as JSON document and exit
  --config <KEY>=<VALUE>  Configuration option [may be repeated]
```

### Options

- **-i, --input \<INPUT\>**

  Input ZIP filename. Required.

### Examples

### Example 4: List contents of my.zip.

```
gdal vsi sozip list my.zip
```

## GDAL VSI SOZIP VALIDATE

### Description

Validates a SOZip file. Baseline ZIP validation is done in a light way, limited to being able to browse through ZIP records with the InfoZIP-based ZIP reader used by GDAL. But validation of the SOZip-specific aspects is done more thoroughly.

### Synopsis

```
Usage: gdal vsi sozip list [OPTIONS] <INPUT>
List content of a ZIP file, with SOZIP related information.
Positional arguments:
  -i, --input <INPUT>     Input ZIP filename [required]
Common Options:
  -h, --help              Display help message and exit
  --json-usage            Display usage as JSON document and exit
  --config <KEY>=<VALUE>  Configuration option [may be repeated]
```

### Options

- **-i, --input \<INPUT\>**

  Input ZIP filename. Required.

- **-q, --quiet**

  Do not output any informative message (only errors).

- **-v, --verbose**

  Turn on verbose mode.

## RETURN STATUS CODE

The program returns status code 0 in case of success, and non-zero in case of error (non-blocking errors emitted as warnings are considered as a successful execution).

### Examples

### Example 5: Validate my.zip.

```
gdal vsi sozip validate my.zip
```

## AUTHOR

Even Rouault \<even.rouault@spatialys.com\>

## COPYRIGHT

1998-2026
