Open a .cpio archive on Windows and write its contents wherever you choose. The header layout is worked out from the file itself, so old binary, ODC, new ASCII and CRC archives all open from the same window. No WSL and no command syntax are involved.
Version 26.7 · Windows 11, Windows 10, Windows 8.1, Windows 7 and Windows Server
Every cpio member carries its own header, so the archive is read one entry at a time rather than as a single block.
Inside the archive
What the CPIO file extractor resolves from the member headers, before any entry is written out.
Old binary, ODC, new ASCII and new CRC are each detected from the first bytes of a member. The archive opens the same way whichever variant it was written in, with no flag to set.
Old binary cpio stores its counts in the machine word order that wrote it. The reader reads that order off each header, so an archive from big endian hardware lists correctly on a little endian PC.
Each member header holds the owner UID, group GID, mode and modification time. These are surfaced against the entry so the original permissions are visible before extraction, not applied blind afterwards.
A cpio member can be a symlink, a hard link, a device node or a FIFO. Each is reported by its true type in the listing rather than collapsed into an ordinary empty file.
Each member is self describing, with its own header ahead of its data. An archive cut short still reads member by member up to the break, and every entry is flagged by whether its data survived.
The .cpio file is opened read only and released unchanged. The same archive can be re examined afterwards or handed to someone else and behaves exactly the same.
The header of each member is read once, so a listing of the whole archive is ready before a single file is written out.
Run the Free DemoGetting from an archive Windows does not recognise to the single entry required.
Choose the .cpio wherever it happens to be sitting, on a share, an external disk or a folder pulled off an old server. Nothing is copied anywhere first and the file itself is never opened for writing.
Extensionless archives load the same way, since the name is not what gets checked.
Every member begins with a header. The shape of that header identifies which variant of CPIO the archive uses. Old ASCII, new ASCII, CRC, the HPUX flavours and raw binary in either byte order are all recognised before a single entry is listed. So are the old tar and POSIX.1 tar layouts that a .cpio can legitimately hold.
The cpio command does this too and copes with a different byte order while it is at it. A general archive tool often does not.
Each header is followed by its file data, then the next header, on to the end marker the format uses to close an archive. That pass records the path, size, dates and mode of everything inside, so the archive is only read through once.
If the end marker never arrives, the list still shows what was read before that point.
A payload lifted from a package or a system image can run to tens of thousands of members, most of them irrelevant to whatever sent you here. Type part of a path or a suffix and the list drops to something you can read.
Matching runs against the stored path, which is often the only clue to what a file was for.
Only the ticked entries are written, into the chosen destination. Directories are created as needed and nothing already on the disk is overwritten, which is not how the command line version behaves by default.
The archive itself is opened for reading and nothing else.
Archives written from the root of a filesystem store paths that begin with a slash. The cpio command will happily write those to their absolute locations, whichever directory you run it from. Extraction here always lands inside the folder you named.
GNU cpio has --no-absolute-filenames for exactly this. Running cpio -t first is worth the ten seconds either way.
A filesystem tree with its Unix identity attached, which is more than Windows has anywhere to put.
Each header carries the permission bits, the numeric UID and GID and the modification time. They are shown against every entry, since Windows has no accounts those numbers could map onto.
Symbolic links, hard links and device entries each get a record type of their own. Nothing quietly flattens into an empty file on the way out.
Whatever the archive stored is kept, absolute or relative, deeper than Windows normally allows or in a mix of cases that would collide on this filesystem.
Yes, though not with anything Windows ships. Every route that does work takes something for granted.
File Explorer has never supported CPIO, in any version. Three routes do work. Each quietly assumes something. When the assumption holds they are free and correct. When it does not, the failure is rarely explained.
A general archive tool
Stops on anything older than new ASCII. Then it blames the archive.
A browser based extractor
Many stop in the hundreds of megabytes. Some do the work on their own servers.
The cpio command
Reads everything, then writes absolute paths wherever they point.
The variant is what trips people up. One extension covers eight header layouts that GNU cpio itself lists. They disagree about how to write a number.
Three cost nothing. All three carry the assumptions set out at the top of this page.
| Route | Every variant |
No size limit |
Data stays local |
No shell needed |
|---|---|---|---|---|
| A general archive tool Free Right-click extraction through libarchive, built for common layouts |
||||
| The cpio command Free GNU cpio in WSL or a native Windows port, cpio -idmv < archive.cpio |
||||
| A browser based extractor Free Nothing to install. Some upload, others run in the browser itself |
||||
| CPIO file extractor Demo Identifies the variant, lists it, exports what you tick |
Right-click extraction handles a small archive in the common layout at no cost. WSL provides the reference implementation where a shell is available. Browser tools carry the main limitation. Several cap out around a few hundred megabytes. The ones that decompress server side hand every file in your archive to a machine you have no say over. That leaves the awkward ones, which is what the CPIO extractor tool is for.
Nobody sets out to make one. They turn up inside other things or arrive from systems retired years ago.
An RPM package carries its payload as a CPIO archive. A Linux initramfs or initrd image is CPIO with a compressor wrapped around it. Solaris and AIX both shipped cpio as a standard utility. A generation of shell scripts piped find into cpio because that was the portable way to write a filesystem to tape. HP-UX and other commercial Unixes shipped their own cpio flavours, which is where the vendor header variants came from. The pax utility can read and write CPIO too, though it writes tar unless told otherwise.
The pattern behind all of those is the same. The archive was made by a system nobody runs now, on a machine long since decommissioned. Whoever has to read it is on Windows with no shell to fall back on. The data is intact. The environment that made it ordinary has gone.
There is no reason to reach past Standard for this format.
Professional, $99
Buy it for the enterprise imaging formats. It adds nothing a CPIO archive needs.
Point the CPIO extractor software at your own archive before deciding. It names the variant and lists every member, which is usually enough to tell whether the file you want survived.
Buy Standard Compare all editions
Describes Backup Extractor 26.7. BitRecover has been building data recovery and format conversion tools since 2011.
The extension tells you almost nothing. Eight layouts share it. They cannot agree on how to write a number.
A CPIO archive is a sequential run of member files with almost no padding. Each is a fixed size header, then a filename, then the data, on to an entry named TRAILER!!! that closes the sequence. What differs is how every field in that header is written.
Guess wrong and you get nonsense, an overrun into the next member and a report that the archive is corrupt. The archive is fine.
This is why the same archive opens in one tool and fails in the next. It was written in a layout the second tool never expected, on hardware retired twenty years ago.
What people ask once an archive refuses to open in the tool they reached for first.
No. File Explorer has no CPIO support in any version, including Windows 11. Something else has to read it, whether that is an archive tool, a browser based extractor or the CPIO file extractor.
You do not have to know. The header is read and the variant identified before anything is listed, whether it is old binary, ODC, new ASCII, CRC or an HPUX flavour.
Almost always the variant. A reader built for new ASCII stops dead on an old binary header from a different endian machine. The error rarely says so.
It is worth knowing about. The cpio command writes absolute paths to their absolute locations regardless of where you run it. Export goes only to the folder you choose, so the original path is information rather than an instruction.
Yes. Search the list in the CPIO file extractor, tick the entry and only that entry is written out. The rest of the archive is left alone.
Not on the desktop. Browser based extractors usually cap somewhere around a few hundred megabytes, which rules out most real backups before you start.
Each member header carries the owner, group and mode, and those values are surfaced against the entry in the listing. Windows has no equivalent Unix accounts to bind them to, so they are shown for reference rather than enforced as permissions.
Those payloads are ordinary CPIO archives, so yes once the outer wrapper is off. rpm2cpio is the usual way to get at the one inside a package. An initramfs image is usually CPIO with a compressor around it.
Often. Members sit one after another, so whatever precedes the damage is still readable as a partial listing. You can see where it stopped and how much came out ahead of that point.
Standard at $49. CPIO is an entry tier format alongside TAR, ZIP and BKF, so Professional is not needed for it.
Load your archive, see the variant named and the members listed, then take out what you need.
Version 26.7 · Windows 11, Windows 10, Windows 8.1, Windows 7 and Windows Server · 30 day money back