Pack Camo
Rust · WebAssembly · アップロードゼロ

何でも変換。
すべて圧縮。
アップロードはゼロ。

Pack Camoは、ブラウザのタブの中だけで動くファイルツールです。画像・構造化データ・アーカイブ・文書のデコード、変換、再エンコードはすべてお使いのマシン上で行われます。アカウントも順番待ちもなく、ファイルを一時的にでも預かるサーバーは存在しません。

  • ファイルはタブの外に出ません
  • ネイティブ並みの速度のコーデック
  • オフラインでも動きます
あぐらをかいて瞑想するPack Camoのカメレオン

5つのツール、4つのワークスペース

問題の形で選ぶ

どのツールも、一度きりのアップロード欄ではなく本格的なワークスペースです。ファイルを置き、つまみを回し、ダウンロードする前に結果が変わっていく様子を確かめられます。

なぜ手元で処理するのか

変換は、ファイルがすでにある場所で行う

オンライン変換サービスの多くは、素性の分からないマシンにファイルを預け、順番を待ち、また落としてこいと言います。このツールはその3段階すべてを飛ばします。

仕組みからしてプライベート

信用しなければならないアップロード先がありません。そもそも間にサーバーが存在しないからです。ファイルはメモリに読み込まれ、変換され、ダウンロードとして返されます。

canvas頼みではない、本物のコーデック

デスクトップアプリが使うのと同じライブラリ(imageクレート、rav1e、vtracer、miniz_oxide、Brotli)をRustからWebAssemblyにコンパイルしています。

メインスレッドの外で実行

変換はすべてWeb Worker上で走ります。1200万画素のAVIFエンコードでも、見ているページが固まることはありません。

有料プランも透かしもなし

アカウントも1日あたりの上限もなく、ファイルサイズの制限はブラウザが割り当てるメモリだけです。

つまみはすべて開放

品質、エンコーダーのeffort、長辺の上限、トレーサーのしきい値、圧縮レベル。既定値は妥当で、隠している設定はありません。

Wi-Fiを切っても動く

ページとwasmモジュールが一度キャッシュされれば、飛行機の中でも、電車の中でも、社内プロキシの内側でも動き続けます。

内部構造

4つのRustクレートをWebAssemblyにコンパイル

ここにあるものはどれも、どこかのホストAPIのラッパーではありません。変換ロジックはごく普通のRustで、デスクトップでユニットテストを済ませ、wasmとしてブラウザに届けています。

  1. 1

    Rustクレート

    各ツールは、素直でテストしやすいコアを持つ小さなライブラリクレートです。CLIが使うのとまったく同じコードです。

  2. 2

    wasm-bindgen

    薄いバインディング層が、それらの関数をブラウザから直接呼べるWebAssemblyモジュールに変えます。

  3. 3

    Web Worker

    モジュールはワーカー内で一度だけ初期化されるため、重いエンコードがUIを止めることはありません。

crates/

  • image-codecs

    WebP・AVIF・JPEG・PNGなどのデコードとエンコード

    image · rav1e · libwebp (optional)

  • svg-converter

    色の領域に曲線を当てはめ、本物のベクターパスを出力

    vtracer · visioncortex

  • data-convert

    1本の型付きツリーと6つのテキスト形式、さらにMarkdown

    serde · csv · toml · pulldown-cmark

  • archive-tools

    gzip・zlib・DEFLATE・Brotli・ZIPを双方向に

    flate2 · brotli · zip

質問

よくある質問

ウェブサイトにファイルを預ける前に、誰もが確かめておきたくなることをまとめました。

Pack Camoは本当に無料ですか?
無料です。アカウントも透かしも、1日あたりの上限も、ファイルサイズによる区分もありません。全体が静的なウェブアプリで、変換にかかるコストはあなた自身のCPU時間だけです。
ファイルはサーバーにアップロードされますか?
されません。変換はすべてブラウザの中で完結します。画像・データ・アーカイブのツールはRustからコンパイルしたWebAssemblyモジュールで、文書コンバーターは同じページ上のJavaScriptで動きます。ファイルはメモリに読み込まれ、変換され、ダウンロードとして返されます。ネットワークを通らないので、あとから削除すべきものも残りません。
どんな種類のファイルを変換できますか?
4系統です。画像:PNG・JPEG・WebP・GIF・BMP・TIFF・ICO・SVGが入力、WebP・AVIF・JPEG・PNG・トレースしたSVGが出力。構造化テキスト:JSON・JSONL・YAML・TOML・CSV・TSVを任意の方向へ、さらにMarkdownからHTMLへ。文書:Wordの.docxからPDFへ、PDFから.docxへ。そしてどんなファイルもgzip・zlib・DEFLATE・Brotliで圧縮でき、ZIPにまとめられます。
ほかのオンライン変換サービスと何が違いますか?
多くのサービスは、他人のマシン上のキューにファイルを送り、リンクを返してきます。Pack Camoはデスクトップアプリと同じコーデックライブラリを使って手元でデコードとエンコードを行います。オフラインでも動き続けるのはそのためです。
スマートフォンでも使えますか?
使えます。WebAssemblyに対応した最近のモバイルブラウザであれば動作します。非常に大きな画像はブラウザが1つのタブに割り当てるメモリに制限されるため、スマートフォンではエンコード前に長辺の上限を設定するとよいでしょう。
なぜカメレオンなのですか?
この仕事が「適応」だからです。同じ中身のまま、次に行く先に合わせて形だけを変える — 何であるかは変えずに。
満足げな表情のPack Camoのカメレオン

ファイルを置いて、変わる様子を見てください。

インストールも登録も不要で、どこにも何も送信しません。ワークスペースを選んで始めましょう。