Comparison of executable file formats
This is a comparison of binary executable file formats which, once loaded by a suitable executable loader, can be directly executed by the CPU rather than being interpreted by software. In addition to the binary application code, the executables may contain headers and tables with relocation and fixup information as well as various kinds of meta data. Among those formats listed, the ones in most common use are PE, ELF, Mach-O and MZ.
Format name | Operating system | Filename extension | Explicit processor declarations | Arbitrary sections | Metadata | Digital signature | String table | Symbol table | 64-bit | Fat binaries | Can contain icon |
OS/360 | OS/360 and successors, and VS/9, mainframe operating systems | none | |||||||||
GOFF | IBM MVS and z/OS mainframe operating systems | none | |||||||||
a.out | Unix-like | none | |||||||||
COFF | Unix-like | none | by file | ||||||||
ECOFF | Ultrix, Tru64 UNIX, IRIX | none | by file | ||||||||
XCOFF | IBM AIX, BeOS, "classic" Mac OS | none | by file | ||||||||
ELF | Unix-like, OpenVMS, BeOS from R4 onwards, Haiku | none | by file | ||||||||
Mach-O | NeXTSTEP, macOS, iOS, watchOS, tvOS | none | by section | ||||||||
SOM | HP-UX, MPE/ix | ||||||||||
Amiga Hunk | AmigaOS | none | |||||||||
PEF | "classic" Mac OS, BeOS | none | by file | ||||||||
CMD | CP/M-86, MP/M-86, Concurrent CP/M-86, Personal CP/M-86, S5-DOS, Concurrent DOS, Concurrent DOS 286, FlexOS, S5-DOS/ST, S5-DOS/MT, Concurrent DOS 386, Multiuser DOS, System Manager, REAL/32, DOS Plus | .CMD | |||||||||
FlexOS 186 | FlexOS 186, FlexOS 286, S5-DOS/ST, S5-DOS/MT, 4680 OS, FlexOS 386, 4690 OS | .186 | |||||||||
FlexOS 286 | FlexOS 286, S5-DOS/ST, S5-DOS/MT, 4680 OS, FlexOS 386, 4690 OS | .286 | |||||||||
CP/M-68K | CP/M-68K, Concurrent DOS 68K, FlexOS 68K | .68K | |||||||||
COM | CP/M, MP/M, Concurrent CP/M, Personal CP/M | .COM | |||||||||
COM | DOS, OS/2, Windows, Concurrent CP/M-86, Concurrent DOS, Concurrent DOS 286, FlexOS, Concurrent DOS 386, Multiuser DOS, System Manager, REAL/32, DOS Plus | .COM | |||||||||
MZ | DOS, OS/2, Windows, Concurrent DOS 286, FlexOS, Concurrent DOS 386, Multiuser DOS, System Manager, REAL/32, DOS Plus | .EXE | |||||||||
MZ | GEM, ViewMAX | .APP/.ACC | |||||||||
NE | MS-DOS 4.0, OS/2, Windows, HX DOS Extender | .EXE | |||||||||
LE, | OS/2, some DOS extenders | .EXE | by file | ||||||||
LX | OS/2, some 32-bit DOS extenders | .EXE | by file | ||||||||
PE | Windows, ReactOS, HX DOS Extender, BeOS | .EXE | by file | ||||||||
PE32+ | Windows | .EXE | by file | ||||||||
PIM/XIP | PalmDOS | .PIM/.XIP | |||||||||
DL | MS-DOS System Manager applications | .EXM | |||||||||
MP | Phar Lap DOS extenders | .EXP | |||||||||
P2 | Phar Lap 16-bit DOS extenders | .EXP | |||||||||
P3 | Phar Lap 32-bit DOS extenders | .EXP | |||||||||
GEOS | PC/GEOS, Geoworks Ensemble, NewDeal Office, Breadbox Ensemble | .GEO |