SVGファイルをアップロード
最大10MBのファイルを3個まで変換できます
SVGファイルをアップロード
登録して1日10回の無料変換を取得
SVGからWebPへの変換とは?
SVGからWebPへの変換は、ベクターグラフィックスをGoogleが開発したモダンなラスターフォーマットにラスタライズするプロセスです。この変換では、図形、パス、テキストの数学的記述が、高度な圧縮アルゴリズムを適用して最適化されたピクセルグリッドに変換されます。結果として、読み込み速度が重要なウェブページに適した、透過性をサポートするコンパクトなファイルが得られます。
SVG(Scalable Vector Graphics)は、すべてのグラフィック要素が座標と属性で記述されたXMLドキュメントです。円、長方形、ベジェ曲線で構成された複雑なパス - これらすべてはブラウザが表示するたびに解釈するテキスト命令です。SVGファイルのサイズはジオメトリの複雑さに依存しますが、表示サイズには依存しません。同じファイルが100×100ピクセルでも10000×10000ピクセルでも完璧に表示されます。
WebPは、VP8ビデオコーデックの圧縮アルゴリズムを静止画像用に適応したものを使用しています。フォーマットは2つのモードをサポートしています:写真用のlossy(非可逆)と、シャープなエッジを持つグラフィックス用のlossless(可逆)。WebPのユニークな特徴は、両方のモードで透過性をサポートしていることで、これは非可逆圧縮フォーマットでは珍しいことです。
なぜ無限にスケーラブルなベクターを有限のラスターにラスタライズするのでしょうか?答えはパフォーマンス、互換性、そして特定の用途に関連しています。何百ものSVGアイコンを持つウェブサイトは、ベクターレンダリングのオーバーヘッドにより、モバイルデバイスで遅くなることがあります。最適化されたWebPファイルはより速く読み込みと表示ができます。
SVGとWebPの技術比較
グラフィックス表現の原則
SVG(ベクター):
- 幾何学的プリミティブとパスで画像を記述
- CSSスタイル、SMILアニメーション、JavaScriptスクリプトをサポート
- テキストはテキストのまま - 検索エンジンにインデックスされ、コピー可能
- 品質を損なうことなく無限にスケーラブル
- ファイルサイズはパスの複雑さに依存し、解像度には依存しない
WebP(ラスター):
- 予測符号化圧縮されたピクセルのマトリックスを保存
- インタラクティブ性のない静止画像(アニメーションWebPを除く)
- テキストはピクセルになり、編集可能性を失う
- 元の解像度を超えて拡大するとぼやける
- ファイルサイズはピクセル数と圧縮品質に比例
フォーマット比較表
| 特性 | SVG | WebP |
|---|---|---|
| グラフィックタイプ | ベクター | ラスター |
| 作成年 | 2001 | 2010 |
| 開発者 | W3C | |
| スケーラビリティ | 無限 | 解像度による制限 |
| 透過性 | opacity, fill-opacity | 8ビットアルファチャンネル |
| 圧縮タイプ | テキスト(gzip) | Lossy/Lossless |
| アニメーション | CSS, SMIL, JavaScript | アニメーションWebP |
| インタラクティブ性 | マウスイベント、DOM操作 | 不可 |
| テキストのインデックス化 | 可能 | 不可 |
| ファイルサイズ(ロゴ) | 1-10 KB | 5-30 KB |
| ファイルサイズ(複雑なグラフィック) | 50-500 KB | 通常より小さい |
| ブラウザサポート | 98%以上 | 97%以上 |
| レンダリング時のCPU負荷 | 高い | 低い |
| セキュリティ | 潜在的なXSS | 完全に安全 |
WebPがSVGより効率的な場合
逆説的ですが、特定のタイプのグラフィックスでは、ラスターWebPがベクターSVGよりコンパクトになることがあります:
- 多くのディテールを持つ複雑なイラストレーション - SVGの数千のpath要素は圧縮されたラスターより多くのスペースを占める
- グラデーションとテクスチャ - linearGradient/radialGradientによる記述は冗長で、WebPの方が効率的に圧縮する
- トレースされた画像 - 自動ベクター化は冗長なノードを作成する
- 写真要素を含むイラストレーション - SVGへのラスターフラグメントの挿入は最適ではない
シンプルなロゴ、アイコン、図表には、SVGが好ましいままです - ファイルが小さく、完璧にスケールします。
SVGからWebPへのラスタライズプロセス
変換ステージ
SVGドキュメントの解析 - ファイルのXML構造が分析され、要素のツリーが構築されます。参照(use、defs)、スタイル(CSS、インライン)、変換(translate、rotate、scale)が処理されます。
座標系の決定 - 表示領域を定義するviewBoxが読み取られます。スケール(scale)が指定されている場合、最終的なピクセルサイズが計算されます。例えば、viewBox="0 0 200 200"でscale=1.5の場合、300×300ピクセルの画像になります。
フォントの読み込み - テキスト要素にはフォントが必要です。font-familyで指定されたシステムフォントが使用されます。必要なフォントがない場合、フォールバック(通常serifまたはsans-serif)が適用されます。
要素のラスタライズ - 各要素がピクセルバッファにレンダリングされます:
- パス(path)はサブピクセル精度でベジェ曲線として補間される
- プリミティブ(rect、circle、ellipse、line)は幾何学的公式で計算される
- テキストはカーニング、行間、配置を考慮してレンダリングされる
- グラデーションはカラーストップ間で補間される
- フィルター(blur、drop-shadow、feGaussianBlur)はピクセルごとに適用される
レイヤーの合成 - 透過性(opacity < 1)とブレンドモード(mix-blend-mode)を持つ要素は、アルファ合成ルールに従って互いに重ねられます。
WebPエンコーディング - RGBAバッファがWebPエンコーダーで圧縮されます:
- Lossy:予測符号化 + DCT + 量子化
- Lossless:LZ77 + 算術符号化 + ピクセル変換
WebP品質管理
WebPはサイズ/品質比を柔軟に制御できます:
Lossyモード(quality 0-99):
- quality 85-95:ウェブグラフィックスに優れた品質、PNGより30-50%節約
- quality 70-84:グラデーションで目に見えるアーティファクト、小さな要素には許容範囲
- quality < 70:目に見えるブロックアーティファクト、ドラフト用のみ
Losslessモード(quality 100):
- 元画像とビット単位で同一
- ファイルサイズはlossyより大きいが、PNGより20-30%小さい
- シャープなエッジとテキストを持つグラフィックスに最適
SVG→WebPの推奨:ロゴやアイコンにはquality 90-100、イラストレーションにはquality 80-90。
変換時の透過性の保持
SVGが透過性を保存する方法
SVGは透過性を管理するためのいくつかのメカニズムを提供します:
<!-- 要素全体の透過性 -->
<rect opacity="0.5" fill="blue" ... />
<!-- 塗りつぶしのみの透過性 -->
<rect fill-opacity="0.7" fill="red" ... />
<!-- ストロークのみの透過性 -->
<rect stroke-opacity="0.3" stroke="green" ... />
<!-- 組み込み透過性を持つRGBAカラー -->
<rect fill="rgba(255, 128, 0, 0.6)" ... />
<!-- マスクとクリップパス -->
<rect mask="url(#gradient-mask)" ... />
SVGの透明な背景とは、背景要素がないことです。グラフィックオブジェクトの背後のスペースはデフォルトで透明です。
WebPへのアルファチャンネルの転送
WebPは、lossyとlosslessの両方のモードで完全な8ビットアルファチャンネル(256レベルの透過性)をサポートしています。SVG→WebP変換時:
- 完全に透明な領域(背景)はalpha=0を取得
- 半透明要素は正確な透過値を保持
- ソフトシャドウ、ぼかしたエッジ、グラデーション透過は正しく転送される
これはJPEGに対するWebPの主な利点です - どのような背景にも配置できる透過性を持つコンパクトなファイルを作成できます。
Lossy圧縮とアルファチャンネル
WebPのユニークな特徴:lossyモードでは、アルファチャンネル自体は可逆圧縮され、カラーコンポーネントは非可逆圧縮されます。これにより、カラーの積極的な圧縮でも透明領域のシャープなエッジが確保されます。
結果:透明背景上のロゴがWebP lossy(quality 85)でPNGの3-5分の1のサイズになり、完璧なエッジを維持します。
SVGからWebPへの変換が必要な場合
ウェブページの読み込み速度の最適化
SVGは軽量なフォーマットに見えますが、レンダリングにはリソースが必要です:
- XML解析 - ブラウザは読み込みのたびにテキスト構造を解析する
- DOM構築 - 各要素にオブジェクトのツリーが作成される
- ラスタライズ - 表示時にベクターはいずれにせよピクセルに変換される
- インタラクティブ性 - イベントハンドラがオーバーヘッドを追加する
50-100のSVGアイコンを持つページは、弱いデバイスで著しく遅くなることがあります。事前にラスタライズされたWebPに置き換えることで、CPU負荷が軽減され、レンダリングが高速化されます。
ツールとの互換性
WebPは、ラスター画像が必要なほぼすべての場所でサポートされています:
| プラットフォーム/ツール | SVG | WebP |
|---|---|---|
| 不可 | 可能 | |
| 不可 | 可能 | |
| Shopify(商品) | 不可 | 可能 |
| AMPページ | 可能だが重い | 推奨 |
| メールニュースレター | ブロックされる | サポート |
| CDN最適化 | 不可 | 自動変換 |
| 遅延読み込み | 複雑 | ネイティブ |
特定のコンテキストのサイズ固定
SVGはコンテナに適応しますが、これは時として望ましくありません:
- 検索結果のプレビュー - YandexとGoogleは固定サイズのラスター画像を必要とする
- Open Graph / Twitter Cards - ソーシャルネットワークはラスターのみを表示
- Favicon - ブラウザはSVGをラスターに変換するので、プロセスを自分で制御する方が良い
- 広告バナー - ネットワークは正確なピクセルサイズを必要とする
セキュリティ
SVGにはJavaScriptコードを含めることができ、これはXSS攻撃の脅威を作り出します。多くのプラットフォームがSVGをブロックしています:
- WordPressはデフォルトでSVGのアップロードを禁止
- ほとんどのCMSはセキュリティ上の理由からSVGをフィルタリング
- メールクライアントはSVG添付ファイルを削除またはブロック
WebPは安全です - コードを埋め込む可能性のないバイナリピクセルデータです。
最適な使用シナリオ
ウェブアプリケーション用アイコン
モダンなウェブアプリケーションには数百のアイコンが含まれています。SVGスプライトアプローチは人気がありますが、欠点があります:
- 多くのアイコンがある場合のスプライトサイズが大きい
- 1つのアイコンだけでもスプライト全体を読み込む
- 各アイコンのレンダリングコスト
代替案:SVGアイコンを必要なサイズ(16px、24px、32px、48px)のWebPに変換し、遅延読み込みで通常の画像として使用する。
メールニュースレター用ロゴ
メールクライアントはSVGを表示しませんが、ほとんどのモダンなクライアントはWebPをサポートしています:
| クライアント | メールでのWebP |
|---|---|
| Gmail | 可能 |
| Outlook.com | 可能 |
| Apple Mail(iOS 14+) | 可能 |
| Yahoo Mail | 可能 |
| Outlook Desktop | 2022年以降 |
メールでのWebPロゴは以下を提供します:透過性(どの背景でもロゴ)、コンパクトさ(高速読み込み)、互換性(古いクライアントを除く)。
モバイルアプリケーション用グラフィック
ネイティブモバイルアプリケーションはSVGをほとんどレンダリングしません - ライブラリとリソースが必要です。WebPはネイティブでサポートされています:
- Android - API 14(4.0)からフルサポート
- iOS - iOS 14からフルサポート
SVGを異なるサイズ(@1x、@2x、@3x)のWebPに変換することは、モバイル開発の標準的なプラクティスです。
既存サイトの最適化
パフォーマンス監査では、「重い」SVGがしばしば見つかります:
- 最適化せずにIllustratorからエクスポートされたもの
- 冗長なエディタメタデータを含むもの
- 埋め込まれたラスターフラグメントを含むもの
- 複雑なフィルター(blur、drop-shadow)を持つもの
これらのファイルをWebPに変換すると、視覚的な品質を維持しながらページ重量を2-5倍削減できます。
変換設定
スケール(scale)の選択
スケールはラスタライズ時のピクセル密度を決定します:
- scale=1(100%) - 標準密度、viewBoxの1単位 = 1ピクセル
- scale=2(200%) - Retina/HiDPIスクリーン用、2xディスプレイでの鮮明さ
- scale=0.5(50%) - 元が過度に大きい場合の縮小
推奨:ウェブグラフィックスにはscale=1-2、印刷用 - 必要なDPIから計算。
品質の選択
- 100(lossless) - ロゴ、アイコン、テキスト用 - ビット単位の精度
- 90-95 - ウェブグラフィックスの優れたバランス
- 80-85 - 顕著なサイズ節約、最小限のアーティファクト
- < 80 - プレビューまたは重要でない画像のみ
追加の変換
変換時に適用可能:
- 回転(rotation) - 90°、180°、270°
- 反転(flip) - 水平、垂直
- グレースケール(grayscale) - 白黒バージョン
これらの変換はSVGのラスタライズ後、完成したピクセル画像に適用されます。
制限事項と推奨事項
ベクター特性の喪失
WebPに変換後、画像は以下を失います:
- 個々の要素を編集する機能
- 無限のスケーラビリティ
- インタラクティブ性(マウスイベント、スクリプト)
- 編集可能なテキスト
- CSSアニメーション
将来の変更や他のサイズへのエクスポートのために、元のSVGファイルを保存してください。
フォント依存性
SVGのテキストはシステムフォントでレンダリングされます。サーバーでの変換時に異なるフォントセットが使用される可能性があり、テキスト表示が変わることがあります。
解決策:
- 変換前にIllustrator/Inkscapeでテキストをカーブ(アウトライン)に変換
- 一般的なシステムフォント(Arial、Times、Helvetica)を使用
- base64を使用した@font-faceでSVGにフォントを埋め込む
PNGとWebPの選択
PNGの代わりにWebPを選ぶ場合:
- ファイルサイズが重要(WebPは25-35%小さい)
- ターゲットオーディエンスがモダンブラウザ
- 透過性のサポートが必要
PNGを選ぶ場合:
- 100%の互換性が必要(古いブラウザ、すべてのプログラム)
- 画像をPhotoshop/GIMPで編集する
- ファイルを他のフォーマットに変換する
アニメーションSVG
CSS/SMIL/JavaScriptアニメーションを持つSVGは、変換時に静止画像(最初のフレームまたはアニメーションなしの状態)になります。アニメーションを保持するには:
- アニメーションWebP(サポートは限定的)
- GIF(256色、大きなサイズ)
- ビデオフォーマット(MP4、WebM)
SVGからWEBPへの変換の用途
ウェブサイト用アイコンの最適化
SVGアイコンをコンパクトなWebPファイルに変換し、ページ読み込みを高速化し、モバイルデバイスのCPU負荷を軽減
メールニュースレター用ロゴ
SVGをサポートしないメールクライアントで正しく表示するための、透過性を持つロゴのWebPバージョンを作成
ソーシャルネットワーク用グラフィック
Instagram、Pinterest、その他SVGではなくラスターフォーマットを必要とするプラットフォーム用の画像を準備
モバイルアプリケーション
ネイティブiOSおよびAndroidアプリケーション用に、異なるサイズ(@1x、@2x、@3x)でSVGグラフィックをWebPにエクスポート
AMPとCore Web Vitals
パフォーマンス指標とSEOを改善するために、重いSVGを最適化されたWebPに置き換え
CMS用プレビュー
セキュリティ上の理由からSVGアップロードをブロックするコンテンツ管理システム用のWebPプレビューを生成
SVGからWEBPへの変換のヒント
元のSVGを保存する
WebPは固定解像度の「凍結された」バージョンです。将来の変更、他のサイズやフォーマットへのエクスポートのために、元のベクターファイルを保存してください
ロゴにはlosslessを使用する
シャープなエッジ、テキスト、ソリッドな塗りつぶしを持つグラフィックスには、quality 100を選択してください。Lossy圧縮はコントラストの高い遷移部分でアーティファクトを作成します
テキストをカーブに変換する
SVGのテキストが正しく表示されない場合は、変換前にIllustratorまたはInkscapeでパス(アウトライン)に変換してください - これによりフォント依存性が解消されます
解像度に余裕を持って作成する
2x解像度で変換して必要に応じて縮小する方が、完成したWebPを品質を損なって拡大するより良いです