UTILS.
100% in de browser
🗜️

Gzip / Zlib / Deflate comprimeren & decomprimeren

Comprimeer of decomprimeer tekst met de native gzip-, zlib- (deflate) of raw DEFLATE-formaten in de browser, met base64/hex-uitvoer en de compressieverhouding.

Voer hierboven data in om te comprimeren of decomprimeren.

Over deze tool

De Gzip / Zlib / Deflate-tool comprimeert en decomprimeert data volledig in je browser met de native CompressionStream- en DecompressionStream-API's. Kies het containerformaat — gzip (het .gz-formaat met zijn 0x1F 0x8B magic bytes), zlib/deflate (de DEFLATE-data verpakt in een zlib-header), of deflate-raw (kale DEFLATE zonder header) — en een richting. Compressie neemt je UTF-8-tekst en geeft de gecomprimeerde bytes gecodeerd als base64 of hex terug; decompressie neemt base64 of hex en geeft de oorspronkelijke tekst terug.

Omdat het de ingebouwde streaming-compressie van de browser gebruikt, wordt er niets geüpload en geen externe bibliotheek geladen — je data blijft op je apparaat. De drie formaten zijn niet uitwisselbaar: gzip en zlib voegen verschillende headers en checksums (CRC-32 voor gzip, Adler-32 voor zlib) rond dezelfde DEFLATE-payload toe, terwijl deflate-raw beide weglaat, dus je moet decomprimeren met hetzelfde formaat waarmee je gecomprimeerd hebt. Na het comprimeren rapporteert de tool de oorspronkelijke grootte, de gecomprimeerde grootte, en de compressieverhouding als een percentage (1 − gecomprimeerd / origineel), wat aangeeft hoeveel kleiner de uitvoer is.

Sterk repetitieve tekst comprimeert dramatisch; korte of al gecomprimeerde invoer kan zelfs groeien vanwege de header- en checksum-overhead, wat normaal is. Als je browser CompressionStream niet blootstelt, zegt de tool dat in plaats van verkeerde uitvoer te produceren. Merk op dat de native API een vast standaard compressieniveau gebruikt, dus er is geen niveaukiezer. Kopieer het resultaat met één klik.

Veelgestelde vragen

Wat is het verschil tussen gzip, zlib en raw deflate?
Alle drie gebruiken het DEFLATE-algoritme. gzip verpakt het met een 10-byte header, magic bytes 0x1F 0x8B, en een CRC-32; zlib (deflate) verpakt het met een korte header en een Adler-32-checksum; deflate-raw heeft geen header of checksum. Decomprimeer met hetzelfde formaat dat je gebruikte om te comprimeren.
Welke invoer verwacht decompressie?
Plak de gecomprimeerde data als base64 of hex (stem af op de uitvoercoderingskiezer). De tool decodeert het naar bytes en inflateert het met het gekozen formaat. Als de bytes afgekapt zijn of het verkeerde formaat, rapporteert het dat de data niet gedecomprimeerd kon worden.
Waarom werd mijn tekst groter na het comprimeren?
gzip en zlib voegen header- en checksum-bytes toe, en DEFLATE heeft genoeg herhaling nodig om besparingen te vinden. Voor zeer korte of al willekeurige/gecomprimeerde invoer weegt die overhead zwaarder dan enige winst, dus de uitvoer kan groter zijn — dat is te verwachten.
Kan ik het compressieniveau kiezen?
Nee. De native CompressionStream-API stelt geen niveauparameter bloot, dus er wordt een vast standaardniveau gebruikt. De uitvoer is nog steeds een volledig geldige gzip/zlib/deflate-stream die elke standaardtool (gunzip, zlib, pako) kan decomprimeren.

Meer tools