[WEB App] JP2 (JPEG 2000) Image Converter — WASM + Canvas + JSZip によるブラウザ完結型画像変換ツール

[WEB App] JP2 (JPEG 2000) Image Converter — WASM + Canvas + JSZip によるブラウザ完結型画像変換ツール

JP2 (JPEG 2000) Image Converter

標準のWebブラウザで直接表示できないJPEG 2000(.jp2)ファイルを、サーバーにアップロードすることなくブラウザローカル環境のみで高速デコードし、PNGやJPEGといった汎用画像フォーマットに変換・一括出力するツールです。

デコード処理にはOpenJPEGのWebAssembly (WASM) ビルドを使用し、Canvas APIとJSZipを組み合わせることで、高精細なプレビュー表示と複数画像の一括ZIPダウンロードに対応しています。

ツール

スクリーンショット

JP2 Converter - 画面プレビュー

動画(GIF):

JP2 Converter - 動作動画(GIF)

Sample data

サンプルデータは以下のサイトからお借りしています。

特徴

OpenJPEG WASMによる完全ブラウザ内デコード

C言語で実装されたオープンソースのJPEG 2000コーデック「OpenJPEG」をWASM化して利用。ブラウザ上で直接 .jp2 バイナリをデコードしてピクセル配列(ImageData)へ展開するため、サーバー側での処理が不要です。

高解像度ディスプレイ(DPR)対応プレビュー

window.devicePixelRatio を考慮したレンダリングパイプラインを実装。Retinaディスプレイや4Kモニター等の高DPI環境においても、アンチエイリアスや滲みのないくっきりとした高解像度プレビューを実現しています。

canvas.toBlob() によるメモリ最適化

Base64文字列(DataURL)を経由せず、非同期の canvas.toBlob() を用いてBlobオブジェクトを直接生成。大判画像や複数ファイルの変換時にもメモリ消費を大幅に抑制し、ブラウザのクラッシュを防ぎます。

JSZip による一括ZIPダウンロード

ドラッグ&ドロップされた複数の .jp2 ファイルを連続変換し、JSZip ライブラリによって converted_jp2_images.zip として一括パッキング・出力します。

サーバー送信不要の完全ローカル処理

アップロードされた画像データはすべてユーザーのブラウザメモリ内でのみ処理されます。外部サーバーへ画像を送信することがないため、秘密保持が必要な文書や機密画像も安全に変換できます。


使い方

  1. JP2ファイルをドロップまたは選択する

    • 画面左上のドロップエリアに .jp2 ファイルをドラッグ&ドロップするか、クリックしてファイルを選択します(複数選択可)。
  2. プレビューと変換結果を確認する

    • デコードが完了すると、中央ビューポートに高画質プレビューが表示されます。ファイル名・幅・高さ・フォーマットなどのメタデータも自動表示されます。
  3. 個別ダウンロードする

    • プレビュー下部またはファイルリストの「Download」ボタンをクリックすると、変換後の画像(PNG/JPEG)を個別に保存できます。
  4. 一括ZIPダウンロードする

    • 複数ファイルを変換した場合、「Download ALL (.zip)」ボタンをクリックすると、すべての変換済み画像をまとめた converted_jp2_images.zip が生成されダウンロードできます。

対応フォーマット

入力フォーマット出力フォーマット備考
JPEG 2000 (.jp2)PNG (.png)ロスレス・高品質出力
JPEG 2000 (.jp2)JPEG (.jpg)圧縮・軽量化出力

技術スタック

  • Astro — サイト構築・UIレンダリング
  • OpenJPEG (WASM) — C言語ベースの高速 JPEG 2000 デコーダー
  • Canvas API — ピクセル描画、DPRスケール調整、Blob書き出し
  • JSZip — クライアントサイドでの一括ZIPアーカイブ生成

開発の経緯

ブラウザ非対応であるJPEG 2000 (.jp2) フォーマットのファイルを扱う際、外部のオンライン変換サイトを使わずにローカルで完結させたいというニーズから本ツールを開発しました。

WASMによるデコード精度の確保に加え、高解像度ディスプレイでの表示品質を高めるDPRスケーリングや、巨大な画像群を処理してもメモリを圧迫しない toBlob() / JSZip パイプラインを組むことで、高速で安定したブラウザコンバーターとして仕上げました。


関連ツール


更新履歴

  • [2026/08/31]: 初版リリース。OpenJPEG WASM デコーダーの実装、DPR対応キャンバス描画、toBlob メモリ最適化、JSZip による一括 ZIP ダウンロードに対応。