Files with .gz extension are compressed files created with gzip compression application. It can contain multiple compressed files and is commonly used on UNIX and Linux systems. GZIP was introduced as a free utility for replacing the Compress program used in Unix systems. Such files can be opened and extracted with a several applications such as WinZip which is available on both Windows and MacOS. While the format is similar to .ZIP compression in archiving, it differs in terms of compression applied to the archive instead of individual file.
GZ File Format
Gzip uses the DEFLATE algorithm for compression of archive and differs from the .ZIP archive format in applying the compression algorithm on complete archive rather than individual files. The GZIP file format specifications version 4.3 published by Internet Engineering Task Force (IETF) contains detailed information about the file format. The file format consists of:
The file header consists of 10 bytes as follow:
Magic number identifying file type
Compression Method * 0-7 (Reserved) * 8 (Deflate)
Operating system ID
If set the uncompressed data needs to be treated as text instead of binary data. This flag hints end-of-line conversion for cross-platform text files but does not enforce it.
The file contains a header checksum (CRC-16)
The file contains extra fields
The file contains an original file name string
The file contains comment
FAT filesystem (MS-DOS, OS/2, NT/Win32)
VMS (or OpenVMS)
HPFS filesystem (OS/2, NT)
NTFS filesystem (NT)
The optional extra headers are those as denoted by the file flags and include information such as the original filename, extra fields, comments and header checksum.
This section contains the compressed data using the DEFLATE compression algorithm.
The file footer is 8 bytes in size and contains following information.