← Вернуться в блог

Сжать изображения локально: приватная альтернатива без загрузки на сервер

У вас есть пачка фото, которые нужно уменьшить, прежде чем вы сможете их куда-то отправить. Может, это фото товара клиента, которое ещё не опубликовано. Может, день рождения ребёнка или скан паспорта для визы. Инстинкт автоматический: открыть сайт-сжиматель, перетащить файлы, скачать уменьшенные версии. Я так делал годы. Пока однажды не остановился и не задал скучный вопрос: после нажатия «загрузить» куда именно попадают эти байты?

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

Что на самом деле значит «локально»

Браузерное сжатие делает наоборот. Файлы читает ваш собственный браузер через File API, держит в памяти вашей машины и передаёт Web Worker'у, который выполняет само вычисление сжатия через WebAssembly — те же движки MozJPEG, WebP, OxiPNG и UPNG, что использовал бы сервер, только они исполняются на вашем CPU. Результат — это Blob, который браузер скачивает прямо к вам. Ни в какой момент изображение не открывает сетевое соединение ни с кем. Шага загрузки нет, потому что на том конце никому не нужны пиксели, чтобы выполнить работу.

Это не маркетинговое утверждение, которое надо принимать на веру. Инструмент на этом сайте построен именно так: модуль загрузки только читает файлы локально и проверяет их; воркеры сжатия целиком кодируют в браузере; результат — это Blob, который сохраняете вы сами. Без аккаунта, без API-ключа, без туда-сюда. Если открыть вкладку сети вашего браузера во время сжатия, вы увидите ноль запросов, несущих данные изображения.

Сравнение: облачный сжиматель (красный) загружает ваше фото на сервер третьего лица, где его могут сохранить или просканировать, против этого инструмента (зелёный), который держит фото на вашем устройстве и обрабатывает его в браузере, не отправляя ни байта.
Разница на одной картинке. Слева: сжиматель на базе сервера получает ваше фото, сохраняет его на инфраструктуре, которую вы не контролируете, и может оставить себе или просканировать. Справа: браузерный инструмент вообще не получает фото — оно читается, сжимается через WebAssembly и сохраняется на вашем устройстве. Ноль байтов покидают машину.

Карта рисков: чему вас подвергает путь загрузки

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

Ничто из этого не значит, что каждый облачный инструмент злонамерен. Это значит, что путь загрузки имеет цену, которую пропускает питч «бесплатно и быстро». Локальное сжатие убирает эту цену полностью, потому что пути нет.

Локально против облака, лицом к лицу

ВопросЭтот инструмент (локально)Типичный облачный сжиматель
Куда уходят байты?Никуда — обрабатывается на устройствеНа сервер третьего лица
Нужен аккаунт?НетОбычно, для пачек или больших файлов
Скорость для 20 фото?Секунды, без очередиЗагрузка + ожидание + скачивание
Макс. размер файла50 МБРазнится; бесплатный уровень низкий
Что потом?Ничто — копия не остаётсяКопия существовала у них
Водяной знак / лимит?НетЧасто да, после нескольких штук

Реальные цифры того же движка

Для ясности: дело не только в разговорах о приватности. Локальный движок и правда сжимает. Я прогнал тестовое фото 1600×1200 через ту же медианную PNG8-трубу этого сайта:

МетодРазмерЭкономия
Исходный RGB PNG115,3 КБ
PNG8 (256 цветов, 1-битный альфа)10,7 КБ−90,8%
JPEG качество 80 (представительно)~32 КБ~72%

Так что, оставаясь локально, вы не жертвуете ни качеством, ни коэффициентом. Вы получаете уменьшение на 90%+ и держите файл на своём железе. Эта комбинация — вся причина существования подхода.

Когда локальный вариант явно правилен

Когда облако действительно нормально

Локальный вариант — не всегда ответ. Если изображение уже публично — мем, скриншот публичной страницы, сток, купленный с правами redistribute — уязвимость загрузки ничего не значит, а облачный инструмент с форматом, которого нет у вашего локального (AVIF или HEIC, например, которые этот сайт ещё не поддерживает), может быть прагматичным выбором. Суть в том, чтобы выбирать осознанно, а не по рефлексу.

Тихая выгода, о которой никто не упоминает

Поскольку ничего не загружается, нет серверной очереди, нет лимита скорости, нет «пожалуйста, обновитесь, чтобы сжать больше пяти изображений». Вас ограничивает только своё железо: до 20 файлов за раз, каждый до 50 МБ, сжатые параллельно на вашей машине. Для любого, кто уже упирался в стену бесплатного уровня облачного инструмента посреди задачи, одно это окупает переключение.

Рабочий процесс, который использую я

  1. Открыть инструмент. Без логина. Страница статична, сжатие идёт в воркере.
  2. Перетащить до 20 фото. Смешайте JPEG, PNG и WebP в одну пачку — инструмент определит каждый формат.
  3. Выбрать качество и выход. Двигайте ползунок влево для агрессивного уменьшения или оставьте высоким для архива. Выберите сохранить исходный формат или конвертировать.
  4. Сжать и скачать. Один клик скачивает всё отдельными файлами или zip-ом. Имена файлов сохраняются.
  5. Закрыть вкладку. Ничего не остаётся ни на каком сервере, потому что никогда ничего не отправлялось.

Смежные гайды для конкретных ситуаций

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

Вкратце

Облачные сжиматели удобны, потому что работу делают на своей стороне сети — и это удобство стоит вам копии изображения на железе, которое вы не контролируете, плюс аккаунт, очередь и обычно стена бесплатного уровня. Браузерное сжатие стирает эту цену: те же движки работают на вашей машине, ничего не загружается, и вы всё равно получаете уменьшение на 90%+. Беритесь за локальный инструмент всякий раз, когда фото приватно, не опубликовано или просто не то, что вы бы вставили в публичную форму. Оставьте облачный вариант для уже публичных изображений, которым нужен формат, отсутствующий у вашего локального.

Ваши фото — ваши. Они должны становиться меньше, не покидая ради этого ваше устройство.

Сожмите изображения на своём устройстве

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

Сжать изображения бесплатно →
Об авторе: Chuan
Создал CompactJPG, увидев, как люди отдают чувствительные фото случайным сайтам-сжимателям просто чтобы уменьшить их. Всё работает в вашем браузере, потому что ваши изображения принадлежат вашему устройству, а не серверу другого.