What is the ARJ file format?
.arj is a compressed archive format developed in 1991 by Robert K. Jung. ARJ is an acronym for "Archived by Robert Jung" and is also the name of the command-line tool that created and extracted these archives. It is rarely used for new work these days, as formats like ZIP, RAR, and 7z have become far more popular, but .arj files remain common in legacy software collections and BBS archives.
ARJ was hugely popular on dial-up bulletin board systems (BBSes) during the early-to-mid 1990s, thanks to solid compression ratios and robust multi-volume spanning - letting large archives be split across multiple floppy disks as .arj, .a01, .a02, and so on.
The format was developed for DOS and later ported to Windows as ARJ32, which added support for long filenames. The DOS version was constrained by the 8.3 naming convention, where base names could be at most 8 characters and extensions 3 characters. ARJ32 continued to receive updates well beyond Windows XP.
ARJ supports several compression methods - from stored (uncompressed) through LZ77+Huffman variants - optional password protection, self-extracting archives (.exe), and CRC-32 integrity verification per file.
Security & safety
RISK: MEDIUMThe ARJ format itself is benign, but like any archive it can hide malware until extracted - and ARJ archives are common in abandonware/DOS collections of unknown provenance, so scan contents before running anything. Two specific cautions: (1) ARJ self-extracting archives are .exe files that run code by design - only open SFX from trusted sources; (2) ARJ's "garble" password is weak legacy scrambling, NOT real encryption - never rely on it to protect sensitive data.
Format details
in a nutshellPrograms that open ARJ files
Technical details
deep spec| Magic bytes | 0x60 0xEA at offset 0 - every archive and each per-file header begins with this 2-byte marker, followed by a 2-byte little-endian header size |
| Byte order | Little-endian throughout |
| File encoding | Binary |
| Compression methods | Method 0 = stored (no compression); methods 1-4 use LZ77 combined with Huffman coding variants of increasing aggressiveness |
| Password protection | Optional garble scrambling - legacy XOR-style cipher applied to file data; not equivalent to modern cryptographic encryption |
| MIME type | application/x-arj (also registered as application/arj) |
| Multi-volume spanning | Large archives split across sequentially named parts: .arj, .a01, .a02 … - originally designed for floppy-disk distribution |
| Integrity verification | CRC-32 checksum stored per file in the local header; verified automatically on extraction |
| Filename support | DOS version limited to 8.3 names (8-character base + 3-character extension); ARJ32 for Windows supports long filenames |
| Self-extracting archives | Supported via ARJ-SFX; produces a standalone .exe that decompresses without requiring a separate archiver |
| Archive structure | Main archive header → sequence of per-file local headers with compressed data blocks → end-of-archive marker |
| Header version fields | Each header stores the archiver version and minimum required extractor version; ARJ 2.x (DOS) and ARJ32 3.x (Windows) |
| Maximum member size | Up to 4 GB per individual file entry under ARJ32; earlier DOS versions constrained by FAT file-system limits |
| Associated platforms | MS-DOS (native origin), Windows via ARJ32, Linux/Unix via unarj or 7-Zip, macOS via The Unarchiver |
| Recovery and chapter archives | Supports recovery records for damaged-archive repair and chapter-mode archives for incremental backup-style extraction |
| Released | 1991 (ARJ for MS-DOS) |
| Latest version | ARJ 2.90 (MS-DOS) and ARJ32 3.31 (Windows), updated November 3, 2025 |
| Specification | github.com |
ARJ conversions
Community Q&A
asked by usersNo questions yet - be the first to ask about ARJ files.