How to extract a zip file
Extracting a zip means decompressing each entry and writing it back out as real files and folders on your disk. A .zip is a compressed container: it holds many files, shrunk to save space, inside one file. Extraction reverses that — it recreates the original folder structure, with every file restored to its normal, usable size. Until you extract, you have one archive; after, you have the actual files you can open, edit, and run.
This is different from just opening or browsing a zip. On most systems you can peek inside a .zip without extracting (Windows treats it like a folder, and a browser-based viewer can list and preview entries), but the files are not really "there" in usable form until you extract them. Extraction is the step that puts them on disk for keeps. Below are the platform-specific ways to do it, plus how to handle the common errors.
Windows: Extract All
Windows has zip extraction built in, so for an ordinary .zip you do not need any extra software. The quickest path is the right-click menu.
If you only want one or two files, skip a full extraction: double-click the zip to open it like a folder, select the files you want, and drag them out to a normal folder or your desktop. Windows copies those entries out and decompresses them on the fly. This is convenient, but for a whole archive the Extract All route is cleaner because it recreates the folder structure in one step.
- Right-click the .zip file in File Explorer.
- Choose Extract All... from the context menu.
- Pick a destination folder. Windows suggests a subfolder named after the archive, next to where the zip sits; that default is usually fine, or click Browse... to choose elsewhere.
- Click Extract. Windows creates the folder structure and decompresses every entry. Leave Show extracted files when complete checked to jump straight to the result.
- To drag files out instead: double-click the zip to open it, select entries, and drag them to another folder.
macOS: double-click with Archive Utility
On a Mac, extraction is even simpler: double-click the .zip in Finder and the built-in Archive Utility does the rest. It creates a new folder next to the archive — named after the zip — and writes the contents into it, recreating the original structure. The extraction usually finishes in a few seconds for normal archives.
If the zip contains a single file rather than a folder of files, Archive Utility decompresses straight to that file instead of wrapping it in a folder. You can also right-click the zip and choose Open With > Archive Utility to be explicit. Archive Utility handles .zip and a few other formats; for .7z, .rar, .tar.gz, or more control (passwords, split archives), reach for Keka instead.
- Double-click the .zip in Finder.
- Archive Utility creates a folder next to the archive with the same name and writes the contents into it.
- For a single-file zip, it decompresses directly to that file.
- To open .7z, .rar, or .tar.gz, or to set a destination and handle passwords, install Keka and use Open With > Keka.
Linux and the command line: unzip
On Linux (and macOS, where unzip is pre-installed) the standard tool is the unzip command. It is fast, scriptable, and works over SSH. If your distribution does not have it, install it with your package manager — for example sudo apt install unzip on Debian/Ubuntu.
By default unzip archive.zip extracts into the current working directory, so cd into the folder where you want the files first, or use the -d flag to name a destination. If you only want some files, name them explicitly and only those entries come out.
unzip archive.zip— extracts every entry into the current directory.unzip archive.zip -d dest_folder— extracts intodest_folder, creating it if needed (this is the safest habit, so files do not scatter into whatever directory you happen to be in).unzip archive.zip path/to/file.txt— extracts only the named entry or entries.unzip -l archive.zip— lists the contents without extracting, useful to confirm what is inside first.- On Windows with no love for the terminal:
tar -xf archive.zipworks (the bundled tar handles zip on Windows 10 and later), or install 7-Zip for a GUI.
More control with 7-Zip and Keka
The OS built-ins are fine for plain .zip, but they stop at the common formats and offer little control. Two tools cover the rest.
7-Zip is free, open source, and the workhorse on Windows (a Linux port exists too, and p7zip provides the command-line version on Linux and macOS). It handles .zip, .7z, .rar, .tar.gz, and many more, and its right-click integration lets you extract to a chosen folder, test an archive for integrity, or extract only selected entries. Keka is the equivalent on macOS — a paid-but-inexpensive app that opens .7z, .rar, .tar.gz, split archives, and password-protected files that Archive Utility will refuse.
- 7-Zip (Windows, free): right-click any archive > 7-Zip > Extract to "folder\" for a clean one-folder-per-archive extraction, or Extract Here to drop the files into the current folder.
- 7-Zip can Test archive to verify CRC integrity before you trust an extraction — handy for files that may have downloaded badly.
- p7zip (Linux/macOS, command line):
7z x archive.zipextracts with full paths;7z x archive.zip -odest_foldersets a destination. - Keka (macOS): set it as the default archive app, then double-clicking .7z, .rar, and other formats Just Works, with password and split-archive support.
Edge cases and common errors
A few situations trip people up, and most have a specific cause and fix.
First, the errors that mean the file itself is bad. A CRC mismatch or CRC failed message means a file inside failed its integrity check — the archive is corrupted, almost always from an interrupted download. Re-download it. An end of central directory signature not found error means the file is not a valid zip at all, or it was truncated — either it is a different format (try opening it in 7-Zip, which will identify the real type) or the download was cut short.
A password situation deserves a careful note. Windows Explorer and macOS Archive Utility only understand the old, weak ZipCrypto encryption — so they can open a ZipCrypto-protected zip if you have the password, but they will fail (or endlessly reject your password) on a zip encrypted with the modern, strong AES-256 method that 7-Zip, WinRAR, and WinZip use. If Windows or macOS keeps telling you the password is wrong even though you are sure it is right, the archive is almost certainly AES-encrypted; open it in 7-Zip or Keka instead. And if you genuinely do not have the password, there is no way around it — an honest tool cannot bypass encryption.
- Nested folders are recreated automatically on every platform — extracting
src/index.jsproduces asrcfolder containingindex.js. You do not need to create the folders yourself. - Very large archives: extract to a drive with enough free space, since the extracted size is larger than the compressed size (sometimes far larger — a zip bomb expands by many orders of magnitude). Watch disk space on the destination.
- Extract only some files: in Windows drag the chosen entries out of the open zip; on macOS the same drag works once expanded in Finder; on the command line name the entries after the archive (
unzip archive.zip path/to/one.txt). - CRC mismatch / CRC failed: corruption — re-download the archive.
end of central directory signature not found: not a zip, or a truncated download — re-download, or open in 7-Zip to identify the real format.- Password required / wrong password: the archive is encrypted. If Windows or macOS rejects a password you know is correct, it is AES-256 encrypted — use 7-Zip or Keka. Without the password, it cannot be opened.
- Garbled filenames (common with zips made on one OS and opened on another): 7-Zip lets you pick the code page during extraction; on Linux, the
-Oflag tounzip(a Debian/Ubuntu patch) sets a charset.
Privacy: extracting writes files to disk
Extraction, by definition, writes the archive's contents onto the disk you extract to. That is usually fine on your own machine, but it matters in two situations. On a shared, loaner, or managed computer, the extracted files stay on that disk after you leave — recoverable by the next user or by IT. And for a sensitive or untrusted archive, you have now put real files on disk before you have decided whether you trust them.
If your goal is to merely look at what is inside without writing anything, extract nothing and preview instead. A no-upload, in-browser viewer like ZipTool parses the archive entirely in your browser tab — nothing is uploaded to a server, and nothing is written to your disk. You get the file tree and can preview code, images, audio, video, and PDFs, then decide whether to extract by other means. See viewing the contents of a zip without extracting, unzipping online without uploading, and the private zip viewer for that workflow.
One honesty caveat: client-side viewing is a privacy improvement (your data is not uploaded), not a safety guarantee. A malicious archive is still malicious, and a file you later extract and run can still be malware. Previewing reduces risk; it does not make an untrusted file harmless.
Frequently asked questions
How do I extract a zip file?
On Windows, right-click the .zip and choose Extract All, then pick a destination folder. On macOS, double-click the .zip and Archive Utility creates a folder next to it with the contents. On Linux, run unzip archive.zip to extract into the current directory, or unzip archive.zip -d dest_folder to extract into a named folder. Extraction decompresses every entry and writes it to disk as real files.
How do I unzip a file on Windows?
Windows has zip support built in. Right-click the .zip in File Explorer, select Extract All, choose where you want the files, and click Extract. Windows recreates the folder structure on disk. For only some files, double-click the zip to open it like a folder and drag the entries you want to another folder. For non-zip formats or more control, install 7-Zip.
How do I unzip a file on a Mac?
Double-click the .zip in Finder. The built-in Archive Utility decompresses it and creates a folder with the same name next to the archive, containing the original files and folders. If the zip held a single file it decompresses to that file instead. For .7z, .rar, .tar.gz, split archives, or password-protected files, install Keka and open the archive with it.
How do I extract only some files from a zip?
On Windows, double-click the zip to open it, select the entries you want, and drag them to another folder. On macOS, do the same drag from the expanded view in Finder. On the command line, name the entries explicitly: unzip archive.zip path/to/file.txt extracts only that file. Naming a folder path extracts everything under it.
What does 'extract' mean versus 'open'?
Open means looking inside the archive without changing your disk — Windows can browse a .zip like a folder, and a viewer can list and preview entries. Extract means decompressing the entries and writing them out as real files and folders on disk that you can then edit, run, or share. Opening is read-only inspection; extraction is the step that puts the files on disk for keeps.
Why am I getting a CRC or 'end of central directory' error?
A CRC mismatch means a file inside failed its integrity check — the archive is corrupted, usually from an interrupted download, so re-download it. 'End of central directory signature not found' means the file is not a valid zip or was truncated; re-download it, or open it in 7-Zip, which will often identify the real format. If Windows or macOS keeps rejecting a password you know is correct, the zip is AES-256 encrypted; open it in 7-Zip or Keka instead.