In informatica, la compressione solida (in inglese solid compression) designa un metodo di compressione dei dati applicato a file multipli, nel quale tutti i file vengono concatenati e trattati come un unico blocco di dati, compresso in un'unica operazione. Il file che ne risulta è detto archivio solido (dall'inglese solid archive), o anche archivio progressivo. Il termine deriva dal fatto che i dati sono compressi come un unico blocco solido anziché come file individuali.
La compressione solida è impiegata nativamente dai formati 7z e RAR, in entrambi i casi come alternativa facoltativa alla compressione ordinaria, nonché indirettamente dai formati basati su tar come .tar.gz e .tar.bz2. Per converso il formato ZIP non è solido, in quanto memorizza i file compressi separatamente.
I formati di file compressi combinano di norma due funzioni distinte: la compressione, cioè la memorizzazione dei dati in uno spazio ridotto, e l'archiviazione, cioè la memorizzazione di più file e dei relativi metadati in un unico file. Le due operazioni possono essere combinate in due ordini diversi:
L'ordine è rilevante, in quanto le due operazioni non commutano.
Nei sistemi operativi Unix archiviazione e compressione sono tradizionalmente affidate a strumenti separati, il che rende evidente la distinzione: archiviare con tar file già compressi singolarmente con gzip è una pratica molto rara, mentre archiviare con tar e comprimere solo in un secondo momento l'archivio così ottenuto produce un file .tar.gz, cioè un archivio solido, in cui l'archiviazione è affidata al software tar e la compressione all'algoritmo gzip.
Un archivio solido presenta normalmente un rapporto di compressione più elevato rispetto a un analogo archivio non solido. Il vantaggio è tanto più marcato quanto più i file archiviati sono simili tra loro, circostanza frequente quando appartengono allo stesso formato, ed è particolarmente evidente quando l'archivio contiene un numero elevato di file di piccole dimensioni.
A fronte della maggiore efficienza di compressione, gli archivi solidi presentano due inconvenienti: