少々お待ちください...(/)
現在、画像を最適化しています。最高の品質結果を保証するために、少々お待ちください。
素晴らしい、画像の圧縮に成功しました。
画像が最適化されました。
現在、画像を最適化しています。最高の品質結果を保証するために、少々お待ちください。
画像が最適化されました。
SVGをメモ帳で開くと、タグや数値、テキストなどすべてが見えます。これがSVGというフォーマットです。ピクセルも写真もなく、図形を描くための指示だけが記述されています。これが意味するのは、ここでの圧縮の仕組みが他と異なるということです。何かを無理に詰め込んだり近似したりはしません。冗長なテキストだけが取り除かれ、描画自体には一切影響しません。
実際のアートワークはほとんど容量を占めていません。Illustrator、Figma、Inkscapeからロゴをエクスポートすると、ファイルにはエディタの「書類仕事」がたくさん付いてきます。ジェネレーターコメント、2008年以降ほとんど使われていないDOCTYPE、XML宣言、RDFで記述されたメタデータブロック、レイヤー名、そしてどの要素も使っていないクラスが詰まったstyleブロック。実際にテストしたロゴでは、これらがファイル全体の約3分の2を占めていました。本来の図形部分はごくわずかです。
さらに数値の問題もあります。エディタは座標をフルの浮動小数点精度で書き出すため、例えば10の位置に幅180の四角形があれば「10.000000」「180.00000000」と保存されます。これがすべてのパスのすべての点に適用されるので、小数点以下の桁数だけで描画部分より重くなることもあります。
ここを心配する人が多いですが、実は心配無用です。SVGには解像度という概念がありません。表示サイズに応じて毎回新しく描画されるため、16ピクセルのファビコンでも巨大な看板でも同じくシャープです。メタデータブロックを削除しても何も変わりません。返却されるファイルはアップロードしたものと同じように、どんなサイズでも正確に拡大縮小でき、見た目もまったく変わらず、元のエディタでそのまま編集できます。
このクリーンアップは慎重に設計されており、描画に影響しないものだけを対象としています。
| 削除されるもの | 保持されるもの |
|---|---|
| エディタのコメントやジェネレーター文字列 | すべての図形、パス、カーブ |
| メタデータブロックとそのRDF名前空間 | 色、グラデーション、不透明度 |
| DOCTYPEやXML宣言 | テキスト要素やフォント |
| どこからも参照されていない定義 | 使用中のフィルター、マスク、クリップパス |
| 空のグループやレイヤー | 変形(transform)やviewBox |
| 座標の不要な小数点以下 | 見た目に影響するすべて |
SVGは主にロゴやアイコンとして使われるため、サイトのすべてのページのヘッダーに配置され、他のどの要素よりも先に読み込まれます。写真は遅れて、かつ遅延読み込みされることが多いですが、アイコンは違います。ヘッダーロゴの数KBを削ることは、記事中ほどの画像の同じ容量を削るよりもページの表示速度に大きく貢献します。なぜなら、ヘッダーが読み込まれるまでブラウザは画面を描画できないからです。
クリーンアップではファイル内のid属性が短縮されます。同じSVG内の参照はすべて自動で書き換えられるため、グラデーションやマスク、クリップパスもそのまま機能し、描画も変わりません。ただし、ファイル外部のコードまでは把握できません。SVGがアイコンスプライトとして他のページから参照されていたり、スタイルシートやスクリプトがidで要素を指定している場合は、ファイルを差し替えた後に動作確認をおすすめします。通常のロゴやエクスポートしたアイコンであれば、特に確認は不要です。
SVGが必ずしもベクターとは限りません。Illustratorのアートボードに写真を配置してSVGでエクスポートすると、その画像がbase64文字列としてXML内に埋め込まれます。たった一つの図形でもファイルサイズが2MBになることも。マークアップのクリーンアップではこのブロックには手を加えません。なぜならそれはマークアップではなく画像データだからです。もし圧縮してもほとんどサイズが減らず、もともと写真が含まれていた場合は、画像部分を取り出してJPEGやPNGとして個別に圧縮してください。
オプションや圧縮レベル、高度な設定タブはありません。ファイルをアップロードすれば、クリーンな状態で返却されます。複数同時アップロードも同じ要領で、完了したものから個別にダウンロードすることも、まとめてZIPで取得することもできます。
ファイルは暗号化された通信で送信され、クリーンアップ後1時間以内にサーバーから削除されます。保存や他用途への利用は一切ありません。
ビットマップ版のロゴも扱っていますか?PNG圧縮は透過ロゴ向け、WebP圧縮はモダンな形式に対応しています。もしSVG内に写真が埋め込まれていた場合は、JPG圧縮で画像部分を処理してください。