Archive format

CPIO converter

A .cpio file is a Unix archive of the same vintage as TAR, built from a header-then-data record for each file with no compression and no index. It survives mainly because two things still depend on it: RPM packages and Linux initramfs images.

Private for supported formats — processed in your browser

Convert supported files

Runs on your device

Drop CPIO files here

Batch files can each use a different output. Nothing uploads for local conversions.

Working inputs include camera RAW, browser-local audio/video, PDF, CBZ/CBR comics, office documents, ebooks, markup, 3D models, structured text, images, and archives.

Where CPIO comes from

cpio appeared in PWB/UNIX in 1977, two years before tar, and the two competed for a decade. POSIX.1-1988 standardised the ASCII variants; TAR won general use, but cpio kept two important niches. RPM chose it as its payload container in 1997, and the Linux kernel adopted it for initramfs because a cpio archive can be decoded by a very small amount of early-boot code. Several incompatible header formats accumulated along the way, which is cpio's main practical difficulty.

How CPIO works

  • The "new ASCII" format (magic 070701) is the modern one: a 110-byte header of hexadecimal ASCII fields, then the filename, then the data, each padded to a four-byte boundary.
  • Older variants include the binary format, the portable ASCII format (070707) with octal fields, and the CRC format (070702) — they are not interchangeable, and the magic is the only reliable way to tell them apart.
  • The archive ends with an entry named TRAILER!!! of zero length, which is the only end marker there is.
  • Names are stored with their length, so paths are not limited to a fixed field as they are in classic TAR.
  • Hard links are represented by repeated inode numbers, which a naive extractor turns into duplicated content.

When to use CPIO

  • Extracting the payload of an RPM package
  • Inspecting or repacking a Linux initramfs image
  • Reading archives from legacy Unix backup tooling
  • Converting a cpio archive to ZIP or TAR for tools that do not read it

Strengths and limitations

Strengths

  • Simple enough to decode in very constrained environments, which is why initramfs uses it
  • Filenames carry their own length rather than sitting in a fixed-width field
  • Still actively produced, so it is a live format rather than a historical one

Limitations

  • Several mutually incompatible header formats share the extension
  • No compression and no index — everything is sequential
  • The command-line interface reads a file list on standard input, which is why almost nobody uses it directly any more

Compatibility

GNU cpio, bsdtar, 7-Zip and libarchive-based tools all read it. Novus Convert opens .cpio archives in the browser and writes ZIP, TAR or TAR.GZ; members are listed and copied only, never executed, and an entry whose path escapes the archive root is rejected rather than written.

Mode, ownership and timestamps are present in the headers and are read; ZIP output keeps paths and sizes, which are the parts it can represent.