画像回転・反転ツール|90度回転・左右反転・上下反転

画像ツール

JPEG・PNG・WebP、20MB以下の画像を1枚選択してください。

回転角度
反転

反転は回転後の画像を基準に適用します。

JPEG、PNG、WebP画像を選択してください。

このツールでできること

JPEG、PNG、WebP画像を1枚選び、時計回りの回転と左右・上下反転を組み合わせ、元と同じ画像形式で保存できます。回転角度は0°、90°、180°、270°から選択でき、90°と270°では出力の幅と高さが入れ替わります。切り抜きや拡大・縮小は行いません。

使い方

  1. JPEG、PNG、WebP画像を1枚選択します。
  2. 時計回りの回転角度を選び、必要に応じて左右反転・上下反転を選択します。
  3. 「画像を回転・反転」を押します。
  4. プレビューと出力情報を確認し、「画像を保存」を押します。

入力例・出力例

1200×800pxのphoto.jpgを時計回りに90°回転すると、出力は800×1200pxになります。さらに左右反転を選ぶと、回転後の縦長画像を左右に反転し、photo-rotated-90-flip-h-800x1200.jpgという保存名を生成します。

180°では幅と高さは入れ替わらず、1200×800pxのままです。どの操作でも総画素数は変わらず、元画像の全体を回転・反転します。

よくある利用場面

  • 横向き・上下逆に見える写真の向きを90°または180°回転で直すとき
  • 鏡像素材を作るために、表示中の向きを基準として左右反転するとき
  • 回転と上下・左右反転を組み合わせた確認用画像を作るとき

回転と反転の適用順

このツールは、選択した角度で画像を時計回りに回転した後、その出力画面を基準に左右・上下を反転します。例えば90°回転と左右反転を選ぶと、先に縦長の800×1200pxへ回転し、その縦長画像の左側と右側を入れ替えます。元画像を先に左右反転してから回転する処理とは向きが異なる場合があります。

画像全体を回転・反転します。90°と270°では出力画像の幅と高さを交換し、0°と180°では元の寸法を維持します。左右反転と上下反転は独立して選べ、両方を同時に適用できます。

0°で反転を選ばない場合も元ファイルをそのままコピーするのではなく、Canvasへ描き直して新しい画像を生成します。このため見た目や寸法が同じでも、圧縮状態、ファイル容量、メタデータは元画像と変わる場合があります。

JPEGとWebPには品質ヒント0.92を渡し、PNGには品質値を指定しません。この値はファイル容量の割合ではなく、実際の圧縮方法、画質、色、容量はブラウザの画像エンコーダーによって異なります。PNGとWebPの透明度はブラウザの対応範囲で維持し、JPEGは描画面を白で初期化します。回転だけでもファイル容量が小さくなるとは限りません。

Canvasで再生成するため、EXIF、GPS位置情報、撮影日時、DPI、ICCカラープロファイル等のメタデータ保持や元画像との完全な色一致は保証しません。EXIF Orientationを独自には解析せず、元画像情報、プレビュー、出力方向はブラウザがデコードした画像に基づくため、保存前にプレビューを確認してください。

処理仕様

入力ファイルは20 × 1024 × 1024バイト以下です。画面上の「20MB」は実装上20MiB、20,971,520バイトを表します。元画像は幅・高さ各12,000ピクセル以下かつ32,000,000ピクセル以下です。8,000×4,000pxは画素数上限内ですが、8,000×4,001pxは上限を超えます。上限内でも、大きな画像は端末のメモリやブラウザの制限により処理できない場合があります。

形式はファイル名やMIMEタイプだけでなく、ファイル先頭のシグネチャから判定します。MIMEタイプが空、または拡張子・MIMEタイプと実データが異なる場合も、実データがJPEG、PNG、WebPで画像としてデコードできれば、その実データの形式で処理・保存します。ブラウザが同じ形式で書き出せなかった場合はエラーになります。

保存名は元ファイル名から制御文字やファイル名に使いにくい記号を除き、回転角度、flip-h・flip-v・flip-hvの反転内容、出力寸法、実データの形式に対応する拡張子を付けます。アニメーションは保持しないため、アニメーションWebPも対象外です。

入力データについて

選択したファイルの名前、容量、ブラウザがデコードした寸法と画素、変換後の画像はブラウザ内だけで処理され、ToolRollのサーバーや外部サービスへ送信されません。外部API、外部ライブラリ、Cookie、localStorage、sessionStorage、IndexedDB、ブラウザの履歴は使用しません。「画像を保存」を押したときだけブラウザのダウンロード機能へ生成画像を渡します。