Datei hochladen
  1. base64hub
  2. Web- & Token-Tools
  3. gzip + Base64

Mit gzip komprimieren und in Base64 kodieren

Komprimieren Sie eingetippten Text oder eine abgelegte Datei mit gzip und kodieren Sie das Ergebnis als Base64. Die Infozeile zeigt sofort, ob die Komprimierung die Zeichenkette kürzer gemacht hat als reines Base64.

Kostenlos ohne Anmeldung, ohne Limits Lokal kein Upload Verhältnis verglichen mit reinem Base64, bei jeder Eingabe Aktualisiert 27.10.2026
Eingabe –Komprimiert –Ausgabe –Verhältnis –

Wird in Ihrem Browser verarbeitet. Diese Seite kann Ihre Daten nirgendwohin senden – woher wir das wissen

So komprimieren Sie mit gzip und kodieren in Base64

  1. Tippen oder fügen Sie Text in die Eingabe ein, oder legen Sie eine Datei ab. Live ist aktiv, die Ausgabe aktualisiert sich also beim Tippen.
  2. Lassen Sie Format auf gzip. zlib, Raw Deflate und, sofern der Browser es unterstützt, Brotli stehen in derselben Liste.
  3. Aktivieren Sie URL-sicher (- _), wenn die Zeichenkette in eine URL oder einen Dateinamen kommt, oder Umbruch bei 76 für Zeilenlängen wie in E-Mails und PEM.
  4. Ausgabe kopieren, das Base64 als .txt-Datei Herunterladen, oder mit Komprimierte Datei herunterladen die binäre .gz speichern.

Die Infozeile zeigt Eingabegröße, komprimierte Größe, Base64-Größe und Verhältnis, und die Statusmeldung sagt, um wie viel das Ergebnis kürzer oder länger ist als reines Base64 derselben Eingabe.

Wann sich vorheriges Komprimieren lohnt

Base64 vergrößert Daten immer um ein Drittel. Bei Daten mit Wiederholungen holt gzip das wieder herein und noch mehr.

EingabeReines Base64Gzip + Base64
Hello, world! (13 Bytes)20 Zeichen44 Zeichen
Ein JSON-Array mit 100 Produktdatensätzen, 9.281 Bytes12.376 Zeichen1.096 Zeichen
Ein JPEG-Fotoetwa 4/3 der Dateietwas länger als reines Base64

Die Werte wurden mit gzip -6 erzeugt. Der Kompressor des Browsers kann um einige Bytes abweichen, und die Infozeile zeigt die genauen Zahlen für Ihre Eingabe. Als Faustregel gilt: Eingaben unter etwa 100 Bytes und alles bereits Komprimierte sind als reines Base64 besser aufgehoben.

Wo gzip + Base64 verwendet wird

  • Cloud-init und VM-User-Data: cloud-init erkennt gzip-komprimierte User-Data, was hilft, unter den Größengrenzen der Metadatendienste von Cloud-Anbietern zu bleiben.
  • Abonnements für AWS CloudWatch Logs liefern Log-Batches an Lambda als Base64 von gzip in awslogs.data.
  • Helm 3 speichert jedes Release als Base64 von gzip-komprimiertem JSON in einem Kubernetes Secret.
  • Umgebungsvariablen und JSON-Felder, die eine Konfigurationsdatei oder einen großen Textblock aufnehmen müssen.
  • Query-Strings und Deep Links mit einem Zustandsobjekt. Verwenden Sie dort die URL-sichere Ausgabe.

Außer dem Präfix H4sI verrät nichts im Base64 dem Empfänger, dass es sich um gzip handelt. Sagen Sie es im Feldnamen oder in der API-Dokumentation, oder senden Sie über HTTP den binären Body mit Content-Encoding: gzip statt Base64.

Gzip + Base64 im Code

import base64, gzip

data = open("products.json", "rb").read()
packed = base64.b64encode(gzip.compress(data, mtime=0)).decode()
// Node.js
const zlib = require("zlib");
const packed = zlib.gzipSync(Buffer.from(text)).toString("base64");

Im Browser erledigt new CompressionStream("gzip") die Komprimierung, und genau das verwendet diese Seite. Weitere Beispiele stehen auf den Seiten zu Python und Node.js.

Häufige Probleme

  • Beim Empfänger kommt Datenmüll an: Er hat das Base64 dekodiert, aber nicht entpackt. Prüfen Sie auf H4sI und entpacken Sie mit dem Gzip-Base64-Decoder.
  • „incorrect header check“ auf der Gegenseite: Der Empfänger erwartet zlib, nicht gzip. Stellen Sie Format auf zlib (Deflate); die zlib-Seite erklärt, welche Bibliothek was erwartet.
  • Brotli ist ausgegraut: Die integrierte Komprimierungs-API des Browsers bietet kein Brotli an, und die Seite weist unter den Optionen darauf hin.
  • Die Ausgabe weicht von einem anderen Tool ab: Gzip-Header enthalten einen Zeitstempel und ein Betriebssystem-Byte, und Kompressoren wählen unterschiedliche Stufen. Unterschiedliche Bytes können zum selben Inhalt entpackt werden.

Häufige Fragen

Wird eine Zeichenkette kürzer, wenn ich vor Base64 mit gzip komprimiere?

Bei Text, JSON, XML und Logs ab einigen hundert Bytes meist deutlich. Bei kurzen Zeichenketten und bereits komprimierten Daten (JPEG, PNG, ZIP, MP4) wird das Ergebnis länger, weil gzip 18 Bytes für Header und Trailer hinzufügt.

Warum beginnt jede gzip-Base64-Zeichenkette mit H4sI?

Gzip-Daten beginnen mit den Bytes 1F 8B 08, und diese drei Bytes ergeben in Base64 H4sI. Die folgenden Zeichen hängen von Flags und Zeitstempel ab: H4sIAAAAAAAA bedeutet kein Dateiname und keine Änderungszeit.

Wie komprimiere ich im Terminal mit gzip und kodiere in Base64?

Unter Linux: gzip -nc file.json | base64 -w0. Unter macOS, wo base64 kein -w kennt: gzip -nc file.json | base64 | tr -d '\n'. Das -n lässt Dateiname und Zeit weg, sodass dieselbe Eingabe dieselbe Ausgabe ergibt.