ARC File Documentation
Summary
An ARC Compressed Archive is a bundle of files squeezed into one container, in a format created in 1985 by System Enhancement Associates (SEA) for the bulletin-board era. Its extension is .arc and its MIME type is application/x-arc. Extract it free with PeaZip or IZArc on Windows, or The Unarchiver on Mac; 7-Zip does not reliably open classic .arc. The same extension is reused by unrelated formats, so if it will not open, check where the file came from.
Technical details
| Feature | Value |
|---|---|
| Full name | ARC Compressed Archive (SEA ARC) |
| File extension | .arc |
| MIME type | application/x-arc |
| Format type | Legacy lossless compressed archive (binary container) |
| Developer | System Enhancement Associates (SEA) |
| Introduced | 1985 (BBS-era archiver) |
| Historical role | Direct ancestor of ZIP |
| Compression methods | Stored, packed (RLE), squeezed (Huffman), crunched/squashed (LZW) |
| Byte order | Little-endian (MS-DOS) |
| Archive marker | 1A introduces the archive and each member |
| Member header | 29 bytes: method, 13-char name, sizes, DOS date, 16-bit CRC |
| End-of-archive | 1A 00 |
| Integrity check | 16-bit CRC per member |
| Open standard | Partial — documented by reverse engineering; format obsolete |
| Extract with | PeaZip, IZArc (Windows); The Unarchiver, Keka (Mac); nomarch (Linux) |
| 7-Zip support | No — does not reliably open classic ARC |
| Related extensions | .zip, .arj, .lzh, .lha, .7z |
| Reference | fileformats.archiveteam.org/wiki/ARC_(compression_format) |
What is an ARC file?
ARC is one of the oldest archive formats in computing. It was created in 1985 by System Enhancement Associates (SEA) and became hugely popular on dial-up bulletin board systems (BBS), because it combined compression and multi-file archiving in a single tool at a time when those were separate steps. An .arc file is a container: it bundles several files into one and compresses them, so a whole set of programs or documents could be downloaded as a single, smaller file over a slow modem.
The classic ARC is lossless but uses dated compression methods, and the format is effectively obsolete today. You mostly meet a real .arc when handling old software archives, BBS downloads, or retro-computing material, so the practical question is almost never “how do I create an ARC” but “how do I extract this old one I was given”. ARC also has a place in history as a direct ancestor of ZIP: the ZIP format was created partly in response to a well-known legal dispute between SEA and PKWARE over ARC in the late 1980s.
The archive layout: members and the end marker
An ARC file has a simple, flat structure with no central index. It is a sequence of zero or more archive members (one per stored file) laid end to end, followed by an end-of-archive marker. There is no separate directory at the start or the end; a reader walks the file member by member, and to list the contents it must read every header in turn.
[ member 1 : header + compressed data ]
[ member 2 : header + compressed data ]
...
[ member N : header + compressed data ]
1A 00 <- end-of-archive marker
Each member begins with the byte 0x1A, the same value that marks the very start of the archive. The archive ends when a reader encounters 0x1A followed by a method byte of 0x00: since zero is never a valid compression method, that pair unambiguously signals the end. This design means an ARC can be read in one forward pass, but it cannot be indexed or seeked the way a ZIP central directory allows.
The per-member header, field by field
Every member starts with a fixed 29-byte header describing the file that follows. After the 0x1A marker, the fields are, in order:
| Offset | Size | Field |
|---|---|---|
0x00 | 1 | Archive marker 0x1A |
0x01 | 1 | Compression method (1–9) |
0x02 | 13 | File name (8.3, null-padded) |
0x0F | 4 | Compressed size (bytes) |
0x13 | 4 | File date and time (MS-DOS format) |
0x17 | 2 | 16-bit CRC checksum |
0x19 | 4 | Original (uncompressed) size |
All multi-byte integers are little-endian, following the MS-DOS platform ARC grew up on. The name is a classic DOS 8.3 name in a 13-byte field. The date and time are packed into the standard MS-DOS format (a bit-field where the year is stored as an offset from 1980). The 16-bit CRC lets an extractor verify a member against corruption, which mattered a great deal when files arrived over noisy phone lines. Immediately after the header comes the member’s compressed data, exactly compressed size bytes long, after which the next member’s 0x1A marker begins.
The compression-method byte
The single method byte at offset 0x01 selects how that member’s data was packed, and different files in the same archive can use different methods. The methods form a rough historical progression as SEA improved the tool:
| Method | Technique |
|---|---|
| Stored | No compression — raw bytes |
| Packed | Run-length encoding of repeated bytes |
| Squeezed | Huffman coding (optionally after packing) |
| Crunched | LZW dictionary compression (several sub-variants) |
| Squashed | Later LZW variant with a larger dictionary |
An extractor reads the method byte, applies the matching decompressor to the following compressed size bytes, and checks the result against the stored CRC and original size. The LZW-based “crunched” and “squashed” methods are the same family of dictionary compression that later formats built on, but the exact bitstream is ARC-specific, which is why a modern tool needs dedicated ARC support rather than a generic inflate.
Extracting a classic .arc
On Windows the free PeaZip has the broadest legacy-ARC coverage — right-click the file and Extract — and IZArc is a long-standing free alternative. On macOS, The Unarchiver and Keka both handle classic ARC. On Linux, the nomarch or classic arc command-line packages unpack SEA-format archives. One common trap is worth stating plainly: 7-Zip does not reliably open classic ARC, despite handling almost everything else, so reach for PeaZip or IZArc instead. There is no reason to keep a fragile old archive in a fading format — the sensible move is to extract it and re-compress the files to ZIP or 7z, which every current OS opens natively. That is an extract-then-repack, not a direct transcode.
Other formats that reuse the .arc extension
The single biggest source of “why won’t my .arc open” confusion is that the extension is heavily overloaded, and these formats are unrelated to the SEA archive:
- FreeArc archive — a high-ratio archiver by Bulat Ziganshin (around 2006). Its files start with the ASCII tag
ArCplus a version byte, not0x1A; development has stopped. It needs the FreeArc tool, not an ARC extractor. - Internet Archive ARC — a web-crawl container that stores many fetched web resources in one file, the text-header predecessor of the WARC format. It needs a WARC/ARC web-archive reader.
- Game data archive — many games (from Capcom, Nintendo tooling and others) ship a proprietary
.arcdata container that only that game’s modding tools understand.
If PeaZip or IZArc reject a file, it is very likely one of these rather than a classic SEA archive; identify it by its first bytes and by where it came from.
Frequently asked questions
How do I open an ARC file?
On Windows use the free PeaZip or IZArc (right-click, Extract). On Mac use The Unarchiver or Keka. Avoid 7-Zip for classic ARC — it does not reliably support the format. PeaZip has the widest legacy-ARC coverage.
Does 7-Zip open ARC files?
Not reliably. 7-Zip does not fully support the legacy SEA ARC format. Use PeaZip or IZArc, which are built to read old ARC archives.
Is ARC the same as ZIP?
ARC is an older ancestor of ZIP — in fact a legal fight over ARC helped bring ZIP into existence. It does the same job of compressing and bundling files, but with dated methods and no central index, and it is obsolete today. Extract it and switch to ZIP or 7z.
References
- Just Solve the File Format Problem — ARC (compression format)
- Wikipedia — ARC (file format)
- PeaZip — free archiver that extracts legacy ARC
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.