[pic-flip · on-device image transcoder]

画像の形式を、
ブラウザだけ
切り替える。

iPhone の HEIC を Windows / Android で開ける JPG に。 Web に貼る PNG を WebP に。 アップロードなし、複数ファイル一括対応。 画像はあなたのブラウザの中から動かず、外には出ません。

on-device heic / jpg / png / webp libheif (wasm) · canvas

[ ./how_it_works ]

仕組み。

step / 01

画像を渡す

HEIC / JPG / PNG / WebP / HEIF のいずれかをドロップ。複数同時もOK。 画像はブラウザ内の変換パイプラインに直接渡され、サーバーには送られない。

step / 02

形式と品質を選ぶ

出力形式を JPG / PNG / WebP から選択。 JPG と WebP では品質スライダー (10-100) で圧縮率を調整。 PNG は常に lossless で書き出す。

step / 03

一括ダウンロード

全ファイル変換後、1つずつ or 一括でダウンロード。 HEIC は libheif (WASM) でデコードされ、その他は Canvas でクロス変換される。

[ ./faq ]

よくある質問。

本当に画像はサーバーに送られないのですか?+

送られません。 PicFlip は heic2any (libheif の WebAssembly ビルド) と Canvas API のみを使い、 すべての変換をブラウザ内で完結します。 画像ファイルが私たちのサーバーに届くことはありません。

iPhone の HEIC を本当に Windows / Android で開ける形式にできますか?+

できます。 HEIC を JPG / PNG / WebP に変換できれば、ほぼすべての OS / アプリで開けます。 共有相手の環境を意識せずに送れるようになります。

どのくらいのサイズまで使えますか?+

目安は 1枚 ~50MB / 一括変換時の合計 ~200MB 程度。 ブラウザのメモリに依存します。 巨大なRAWファイル等は処理に時間がかかり、メモリ不足でクラッシュする可能性があります。

EXIF (撮影情報) は引き継がれますか?+

現在の実装ではほぼ落ちます (Canvas を介する形式変換のため)。 EXIF を保持する / 完全に剥がす トグルは今後の拡張で実装予定です。 機密性を考えると逆に「落ちる」 のが安全な挙動とも言えます。

AVIF / TIFF / RAW は対応していますか?+

v1 では非対応です。 AVIF (WebAssembly libavif) と TIFF のサポートは今後のロードマップに入っています。 RAW (CR2 / NEF / ARW など) は libraw への依存が重くなるため後回しです。

他のメディアサービスとの関係は?+

voice-scribe / clip-cast / bg-snap / text-pluck / pdf-anvil / pixel-lift に続く、 ブラウザ完結メディア処理ラボの 7本目です。 形式変換は導線として強く、 PicFlip でJPG にしてから bg-snap で背景透過、 PixelLift で高解像度化、 のように他サービスへ流せます。

[ ./journal ]

開発ログ。

PicFlip

PicFlip ができるまで — ブラウザ内 libheif + Canvas で画像形式変換を成立させる設計

heic2any (libheif WASM) と Canvas API で HEIC / JPG / PNG / WebP のクロス変換をブラウザ完結で実装したWebサービスの設計記録。バッチ・品質スライダー・暗室セーフライト演出までを解説します。

read log →

all_entries →

← back to ai-lab.org