I have a large zip file and a limited amount of disk space. Can I determine how much space the expanded contents will take without decompressing the file?
Asked
Active
Viewed 7.8k times
67
2 Answers
75
You can do that by using the 'unzip' command with the "list" flag:
unzip -l yourzipfile.zip
That will output a listing of every file in the zip along with its size in bytes, and the final line will be the total decompressed size in bytes.

ImaginaryRobots
- 9,136
-
5If we know that the archive contains a huge number of files, we can prevent a long output by using
tail
to only display the last 10 lines (or with-n
you can specify the number of lines). Example:unzip -l yourzipfile.zip | tail -n 15
– Byte Commander Nov 10 '15 at 17:12 -
7This command will return the size in bytes directly:
unzip -l yourzipfile.zip | tail -1 | xargs | cut -d' ' -f1
. And this will return the size in Megabytes:bc<<<"$(unzip -l yourzipfile.zip | tail -1 | xargs | cut -d' ' -f1)/1000/1000"
. – pLumo Jul 07 '17 at 10:39 -
1And then add
numfmt
to get a nicely formated number :)unzip -l file.zip | tail -1 | xargs | cut -d' ' -f1 | numfmt --to=iec-i --suffix=B
– xeruf Dec 13 '21 at 12:06
18
When you open a ZIP-file with the archive manager, it tells you the size of the contained files.
If you want to know how much all or some contained files are, just mark them (to mark all files: CTRL+A) and take a look at the bar on the bottom.

serve.chilled
- 505
-
2Not so great. Maybe this archive manager does great, but I opened a 18 GB zip of some 120k JPEGs (MS COCO dataset, val2017.zip, IYKWIM), and the GUI manager was opening it forever, I killed it after a minute or two.
unzip -l train2017.zip | tail
works in 0.8 seconds. – Tomasz Gandor Jul 23 '21 at 21:41
7za l <your-7zip-file>
. The fourth column is the uncompressed size. – galath Dec 04 '17 at 06:56