Файлы, бинарные данные и сжатие

Сжать и распаковать Gzip онлайнСжатие, распаковка и сравнение размеров прямо в браузере

Выберите файл или вставьте текст, задайте алгоритм и направление, затем запустите. Данные не покидают браузер.

Сжать и распаковать Gzip онлайн

Вход
Направление
Алгоритм

Вход

Перетащите файл сюда или выберите его.

Файлы и текст сжимаются и распаковываются только в браузере, ничего не отправляется.

Результат

Добавьте файл или вставьте текст, затем выберите «Сжать» или «Распаковать».

6

Добавьте файл или вставьте текст, затем выберите «Сжать» или «Распаковать».

Открывать терминал и набирать команды zlib или brotli только для того, чтобы узнать, даст ли Gzip или Brotli файл поменьше на конфиге в пару сотен КБ, — это больше возни, чем стоит сам вопрос. Инструмент, чтобы сжать и распаковать Gzip онлайн, запускает Gzip, Deflate и Brotli — три настоящих алгоритма, а не имитацию — прямо в браузере и сразу показывает, сколько байт удалось сэкономить после сжатия или распаковки.

Отличие от наспех написанного скрипта — в деталях, которые действительно важны: уровень сжатия можно настроить, а не только использовать значение по умолчанию; сравнение размеров — это точные байты, а не прикидка; а для распаковки есть жёсткий предел — как только вывод вот-вот превысит 512 МиБ, инструмент останавливается, вместо того чтобы сначала пытаться удержать весь результат в памяти.

Зачем сжать и распаковать Gzip онлайн именно здесь

Точный размер, а не прикидка

После каждого запуска рядом показаны исходный размер и размер результата в байтах вместе с процентом экономии — можно оценить ещё до скачивания, стоило ли более высокое качество Brotli лишнего ожидания.

Столбец сравнивает размер исходного файла с меньшим сжатым результатом, между ними указан процент экономии.

Распаковка, которая не выходит из-под контроля

Крошечный сжатый файл может при распаковке разрастись до нескольких гигабайт. Этот инструмент обрабатывает вывод потоково и считает произведённые байты по ходу дела, останавливаясь, как только сумма вот-вот превысит 512 МиБ, вместо того чтобы сначала пытаться удержать весь результат в памяти.

Маленький сжатый файл разрастается и упирается в шкалу, которая блокирует дальнейший рост по достижении фиксированного предела.

Три вещи, полезные перед запуском

01

Запуск специально остаётся ручным

Здесь нет переключателя автозапуска. Brotli на максимальном качестве может по-настоящему долго работать на большом входе, а кнопка отмены должна реально что-то значить, поэтому ничего не начинается, пока не нажать «Сжать» или «Распаковать» либо Ctrl/Cmd+Enter. Изменение алгоритма, уровня или входных данных помечает текущий результат устаревшим — нужен повторный запуск, чтобы его обновить.

02

Замена превращает один запуск в проверку туда-обратно

Когда результат готов, кнопка замены показывает предпросмотр: результат возвращается во вход, а направление переключается на противоположное (сжатие на распаковку или наоборот), чтобы проверить, что байты возвращаются в точности такими же. Вход заменяется на самом деле только после нажатия «Применить», а «Отменить действие» один раз восстанавливает предыдущие вход и результат.

03

Текстовый режим понимает Base64, а не сырые байты

При сжатии текст сначала кодируется в UTF-8. Распаковка в текстовом режиме ожидает Base64 сжатых данных, потому что вставить сырые бинарные данные как текст невозможно. Результат распаковки показывается как читаемый текст, если это корректный UTF-8, а иначе автоматически переключается на Base64. Для произвольных бинарных данных используйте режим «Файл» вместо «Текст».

Что инструмент реально умеет

Три настоящих алгоритма, а не один под тремя именами

Gzip и Deflate работают через fflate с уровнем от 0 до 9; Brotli работает через реализацию на WebAssembly с качеством от 1 до 11. Все три выполняются в браузере, в том числе в фоновом Worker, чтобы страница оставалась отзывчивой.

Один файл или один блок текста

Перетащите или выберите один файл, либо вставьте текст напрямую. Это не конвертер архивов: инструмент не создаёт и не распаковывает архивы — он работает с одним потоком сжатия за раз, а именно этим и являются Gzip, Deflate и Brotli.

Сравнение, на основе которого можно решать

После каждого запуска вместе показываются исходные байты, байты результата и процент изменения — включая честный случай, когда очень маленький или уже сжатый вход после сжатия становится чуть больше.

Отмена, которая правда останавливает

Сжатие и распаковка выполняются в Worker, который можно завершить. Отмена немедленно отбрасывает выполняющуюся задачу, вместо того чтобы дожидаться её конца.

Чего этот инструмент не делает и почему

Никаких архивов ZIP, TAR или 7z
Gzip, Deflate и Brotli — форматы сжатия одного потока, а не форматы архивов. Упаковка нескольких файлов, сохранение имён и структуры папок или чтение готового архива требуют совсем другого инструмента.
Направление никогда не угадывается за вас
Инструмент никогда не анализирует вход, чтобы самостоятельно решить его распаковать. Каждый раз нужно явно выбрать «Сжать» или «Распаковать» — это не даёт случайно вставленному тексту запустить нежелательное разрастание.
Предел распаковки в 512 МиБ фиксирован
Он показан как пояснение, а не как настройка. Если бы его можно было менять, любой, кто наткнётся на ошибку, просто увеличивал бы значение, пока не заработает, — и защита от zip-бомб потеряла бы всякий смысл.
Повреждённые или обрезанные данные отклоняются
После распаковки Gzip и Deflate проверяются по встроенной контрольной сумме CRC32 или Adler-32, а у Brotli проверяется маркер конца потока. Обрезанный или изменённый файл вызывает понятную ошибку, а не молча возвращает неполные байты.
Ничего никогда не отправляется
Сжатие и распаковка полностью выполняются в браузере. Ни файл, ни вставленный текст, ни результат никуда не отправляются, а сам инструмент не делает никаких сетевых запросов.

Вопросы про то, как сжать и распаковать Gzip онлайн

Можно ли сжать и распаковать Gzip онлайн бесплатно, без загрузки на сервер?

Да, и совершенно бесплатно. Этот инструмент полностью работает в браузере: файлы и вставленный текст читаются локально, сжимаются или распаковываются на вашем устройстве и никогда не отправляются на сервер. Это можно проверить самостоятельно, открыв вкладку сети в браузере.

Gzip, Deflate и Brotli — в чём разница по степени сжатия?

Deflate — это сам алгоритм, который также лежит внутри формата zlib; Gzip оборачивает тот же алгоритм собственным заголовком и контрольной суммой, поэтому файл Gzip получается немного больше эквивалентного вывода Deflate. Brotli обычно сжимает сильнее, особенно на высоком качестве, но за счёт более медленного сжатия (распаковка у всех трёх быстрая). Для наибольшей совместимости подойдёт Gzip, а для минимального размера, если можно немного подождать, — Brotli.

Что на самом деле меняет уровень сжатия Gzip от 1 до 9?

Он меняет баланс между временем и размером: 0 почти не сжимает и завершается быстрее всего, 9 тратит больше всего усилий на поиск повторяющихся паттернов и даёт самый маленький файл, а 6 — распространённое сбалансированное значение по умолчанию. Результат распаковки одинаков независимо от выбранного уровня — меняются только размер и время.

Что такое zip-бомба и как этот инструмент от неё защищает?

Zip-бомба — это маленький сжатый файл, специально созданный так, чтобы при распаковке раздуться до огромного объёма данных и заморозить или обрушить вкладку из-за нехватки памяти. Этот инструмент распаковывает данные потоково и считает выходные байты по мере их появления, останавливаясь, как только сумма вот-вот превысит фиксированный предел 512 МиБ, — ещё до попытки удержать полный результат в памяти.

Безопасно ли распаковывать здесь Gzip-файл из ненадёжного источника?

Это безопаснее большинства альтернатив, потому что ничего не отправляется на сервер, предел в 512 МиБ останавливает неконтролируемое разрастание, а встроенная контрольная сумма каждого формата проверяется. Инструмент не сканирует распакованное содержимое на вредоносное ПО, поэтому с восстановленными байтами стоит обращаться так же осторожно, как с любым файлом из ненадёжного источника.

Можно ли сжать в Brotli онлайн с выбором уровня качества?

Да — выберите Brotli в качестве алгоритма и используйте ползунок качества (от 1 до 11). Качество 11 даёт самый маленький результат, но на больших файлах может заметно замедлиться; более низкие значения обменивают часть сжатия на скорость. Отменить можно в любой момент, если запуск с высоким качеством занимает больше времени, чем ожидалось.

Остался вопрос?

Сожмите или распакуйте следующий файл

Загрузите пример, чтобы увидеть, как сильно сжимается очень повторяющийся текст, или сразу принесите сюда свой файл или текст, чтобы сжать и распаковать Gzip онлайн.