本文へスキップ

SVG最適化

SVG Optimiser

編集ソフトの残骸を取り除き、変換をまとめ、座標の桁を丸めて、描画結果を並べて比べます。

デザインツールから保存したSVGは、エディタのメタデータと、誰もほどかなかった変換の並びと、小数第7位まで書かれた座標を抱えています。それを全部取り除くのは簡単で、難しいのは絵が変わったかどうかを知ることです。だからここは、バイト数だけでなく差分の表示を出します。

🔒 ブラウザの中だけで動きますsvgoptimizevectorweb

SVG を置いてください

下のマークアップを直接編集してもかまいません。何もアップロードしません。

マークアップを編集

使い方

  1. SVGを置くか、マークアップを貼ります

    打ちながら最適化するので、ファイルを貼る使い方も、その場で直す使い方もできます。

  2. 精度を決めます

    24単位のviewBoxなら、小数2桁は100倍に拡大しても100分の1ピクセルです。1桁を切ると、アイコンが目に見えてずれはじめます。

  3. 差分の表示を確かめます

    最適化後のファイルを元の上に差分モードで重ねます。真っ黒なら描画結果は同一で、光っているところが動いたピクセルです。

  4. SVGかデータURIをコピーします

    ここのデータURIはBase64ではなくURLエンコードなので、元ファイルに対して33%ではなくおよそ10%増で済みます。

よくある質問

「titleを削除」が、なぜ初期状態で切ってあるのですか

`<title>`がインラインSVGのアクセシブルな名前だからです。消して浮くのは30バイトほどで、代わりにスクリーンリーダーを使う人にとって、名前のあったアイコンが名前のないアイコンになります。

最適化したらアイコンが少しずれました

そのviewBoxに対して精度が低すぎます。viewBoxが小さいと1単位が絵の大きな割合を占めるので、小数1桁への丸めが目に見えて動かします。差分の表示が真っ黒になるまで精度を上げてください。

パスのデータも短くしてくれますか

数値を丸め、純粋な平行移動を焼き込み、それで何バイト減ったかを報告します。コマンドをより短い等価の書き方に置き換えることはしません。それは曲線の種類を変える処理で、パス最適化が本物のバグを持ち込むのはそこだからです。

ここから渡せます

次の一手

このツールが出したものをそのまま受け取れる道具です。