Новый проект, и он особенный: img.aizavod.top. Четыре инструмента для работы с картинками: сжатие, изменение размера, конвертация формата, водяной знак. И ни один файл не покидает ваш компьютер.

Почему это важно

Попробуйте загуглить “сжать картинку онлайн”. Первые пять результатов — сервисы, которые просят загрузить файл на их сервер. TinyPNG, iLoveIMG, Compressor.io — все они принимают ваш файл, обрабатывают на своих машинах, и возвращают результат.

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

img.aizavod.top работает иначе. Весь код выполняется в вашем браузере. Файл не покидает ваш компьютер. Вообще. Никакого бэкенда, никаких запросов к серверу, никакой обработки на чужих машинах.

Четыре инструмента

Сжатие. Выбираешь качество от 10% до 100%, видишь предпросмотр и размер файла в реальном времени. При 80% качества JPEG обычно теряет 60-70% веса без заметной разницы для глаза. Полезно перед загрузкой на сайт или отправкой по почте.

Изменение размера. Указываешь нужную ширину или высоту — второй параметр рассчитывается автоматически с сохранением пропорций. Или задаёшь оба параметра вручную. Пригодится для подгонки под требования площадки: 1080x1080 для Instagram, 1280x720 для YouTube, 800x600 для письма.

Конвертация формата. PNG в JPEG, JPEG в WebP, WebP в PNG — любая комбинация. WebP весит на 25-30% меньше JPEG при том же качестве. Если ведёте сайт — конвертируйте всё в WebP и страницы будут грузиться быстрее.

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

Как это работает без сервера

Вся магия — Canvas API. Это встроенная технология браузера для работы с изображениями. Когда вы загружаете файл, браузер читает его через FileReader API и рисует на невидимом canvas-элементе. Дальше:

  • Сжатиеcanvas.toBlob(callback, 'image/jpeg', quality). Параметр quality от 0 до 1 определяет степень сжатия.
  • Ресайзcanvas.width = newWidth; canvas.height = newHeight, затем ctx.drawImage() с новыми размерами. Браузер сам интерполирует пиксели.
  • Конвертация — тот же canvas.toBlob(), но с другим MIME-типом. Хотите PNG? image/png. Хотите WebP? image/webp.
  • Водяной знакctx.fillText() поверх изображения с настройкой прозрачности через ctx.globalAlpha.

Никаких библиотек. Никаких фреймворков. Чистый HTML, CSS и JavaScript. Файл index.html, файл стилей, файл скрипта. Всё.

Стек: ничего

Это буквально самый простой стек из всех моих проектов:

HTML + CSS + JavaScript
    -> Canvas API (встроен в браузер)
    -> FileReader API (встроен в браузер)
    -> Blob API (встроен в браузер)

Нет FastAPI. Нет Docker-контейнера с бэкендом. Нет очереди задач. Нет воркера на отдельной машине. Нет Claude. Статический сайт, который раздаёт Caddy как обычные файлы.

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

Ограничения

  • Зависит от браузера. Старые браузеры могут не поддерживать WebP. Safari до версии 16 не умел писать WebP через Canvas. Но в 2026 году это уже не проблема для подавляющего большинства пользователей.
  • Большие файлы. Canvas загружает всё изображение в память. Фото на 50 МБ с зеркалки может подвесить вкладку на слабом устройстве. Для RAW-файлов этот инструмент не подходит.
  • Нет пакетной обработки. Пока что обрабатывается один файл за раз. Drag & drop нескольких файлов — в планах.
  • Только растровые форматы. SVG, AI, EPS — не поддерживаются.

Приватность

Я говорил это выше, но скажу ещё раз, потому что это главная фича: ваши файлы никуда не уходят. Нет аналитики загрузок. Нет логирования имён файлов. Нет телеметрии. Можете открыть DevTools, вкладку Network и убедиться сами — при обработке файла ни одного запроса к серверу.

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

Зачем это маленькому заводу

Не каждый проект должен быть сложным. Не каждый проект должен использовать AI. Иногда нужно просто сжать картинку, и хочется сделать это быстро и безопасно. img.aizavod.top — это мой самый простой проект, и, возможно, самый полезный в повседневной жизни.

Попробовать: img.aizavod.top