Repolode
lovell

lovell/sharp

libvipsを使ってJPEG、PNG、WebP、AVIF、TIFF画像をリサイズ・変換する、高性能なNode.js画像処理モジュール。

代替できる製品:ImageMagick

スター
32,830
フォーク
1,450
未解決の Issue
121
最終コミット
一昨日

これは何?

sharpは、Node.jsで画像を処理するためのNode-APIモジュールです。一般的な用途は、一般的な形式の大きな画像を、サイズの異なるWeb向けの小さなJPEG、PNG、WebP、GIF、AVIFファイルに変換することです。libvipsライブラリを基盤としており、リサイズ処理はImageMagickおよびGraphicsMagickの最速設定より数倍高速だとプロジェクトでは説明されています。

リサイズに加えて、sharpは回転、切り抜き、合成、ガンマ補正に対応しています。色空間、埋め込みICCプロファイル、アルファ透過を扱え、リサンプリング品質にはLanczos法を使用します。バッファ、ファイル、ストリームに対して、複数の処理を連結して実行できます。

Node.js 20.9.0以降、Deno、Bunを含む、Node-API v9に対応したあらゆるJavaScriptランタイムで動作します。最新のmacOS、Windows、Linuxのほとんどのシステムでは、追加のインストールやランタイム依存関係は必要ありません。

主な機能

  • 01JPEG、PNG、WebP、GIF、AVIF画像のリサイズと変換に対応。
  • 02回転、切り抜き、合成、ガンマ補正に対応。
  • 03ICCプロファイル、EXIFの向き情報、アルファ透過を扱える。
  • 04Buffer、ファイル、ストリームを処理できる。
  • 05Node-API v9経由でNode.js、Deno、Bun上で動作。

ユースケース

  • アップロード時に、Web向けサムネイルや複数サイズの画像を生成する。
  • ビルドやメディア処理パイプラインで、大きな写真をまとめてWebPやAVIFに変換する。
  • サーバー上でSVG合成を使い、角丸、透かし、オーバーレイを作成する。

クイックスタート

  1. 1

    npmからsharpをインストールする

    npm install sharp
  2. 2

    コードでsharpをimportまたはrequireする

  3. 3

    画像のサイズを変更し、WebPファイルに書き出す

使う前に知っておきたいこと

  • Node.js 20.9.0以降など、Node-API v9のサポートが必要です。

収録されている特集

トピック

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

よくある質問

sharp とは?
libvipsを使ってJPEG、PNG、WebP、AVIF、TIFF画像をリサイズ・変換する、高性能なNode.js画像処理モジュール。 sharpは、Node.jsで画像を処理するためのNode-APIモジュールです。一般的な用途は、一般的な形式の大きな画像を、サイズの異なるWeb向けの小さなJPEG、PNG、WebP、GIF、AVIFファイルに変換することです。libvipsライブラリを基盤としており、リサイズ処理はImageMagickおよびGraphicsMagickの最速設定より数倍高速だとプロジェクトでは説明されています。
sharp は無料で使えますか?ライセンスは?
sharp は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
sharp は今もメンテナンスされていますか?
活発にメンテナンス中。sharp の最終コミットは 2026年11月5日 です。
sharp は何に使えますか?
アップロード時に、Web向けサムネイルや複数サイズの画像を生成する。 ビルドやメディア処理パイプラインで、大きな写真をまとめてWebPやAVIFに変換する。 サーバー上でSVG合成を使い、角丸、透かし、オーバーレイを作成する。
sharp のインストール方法は?
npmからsharpをインストールする: npm install sharp コードでsharpをimportまたはrequireする 画像のサイズを変更し、WebPファイルに書き出す
sharp はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/lovell/sharp

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト