Repolode
lovell

lovell/sharp

Высокопроизводительный модуль обработки изображений для Node.js: меняет размер и конвертирует JPEG, PNG, WebP, AVIF и TIFF с помощью libvips.

Open source альтернатива:ImageMagick

Звёзды
32,830
Форки
1,450
Открытые issues
121
Последний коммит
позавчера

Что это?

sharp — это модуль Node-API для обработки изображений в Node.js. Обычно его используют, чтобы преобразовывать большие изображения распространённых форматов в файлы меньшего размера, удобные для веба: JPEG, PNG, WebP, GIF и AVIF с разными размерами. Модуль построен на библиотеке libvips; по данным проекта, благодаря ей изменение размера выполняется в несколько раз быстрее, чем при самых быстрых настройках ImageMagick и GraphicsMagick.

Помимо изменения размера, sharp поддерживает поворот, обрезку, композитинг и гамма-коррекцию. Модуль обрабатывает цветовые пространства, встроенные ICC-профили и альфа-прозрачность, а для качественного ресэмплинга использует алгоритм Lanczos. Операции можно объединять в цепочки и выполнять над буфером, файлом или потоком.

Модуль работает в любой среде выполнения JavaScript с поддержкой Node-API v9, включая Node.js 20.9.0 и более поздние версии, Deno и Bun. На большинстве современных систем macOS, Windows и Linux не требуется дополнительная установка или зависимости среды выполнения.

Ключевые возможности

  • 01Изменяет размер и конвертирует изображения JPEG, PNG, WebP, GIF и AVIF.
  • 02Поддерживает поворот, обрезку, композитинг и гамма-коррекцию.
  • 03Обрабатывает ICC-профили, ориентацию EXIF и альфа-прозрачность.
  • 04Работает с буферами, файлами и потоками.
  • 05Запускается в Node.js, Deno и Bun через Node-API v9.

Сценарии использования

  • Генерация миниатюр для веба и изображений разных размеров при загрузке.
  • Пакетная конвертация больших фотографий в WebP или AVIF в процессе сборки или обработки медиаданных.
  • Создание скруглённых углов, водяных знаков и наложений с помощью композитинга SVG на сервере.

Быстрый старт

  1. 1

    Установите sharp из npm

    npm install sharp
  2. 2

    Импортируйте sharp или подключите его с помощью require в коде

  3. 3

    Измените размер изображения и сохраните его в файл WebP

Что важно знать

  • Требуется поддержка Node-API v9, например в Node.js 20.9.0 или более поздней версии.

В подборках

Темы

#image-processing#nodejs#image-resize#libvips#webp#avif#jpeg#png#crop#exif

Частые вопросы

Что такое sharp?
Высокопроизводительный модуль обработки изображений для Node.js: меняет размер и конвертирует JPEG, PNG, WebP, AVIF и TIFF с помощью libvips. sharp — это модуль Node-API для обработки изображений в Node.js. Обычно его используют, чтобы преобразовывать большие изображения распространённых форматов в файлы меньшего размера, удобные для веба: JPEG, PNG, WebP, GIF и AVIF с разными размерами. Модуль построен на библиотеке libvips; по данным проекта, благодаря ей изменение размера выполняется в несколько раз быстрее, чем при самых быстрых настройках ImageMagick и GraphicsMagick.
sharp можно использовать бесплатно? Какая у него лицензия?
sharp распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
sharp всё ещё поддерживается?
Активно поддерживается. Последний коммит в sharp — 5 нояб. 2026 г..
Для чего можно использовать sharp?
Генерация миниатюр для веба и изображений разных размеров при загрузке. Пакетная конвертация больших фотографий в WebP или AVIF в процессе сборки или обработки медиаданных. Создание скруглённых углов, водяных знаков и наложений с помощью композитинга SVG на сервере.
Как установить sharp?
Установите sharp из npm: npm install sharp Импортируйте sharp или подключите его с помощью require в коде Измените размер изображения и сохраните его в файл WebP
Где скачать sharp?
Исходный код и инструкции по установке — на GitHub: https://github.com/lovell/sharp

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Автономный HTTP-сервер, который на лету изменяет размер и обрезает изображения, применяет к ним эффекты и конвертирует их по параметрам, заданным в URL.

11,2 тыс.+18 за неделю791GoApache-2.0Активно поддерживаетсяОбновлён позавчера

Лосси-компрессор PNG без ползунка качества: подбирает изображение с палитрой минимального размера, которое сохраняет заданное визуальное качество; доступен в CLI и браузере.

507+97 за неделю43RustMITАктивно поддерживаетсяОбновлён 4 дня назад