Il formato file Mach-O (Mach Object) è un formato di file utilizzato da macOS, iOS, watchOS e tvOS per eseguibili, codice oggetto, librerie condivise, codice caricato dinamicamente e core dump. Esso rappresenta una sostituzione per il più vecchio formato "a.out" derivato da NeXT/SunOS. Mach-O è un formato flessibile ed estensibile che supporta architetture multiple e tipi di oggetto all'interno di un singolo file. Questo permette l'esistenza di "fat binaries" (binari grassi) che possono essere eseguiti su diverse architetture di processore senza modifiche. Il formato è strutturato in un'intestazione (header), comandi di caricamento (load commands) e sezioni di dati (data sections). L'intestazione contiene informazioni sul tipo di file, l'architettura e il numero di comandi di caricamento. I comandi di caricamento specificano come il sistema operativo deve caricare e collegare (linkare) il file, includendo informazioni su segmenti, sezioni, simboli e librerie dinamiche. Le sezioni di dati contengono il codice effettivo e i dati del programma. I file Mach-O sono essenziali per l'esecuzione di applicazioni e software di sistema sulle piattaforme Apple.