Сравнение сжатия

Сожмите свой файл gzip, Brotli и Zstandard на выбранных уровнях и сравните размер, степень сжатия, скорость и память — всё в браузере.

Введённые данные и файлы остаются в браузере

Файл и кодеки

Файл для сжатия

Любой локальный файл. Он остаётся на этом устройстве.

Кодеки и уровни
уровни 0–9
уровни 0–11
уровни 1–22

CompressionStream этого браузера; уровень у него не настраивается.

Каждый кодек и уровень работает в отдельном Web Worker над копией образца в памяти. Ничего не загружается и не сохраняется.

Высокие уровни медленные: Brotli 10–11 и Zstandard 19–22 на 64 МиБ могут работать минутами. Начните с меньшего объёма.

Результаты

Выберите файл, чтобы увидеть, насколько и как быстро его сжимает каждый кодек.

На этой странице

Сравнение сжатия сжимает выбранный файл gzip, Brotli и Zstandard на нескольких уровнях и показывает рядом сжатый размер, степень сжатия, экономию места, скорость сжатия и распаковки и память WebAssembly. Так видно, какой кодек и уровень подходят именно вашим данным, — без загрузки файла на сервер.

Подробное описание функциональности

Первые 1–256 МиБ файла читаются в память, затем каждый кодек и уровень запускается в свежем Web Worker: gzip через совместимый с zlib Deflate, Brotli с окном 4 МиБ и Zstandard с контрольной суммой — всё скомпилировано в WebAssembly, а для сравнения есть встроенный в браузер gzip через CompressionStream. Замеряются только вызовы кодека.

С включённой проверкой каждый результат распаковывается в ещё одном свежем worker и сравнивается с исходными данными по длине и CRC-32 — так заодно замеряется скорость распаковки. Поскольку каждый прогон начинается с пустого heap WebAssembly, колонка памяти показывает, сколько реально понадобилось этому кодеку и уровню.

Таблица выделяет самый маленький результат и самое быстрое сжатие и скачивается в CSV с исходными числами. Любая строка может сжать весь файл со своими настройками и сохранить его как .gz, .br или .zst.

Практические примеры

Ответы JSON API: выгрузка JSON на 16 МиБ показывает gzip 6 примерно 8×, Brotli 9 около 11× и Zstandard 3 близко к размеру gzip, но в несколько раз быстрее.

Выбор уровня для логов: уровни 1, 3, 9 и 19 Zstandard показывают, где дополнительное время процессора перестаёт заметно уменьшать размер.

Уже сжатые данные: JPEG или ZIP дают около 1,0× — значит, сжимать их повторно бессмысленно.

Статика сайта: сравните Brotli 11 и gzip 9 на собранном JavaScript перед настройкой предварительно сжатых файлов на сервере.

Как использовать этот инструмент

  1. Выберите файл

    Перетащите или выберите любой файл. Замер сразу начнётся с кодеками и уровнями по умолчанию.

  2. Выберите кодеки и уровни

    Включите или выключите кодеки и укажите уровни, например 1, 6, 9 или диапазон 3-5. Выберите, сколько данных из файла тестировать.

  3. Запустите и сравните

    Нажмите «Запустить». Строки появляются по мере окончания прогонов; самый маленький и самый быстрый результаты выделяются.

  4. Сохраните

    Скачайте таблицу в CSV или нажмите «Сохранить» в строке, чтобы сжать весь файл с этими настройками.

Советы и лучшие практики

  • Текст, JSON, CSV и логи сжимаются хорошо; изображения, видео и архивы почти не уменьшаются.
  • На высоких уровнях Brotli и Zstandard распаковываются намного быстрее, чем сжимаются, — это удобно для файлов, которые сжимают один раз и читают часто.
  • Время зависит от устройства и браузера; сравнивайте прогоны на одной машине.
  • Чтобы заглянуть в архив или извлечь из него файлы, используйте «Просмотр архивов».

Помогите выбрать следующий шаг

Что улучшить дальше?

Выберите одно предложение. Это идеи, а не обещанные функции.

Выберите один вариант

Отправляется только выбранный вариант как анонимный счётчик. В голосе нет введённых данных, сведений о файлах, URL, cookie или идентификатора; он не сохраняется в браузере. После перезагрузки страницы можно проголосовать снова.