Acquire / archive · All operations

Unpack an archive

Decompress or unpack zip, tar, gzip.

Status

In arcform

Not built yet

arcform does not do this yet. Its place on the roadmap

arcform has archive_extract for zip archives.

Shape of the result
a new table, from no input table
Level
needs an arcform operator

Variants

Compress files into an archive

Pack files or content into a zip, tar or gzip archive, or recompress it with another algorithm.

Extract email attachments

Split the attachments or MIME parts of an email into separate files.

Process each file in an archive

Run a set of steps once for each member of an archive.

Extract the files in an archive

Decompress a zip, tar or gzip archive and hand on each member as a file or item of its own.

What other tools call it

Meridian's classification; an independent blind rating agreed on 86.2% of 312 rows (exact class, version 2).

Apache Hop (1)
  • Unzip fileread 2026-09-27

    Extract ZIP archives to a target folder, by wildcard

Apache NiFi (5)
  • CompressContentread 2026-09-27

    Compress or decompress content with a user-chosen algorithm

  • Split the attachments of a MIME email into separate FlowFiles

  • ModifyCompressionread 2026-09-27

    Decompress content and recompress it with a different algorithm

  • PackageFlowFileread 2026-09-27

    Package FlowFile attributes and content into a file that NiFi can export and re-import

  • UnpackContentread 2026-09-27

    Unpack TAR, ZIP or FlowFile-stream packages into one FlowFile per entry

Duckle (1)
  • Extract Archiveread 2026-09-25

    unpack ZIP, TAR or GZIP archives into one artifact per member

KNIME Analytics Platform (3)
RapidMiner Studio (3)
  • Extract the files of a compressed archive and run a subprocess on each

  • Loop Zip-File Entriesread 2026-09-27

    Iterate over the entries of a zip file, handing each to a subprocess as a file

  • Un-gzipread 2026-09-27

    Decompress a gzip file

Talend (1)
  • tFileUnarchiveread 2026-09-27

    Unpack a tar.gz, tgz, tar, gz or zip archive

VisiData (8)
  • extract-fileread 2026-09-23

    Extract current file from a zip archive to the current directory

  • extract-file-toread 2026-09-23

    Extract current file from a zip archive to a given path

  • extract-partread 2026-09-23

    Save current MIME part of an email to a file

  • extract-part-selectedread 2026-09-23

    Save selected MIME parts of an email to a directory

  • extract-selectedread 2026-09-23

    Extract selected files from a zip archive to the current directory

  • extract-selected-toread 2026-09-23

    Extract selected files from a zip archive to a given directory

  • tar (loader)read 2026-09-23

    Load tar archive as an index of its files; also filetype tbz2, tgz, txz

  • zip (loader)read 2026-09-23

    Load zip archive as an index of its files; also filetype whl

Background

An archive file stores the content of one or more files, possibly compressed or encrypted, with metadata such as file names and directory structure.[1] A ZIP file may contain one or more files or directories, each of which may have been compressed.[2] The gzip program uses the Deflate algorithm to compress and decompress a single file.[3] A tar archive holds its files' bytes uncompressed, and a file such as archive.tar.gz is a tar archive compressed whole by gzip.[4]

When to use it

DuckDB's zipfs community extension reads files from within zip files and other archives, through a path such as zip://my_zip.zip/my_file.csv.[5]

Files extracted from a tar archive that uses absolute paths or parent-directory references are often created outside the working directory and can overwrite existing files.[4] Modern versions of FreeBSD and GNU tar do not create or extract absolute paths and parent-directory references by default, unless the -P flag or the --absolute-names option allows them.[4] In Python's zipfile module, extracting an archive can create files outside the target path, for example from members with absolute filenames or filenames with .. components.[6] A tarbomb is a tar archive, often called a tarball, whose many items are written into the current directory or another existing directory instead of a directory made for them.[4]

A zip bomb, also known as a decompression bomb, is a malicious archive file designed to crash or freeze the program or system reading it.[7] In Python's zipfile module, a decompression bomb can exhaust disk volume during extraction.[6] In Python's zipfile module, extracting the same archive twice overwrites files without asking.[6] The checks suggested for untrusted files in Python's tarfile module include extracting to a new temporary directory and limiting the number of extracted files and the total size of extracted data.[8] Unpack an archive from a source you do not control into a new, empty directory, with limits on how much it may write, and treat the archive's paths as data to check rather than instructions to follow. (Meridian's view)

The method

The ZIP format was created in 1989 and first implemented in the PKZIP utility of PKWARE, Inc., as a replacement for the earlier ARC compression format.[2] ZIP lets each file be compressed with a different method or stored without compression, and the most commonly used method is DEFLATE.[2] A ZIP file places a directory at its end that identifies which files the archive holds and where in the file each one is located.[2] The ZIP format checks entries with CRC-32, a cyclic redundancy check, and keeps two copies of each entry's metadata to protect against data loss.[2][1]

The tar program was first developed for magnetic tape storage, and its name is short for tape archive.[4] The tar command was introduced to Unix in January 1979.[4] A tar archive is a series of file objects, each preceded by a 512-byte header record that holds metadata about the file.[4] The BSD and GNU versions of tar accept a z option that decompresses a gzip-compressed archive while unpacking it.[4]

Jean-Loup Gailly designed the gzip file format and originally wrote the gzip program.[3] The gzip program was released in 1992 as a free software replacement for the compress program, whose compression algorithm was covered by patents.[3] Compressed archives are typically made by collecting files into a single tar archive and then compressing that archive with gzip.[3]

Compared with the alternatives

Because the files in a ZIP archive are compressed individually, one can be extracted without decompressing the entire archive, which a compressed tar file does not easily allow.[2] A ZIP file is less compact than a compressed tarball holding the same data, because ZIP compresses files individually and cannot take advantage of redundancy between files.[3] Choose a ZIP file when readers will want one member at a time, and a compressed tarball when the whole set is unpacked together and size matters. (Meridian's view)

Used in

3 Protocols use this operation: