Encodage
Gzip/Deflate ↔ Base64
Compression du texte en Gzip ou Deflate avec encodage Base64 du résultat — et inversement. Fonctionne via l'API Compression Streams directement dans le navigateur.
Base64 by itself doesn't compress anything — quite the opposite, it grows the size by about 33%. To send large text compactly through a text-only channel, it's first compressed with Gzip or Deflate, and only then is the result Base64-encoded.
How to use it
- Compress: paste text and the tool compresses it with Gzip or Deflate (the browser's Compression Streams API) and encodes the result as Base64.
- Decompress: paste a Base64 string of compressed content to get the original text back.
- Pick Gzip or Deflate depending on which format the receiving system expects.
Common uses
- Compactly embedding a large text value (an SVG, a config) in a URL parameter or cookie with a size limit.
- Preparing a compressed payload for an API that accepts Base64-encoded Gzip data.
- Decompressing data received in this format from another system so it can be read manually.
Things to keep in mind
Compression only pays off on sufficiently large, compressible text — on short strings the Gzip header overhead plus the Base64 expansion can actually make the result bigger.
Deflate skips Gzip's headers, so its output is more compact, but the format is less self-describing: the receiving side needs to know in advance that it's Deflate specifically.
Article sur cet outil: Gzip + Base64 : compresser des données pour les transmettre en texte
Questions fréquentes
Quelle est la différence entre Gzip et Deflate ?
Le Deflate est l'algorithme de compression brut, tandis que le Gzip enveloppe ce même algorithme dans un format avec en-tête et somme de contrôle CRC. Un flux Gzip et un flux Deflate ne sont donc pas interchangeables : il faut utiliser le même format pour compresser et décompresser.
Pourquoi passer par le Base64 après la compression ?
La compression produit des données binaires, illisibles et non transportables telles quelles dans du texte, du JSON ou une URL. L'encodage en Base64 permet de les représenter sous forme de chaîne de caractères imprimables.
Mes données sont-elles envoyées sur un serveur ?
Non, la compression et l'encodage utilisent l'API Compression Streams directement dans le navigateur. Aucune donnée n'est transmise à un serveur.
Pourquoi la décompression donne-t-elle parfois l'erreur « invalid header » ?
La cause la plus fréquente est une confusion de format : les données ont été compressées en Deflate « brut » sans en-tête, mais décompressées comme du Gzip (qui attend son propre en-tête et un CRC-32), ou inversement. Essayez de changer le format dans les paramètres de l'outil.
La compression réduit-elle toujours la taille finale ?
Non. Sur des chaînes très courtes, le surcoût des en-têtes Gzip et l'augmentation due au Base64 peuvent dépasser le gain de compression — l'approche n'a de sens que pour des données textuelles suffisamment volumineuses et compressibles.