UTILS.
100 % dans le navigateur
🗜️

Compression et décompression Gzip / Zlib / Deflate

Compressez ou décompressez du texte avec les formats natifs gzip, zlib (deflate) ou DEFLATE brut dans le navigateur, avec sortie base64/hexadécimal et le taux de compression.

Saisissez des données ci-dessus pour compresser ou décompresser.

À propos de cet outil

L'outil Gzip / Zlib / Deflate compresse et décompresse des données entièrement dans votre navigateur à l'aide des API natives CompressionStream et DecompressionStream. Choisissez le format de conteneur — gzip (le format .gz avec ses octets magiques 0x1F 0x8B), zlib/deflate (les données DEFLATE enveloppées dans un en-tête zlib), ou deflate-raw (DEFLATE nu sans en-tête) — et une direction. La compression prend votre texte UTF-8 et renvoie les octets compressés encodés en base64 ou hexadécimal ; la décompression prend du base64 ou de l'hexadécimal et renvoie le texte d'origine.

Comme il utilise la compression en flux intégrée au navigateur, rien n'est téléversé et aucune bibliothèque externe n'est chargée — vos données restent sur votre appareil. Les trois formats ne sont pas interchangeables : gzip et zlib ajoutent des en-têtes et des sommes de contrôle différents (CRC-32 pour gzip, Adler-32 pour zlib) autour de la même charge utile DEFLATE, tandis que deflate-raw omet les deux, vous devez donc décompresser avec le même format que celui utilisé pour compresser. Après compression, l'outil rapporte la taille d'origine, la taille compressée, et le taux de compression en pourcentage (1 − compressé / original), c'est-à-dire de combien la sortie est plus petite.

Un texte très répétitif se compresse considérablement ; une entrée courte ou déjà compressée peut en fait grossir à cause de la surcharge de l'en-tête et de la somme de contrôle, ce qui est normal. Si votre navigateur n'expose pas CompressionStream, l'outil le signale plutôt que de produire une sortie erronée. Notez que l'API native utilise un niveau de compression par défaut fixe, il n'y a donc pas de sélecteur de niveau. Copiez le résultat d'un seul clic.

Foire aux questions

Quelle est la différence entre gzip, zlib et deflate brut ?
Les trois utilisent l'algorithme DEFLATE. gzip l'enveloppe d'un en-tête de 10 octets, des octets magiques 0x1F 0x8B, et d'un CRC-32 ; zlib (deflate) l'enveloppe d'un en-tête court et d'une somme de contrôle Adler-32 ; deflate-raw n'a ni en-tête ni somme de contrôle. Décompressez avec le même format que celui utilisé pour compresser.
Quelle entrée attend la décompression ?
Collez les données compressées en base64 ou hexadécimal (correspondez au sélecteur d'encodage de sortie). L'outil les décode en octets et les décompresse avec le format choisi. Si les octets sont tronqués ou du mauvais format, il signale que les données n'ont pas pu être décompressées.
Pourquoi mon texte a-t-il grossi après compression ?
gzip et zlib ajoutent des octets d'en-tête et de somme de contrôle, et DEFLATE a besoin de suffisamment de répétition pour trouver des économies. Pour une entrée très courte ou déjà aléatoire/compressée, cette surcharge l'emporte sur tout gain, de sorte que la sortie peut être plus grande — c'est attendu.
Puis-je choisir le niveau de compression ?
Non. L'API native CompressionStream n'expose pas de paramètre de niveau, un niveau par défaut fixe est donc utilisé. La sortie reste un flux gzip/zlib/deflate entièrement valide que tout outil standard (gunzip, zlib, pako) peut décompresser.

Plus d'outils