クライアントサイドのJSで画像を圧縮する Compressor.js

クライアントサイドのJSで画像を圧縮する Compressor.jsの導入と使い方を解説。npmでインストールして、コードを書くだけで圧縮できる。

Share

クライアントでサクッと画像を圧縮したかったので調べたものを共有します。

Compressor.js (GitHub):

https://github.com/fengyuanchen/compressorjs

Compressor.js (画面デモ)

https://fengyuanchen.github.io/compressorjs/

Compressor.jsをインストール

npm i compressorjs

画像ファイルを圧縮する関数

早速コードを紹介しますが、下記のオプションを設定しています。

  • オプション convertSize で 0.8MB 未満に
  • オプション maxWidth で 512px に指定

関数

// 画像ファイルを圧縮する関数
function compressImage(file) {
  return new Promise((resolve, reject) => {
   // 最大ファイルサイズ(bytes)を指定する。この値を超えるファイルは JPEG に変換される
    const maxSizeInBytes = 800 * 1024; // =0.8MB in bytes
 
  // 圧縮する
    new Compressor(file, {
      quality: 0.8,
      convertSize: maxSizeInBytes,
      maxWidth: 512,
      success(result) {
        console.log('Original file size:', file.size / 1024, 'KB');
        console.log('Compressed file size:', result.size / 1024, 'KB');
        console.log('Compressed image width:', result.width, 'px');
        resolve(result);
      },
      error(err) {
        reject(err);
      },
    });
  });
}

使い方

// ファイルが選択されたら自動的に圧縮される
 
const inputElement = document.getElementById('imageInput');
 
inputElement.addEventListener('change', async (event) => {
  const file = event.target.files[0];
  try {
    const compressedFile = await compressImage(file);
    // 圧縮されたファイルを使う (APIに送信したり、画面に表示したり)
  } catch (error) {
    console.error('Compression error:', error);
  }
});

以上です。

Read more

サービス更新履歴

ここでは、LiveQのサービス・製品への変更を全て紹介しております。 このページは大きな変更があった場合に更新されます。 いつごろにどのような機能がリリースされたかが分かります。 2026年6月: 高速化・安定化 * 5月よりサーバーおよびアプリケーションの大型リニューアルに取り組み、6月に読み込み速度の向上や、大規模アクセス時にも安定して高速に動作するように変更をおこないました。 2026年4月: 画像スライド * 新たなスライドの種類として画像スライドを追加しました。 * PowerPoint, PDFファイルを一括インポートし、画像スライドとして追加する機能を追加しました * そのほか多数の細かな変更(操作性などのデザイン改善や、不具合)をおこないました 2026年3月: ワードクラウド、コメントのAIモデレーション(監視) * 新たなスライドの種類としてワードクラウドを追加しました * コメントをAIで自動監視する機能をリリースしました * そのほか細かな改善や不具合の修正をおこないました 2026年2月: 有料プランのデータエクスポート

By 阿部 隼也

チームメンバーを招待する方法

チームメンバーを追加するには、招待する必要があります。 その招待方法を紹介します。 招待可能なチームメンバーの数は、ご利用のプランによって異なるため、事前にご確認ください。 チームページの「新しいチームメンバーを招待」にて、招待するメンバーのメールアドレスを入力し、「招待を送信」をクリックします。 招待された側で招待を承認 次に、招待された側の方によって招待を承認する必要があります。 ※この承認にはLiveQのアカウントが必要となりますので、必ず事前にご登録ください。 下記のような招待メールが届きます。 件名:【LiveQ】チームへの招待が届いています 差出人:[email protected] 既にLiveQに登録済みの方はそのまま「招待を承認して参加する」ボタンをクリックします。 まだLiveQに登録していない方は、登録後、同様に承認ボタンをクリックします。 チームを切り替える 招待を承認すると、チームページに下記のように「チーム切り替え」ができるようになります。 招待したユーザーにもメールが届きます 招待が承認されると、招待したユーザーに

By 阿部 隼也