Загрузить файл
  1. base64hub
  2. Веб и токены
  3. Декодер gzip Base64

Декодировать Base64 gzip (а также zlib и deflate)

Вставьте строку Base64, которая начинается с H4sI или eJ, или перетащите файл .gz. Декодер сам поймёт, gzip это, zlib или raw deflate, и покажет распакованный текст или файл.

Бесплатно без регистрации и ограничений Локально ничего не загружается Автоматически определяет gzip, zlib или raw deflate Обновлено 27 окт. 2026 г.
Ввод –Сжато –Результат –Степень сжатия –

Обработка идёт в браузере. Эта страница не может никуда отправить ваши данные – откуда мы это знаем

Как декодировать строку gzip в Base64

  1. Вставьте Base64 в поле ввода или перетащите файл .gz, .zz или .deflate. Пробелы и переносы строк игнорируются.
  2. Оставьте в поле Формат значение Автоопределение. В статусе появится найденный формат, например «Определено: gzip».
  3. Текст появится в поле результата, JSON будет отформатирован. Если результат двоичный, страница определит тип файла и покажет кнопку Скачать.
  4. Для gzip в сведениях видны ещё исходное имя файла и время изменения, если отправитель их сохранил.

Как отличить gzip, zlib и deflate

Все три формата используют одно и то же сжатие DEFLATE и различаются только обёрткой. Её видно по первым символам Base64:

Начинается сФорматОткуда обычно берётся
H4sIgzip (1F 8B 08)gzip, GZIPOutputStream, тела HTTP-ответов, CloudWatch Logs
eJzlib, уровень по умолчанию (78 9C)zlib.compress(), PHP gzcompress(), потоки PDF
eNo–eNrzlib, максимальное сжатие (78 DA)уровни 7–9
eAE–eAH, eF4–eF7zlib, самые быстрые и низкие уровни (78 01, 78 5E)уровни 1–5
нет постоянного префиксаraw deflateSAML Redirect binding, PHP gzdeflate(), элементы ZIP
SDRzSUgzip, дважды закодированный в Base64Secrets релизов Helm

У raw deflate нет сигнатуры, поэтому автоопределение пробует его после того, как не подошли gzip и zlib. У Brotli сигнатуры тоже нет, его пробуют последним, если браузер его поддерживает.

Реальные примеры

AWS CloudWatch Logs: события подписки приходят в Lambda в виде {"awslogs": {"data": "H4sI…"}}. Вставьте значение data и получите JSON с logGroup, logStream и logEvents.

Secrets релизов Helm 3 хранят Base64 от JSON, сжатого gzip, а Kubernetes кодирует его в Base64 ещё раз. Из командной строки:

kubectl get secret sh.helm.release.v1.myapp.v3 -o jsonpath='{.data.release}' \
  | base64 --decode | base64 --decode | gunzip | jq -r .manifest

На сайте снимите внешний слой декодером Kubernetes Secret или декодером Base64, а получившуюся строку H4sI… вставьте сюда.

Сообщения SAML Redirect сжаты raw deflate. Они декодируются и здесь, но декодер SAML вдобавок снимает URL-кодирование и показывает сводку по XML.

Декодирование в Python и Node.js

import base64, zlib

raw = base64.b64decode(s)
text = zlib.decompress(raw, 47).decode()   # 47 = 32 + 15: accept gzip or zlib
const zlib = require("zlib");
const text = zlib.unzipSync(Buffer.from(s, "base64")).toString();   // gzip or zlib

Для raw deflate используйте zlib.decompress(raw, -15) в Python и zlib.inflateRawSync() в Node. Подробнее в статьях Base64 в Python и Base64 в Node.js.

Ошибки и ограничения

  • «Это корректный Base64, но не данные gzip, zlib или raw deflate.» Строку вообще не сжимали. Попробуйте декодер Base64 или, для двоичных данных, Base64 в файл.
  • «Это не корректные данные gzip, или они обрезаны.» Часть строки потерялась, часто из-за лимита длины строки в логе. Скопируйте её из источника ещё раз.
  • «Лишние байты после сжатого потока проигнорированы.» После конца потока что-то дописано. Данные до этого места сохраняются.
  • «Распакованные данные больше 256.0 MB, поэтому распаковка остановлена (возможно, это zip-бомба)». Размер результата ограничен для защиты от zip-бомб. Всё, что больше, распаковывайте локально через gunzip.
  • Файлы gzip из нескольких частей (несколько склеенных потоков gzip) не поддерживаются.

Вопросы и ответы

Что значит H4sI в начале строки Base64?

Это Base64-запись байтов 1F 8B 08: сигнатура gzip плюс байт метода deflate. Строка с H4sI в начале содержит данные gzip: декодируйте Base64, а байты распакуйте через gunzip.

Как декодировать Base64 gzip в командной строке?

echo 'H4sI…' | base64 --decode | gunzip в Linux и macOS. Данные zlib (eJ…) gunzip не примет из-за другого заголовка; после шага с Base64 используйте python3 -c 'import sys,zlib; sys.stdout.buffer.write(zlib.decompress(sys.stdin.buffer.read()))'.

Почему после декодирования Base64 получаются двоичные данные?

Потому что данные сжали перед кодированием, а декодер Base64 возвращает сжатые байты. Вставьте строку сюда, и она распакуется автоматически.

Можно ли так открыть .zip или .tar.gz?

.tar.gz распаковывается в архив .tar, его можно скачать. У ZIP другой формат контейнера: чтобы посмотреть список файлов и сохранить их, используйте Base64 в ZIP.