PNGをQOIに変換:可逆圧縮のQuite OK Image

PNGをブラウザ内でQOI(Quite OK Image)にエンコード。可逆・1パス・アップロードなし。ゲームエンジンやアセット処理、デコーダーのテスト向け。

ブラウザーネイティブ
プライバシー第一
無料

今すぐ変換

ファイルをここにドラッグ&ドロップ

または

使い方

QOIが生まれたのは、可逆画像コーデックに数千行のコードと圧縮ライブラリが必要なことに、開発者のDominic Szablewski氏がうんざりしたからです。2021年末に公開されたこの形式は、誰でも午後のあいだに読み、監査し、移植できる約300行のCヘッダー(qoi.h)1つだけで完結します。このシンプルさこそが、ゲームエンジンやアセット処理、そしてC・Rust・Zig・Goでツールを書く人たちに広まった理由です。PNGをQOIに変換する一般的な目的は、zlibをリンクせずに、自作プログラムがメモリコピーに近い速さでデコードできる形式へピクセルを移すことにあります。 ここでは処理がすべてWebAssemblyでブラウザ内において完結します。まずPNGをjSquashのPNGコーデックで生のRGBAピクセルへデコードし、そのピクセルをQOIリファレンスエンコーダーのWASMビルドへ渡します。エンコーダーは14バイトのヘッダー、チャンクストリーム、8バイトの終端マーカーを書き出します。エンコードは1回の前方パスで、各ピクセルはインデックス参照、小さなRGB差分、ランレングス、またはそのままの色のいずれかになります。ハフマン木もDEFLATE段階もないため、エントロピー符号化の待ちで処理が止まることもありません。 ラウンドトリップは可逆です。ダウンロードする.qoiは元のPNGと完全に同じ8ビット/チャンネルのピクセル値をアルファも含めて保持するので、デコードし直せば同一のピクセルバッファが得られます。アップロードは一切ありません。デコードもエンコードもお使いの端末上で行われ、結果はローカルダウンロードとして提供されます。タブを閉じればデータは消えます。

関連変換ツール

あなたのワークフローに役立つ他の強力なコンバーターを発見してください

PNG最適化ツール:ピクセルそのまま、可逆圧縮

oxipngでPNGファイルを可逆圧縮。フィルターとDEFLATEの最適化でピクセルはそのまま容量だけ削減。ブラウザ内で動作し、アップロードも画質劣化もありません。

PNGをAVIFに変換 - 可逆圧縮で透過もそのまま

ブラウザ上でPNGを可逆圧縮のAVIFに変換。AV1のイントラ符号化が、全ピクセルと透過をそのまま残したままファイルを小さくします。アップロード不要、すべて端末内で完結。

PNGをBase64に変換:PNGをData URIにエンコード

ブラウザ内でPNGをBase64のData URIにエンコード。HTML・CSS・JSに貼り付けて小さなアイコンをインライン化できます。アップロード不要、ワンクリックでコピー、可逆。

WebPをJPEGに変換:高速・安全・ブラウザ内で完結

WebPをブラウザ内で無料でJPEGに変換。ファイルは端末から一切送信されず、透過は白で塗りつぶされ、WebPを受け付けないアプリでも開けるJPEGになります。

PNGをPDFに:複数の画像を1つのファイルにまとめる

ブラウザで複数のPNG画像を1つの複数ページPDFにまとめます。ドラッグでページを並べ替え、ピクセルは鮮明なまま、アップロードは一切なし。アカウント不要、透かしなし。

JPEGをWebPに変換:写真を軽くしてWebを高速化

JPEG写真をブラウザでそのままWebPに変換し、ページの容量を削減。非可逆で再エンコードし、アップロードなし、ファイルは端末から出ません。無料・オフライン対応。

機能

  • ファイルアップロード不要
  • 100% プライバシー重視
  • ブラウザー駆動
  • 高速処理
  • 永久無料

対応フォーマット

.png

出力: QOI

技術仕様

input Format PNG(8ビットRGBまたはRGBA。インデックスカラーやグレースケールのPNGは先にRGBAへデコード)
output Format QOI(Quite OK Image):14バイトのヘッダー、qoiチャンクストリーム、8バイトの終端マーカー
compression Type 1パスの可逆エンコード(インデックス・差分・luma・ランレングス・そのままの色のチャンク)。エントロピー符号化もDEFLATE段階もなし
quality Retention 可逆:8ビットのピクセルとアルファを正確に再現
color Space Support sRGB。3または4チャンネルのRGB/RGBA、8ビットアルファに完全対応
max Resolution 端末のメモリのみが上限
processing Time 一瞬。ブラウザ内で実行

主な利点

  • 可逆:QOIは元のPNGのピクセルとアルファをそのまま保持
  • DEFLATE工程のない1回の前方パスなので、エンコードは実質一瞬で完了
  • WebAssemblyによりすべてブラウザ内で完結。PNGは一度もアップロードされない
  • 出力はリファレンスqoi.hのバイト配置に準拠するため、エンジンやライブラリのデコーダーがそのまま受け付ける
  • RGBAの透明度を完全に維持し、背景色への平坦化なし
  • アカウント不要、利用可能なメモリ以外にファイルサイズ制限なし

一般的な使用例

  • ゲームエンジンの高速テクスチャローダー向けにPNGアートをQOIへ焼き込む
  • C・Rust・Zigで書いているQOIデコーダーのテスト入力を用意する
  • zlib依存の形式より依存関係のない形式を好むアセットパイプライン
  • 自分の画像でQOIのエンコードサイズと速度をPNGと比較する
  • パーサーの検証やファジングのためのサンプル.qoiファイルを生成する
  • ディスクサイズよりデコード速度が重要な中間フレームを保存する

プロのヒント

  • QOIがPNGより大きくなっても正常です。QOIはファイルサイズではなく速度に最適化されています
  • 先にPNGを最適化しても縮むのはPNGだけで、出力されるQOIのバイト数には影響しません
  • パイプラインに組み込む前に、対象ツールが標準のqoi.h配置を読めるか確認してください
  • ほとんどのビューアーやブラウザはQOIを開けないので、元のPNGは残しておいてください
  • アルファの多いアートは、QOIの透明度を表示できるツールがほぼないため、自作のデコーダーでエッジを確認してください

よくある質問

たいていは小さくなりません。PNGはフィルター済みのスキャンラインにDEFLATEをかけてディスク上でより強く圧縮するため、しっかり最適化したPNGの方が小さいことが多いです。QOIはその圧縮率を一部あきらめる代わりに、数倍速いエンコーダーとデコーダーを手に入れ、圧縮ライブラリも不要にしています。プログラム内での読み込み速度を求めるならQOIを、ディスク上のバイト数を優先するならPNGを選んでください。
いいえ。どちらも可逆で、8ビットのRGBまたはRGBAをそのまま保存します。すべての色とアルファの値が正確に維持されます。PNGをQOIに変換して再び戻せば、バイト単位で同一のピクセルバッファが得られます。変わるのはコンテナと圧縮方式だけです。
ダブルクリックで開けるものはほぼありません。主要なOS、ブラウザ、写真ビューアーのいずれもQOIをそのままプレビューできません。対応はコードの中にあります。ゲームエンジン、テクスチャパイプライン、そしてC・Rust・Zig・Go・Python向けのqoi.h移植などです。QOIは眺めるために開くファイルではなく、自作アプリケーションの中でデコードするアセットだと考えてください。
DEFLATEを完全に省いているからです。各ピクセルは64エントリの走行キャッシュを使い、インデックス・差分・ランレングス・そのままの色という4つの安価な方法のいずれかで、1回の線形パスでエンコードされます。構築すべきハフマン木も、探索すべきスライディングウィンドウもないため、エンコードもデコードもピクセルを一度なぞる程度のコストしかかかりません。この予測しやすく分岐の少ないループこそ、リアルタイムのローダーが求めるものです。
はい。QOIは本物の8ビットアルファチャンネルに対応しています。エンコード前にPNGをRGBAへデコードするので、半透明のエッジも完全な切り抜きもそのまま引き継がれます。注意点は表示側にあります。QOIをプレビューできる数少ないツールは、画像ビューアーではなく自分で書いたデコーダーであることがほとんどです。
このページは1回につきPNGを1枚処理します。1枚のエンコードは実質一瞬なので、数枚を続けて処理するのは手早く済みます。ただし、ビルド工程で何百枚ものテクスチャを焼き込むなら、ブラウザのタブではなく、qoi.hのリファレンスエンコーダーやCLI移植をアセットパイプラインに組み込むのが適しています。
いいえ。ブラウザはQOIをデコードできないため、imgタグでもCSS背景でも動きません。ウェブではPNGのままにするか、配信を軽くしたいときはWebPやAVIFを使ってください。QOIはHTTP用ではなく、オフラインやエンジン内での利用を想定した形式です。
いいえ。PNGのデコードもQOIのエンコードも、WebAssemblyによってお使いのブラウザ内でローカルに実行されます。サーバーとのやり取りも、保存されるコピーもありません。ファイルは端末内にとどまり、出力はローカルダウンロードとして提供されます。