SVGファイルの色を直接変更する方法

はじめに

Web制作では、配布されたSVGアイコンやロゴの色を少しだけ変更したい場面がよくあります。
Illustratorを開かなくても、SVGはXMLベースで記述されたベクター画像なので、fill や stroke、あるいは style やCSSの指定を書き換えることで色を変更できます 。
この記事では、Web制作の実務でよく使うSVG色変更の手順をまとめます。

そもそもSVGとは

SVG(Scalable Vector Graphics)は、XML形式で記述されるベクター画像です。
PNGやJPGのようなピクセル画像ではなく、図形や線、塗りの情報をコードで表現します 。
そのため、テキストエディタで開くと次のようなコードが見えます。

xml<svg>
  <path fill="#000000" d="..." />
</svg>

この fill="#000000" が塗り色の指定です。
また、線の色は stroke で指定できます 。

SVGファイルの色を直接変更する手順

手順1:SVGをテキストエディタで開く

SVGファイルをテキストエディタで開きます。
使用ツール例は、VS Code、サクラエディタ、メモ帳などです。
VS Codeなら、ドラッグ&ドロップですぐに開けます。

手順2:色コードを探す

次に、色が指定されている部分を探します。
主に確認するのは以下です。

  • fill(塗り色)
  • stroke(線の色)
  • style="fill:..." などのインライン指定
  • CSS側の fill や stroke 指定

検索するときは、次の文字列が便利です。

  • fill=
  • stroke=
  • style=
  • fill:
  • stroke:

手順3:色コードを書き換えて保存する

見つけた色コードを、任意のカラーコードに変更します。

xml変更前: fill="#000000"
変更後: fill="#ff6600"

保存後、ブラウザで開いて色が変わっているか確認します。
カラーコードの確認には、Color Hexのようなサイトが便利です。

色が変わらないときの対処

実務では、色を書き換えても反映されないケースがあります。

style属性で指定されている場合

次のような書き方の場合があります。

xml<path style="fill:#000000;" d="..." />

この場合は、style= や fill: を探して変更します 。

CSSで色が指定されている場合

SVG内に class がある場合、外部CSSが影響している可能性があります。

xml<path class="icon-color" d="..." />

この場合は、CSS側の fill を修正します 。

複数のpathに色がある場合

複数の path に色が設定されていることもあります。

xml<path fill="#000000" d="..." />
<path fill="#cccccc" d="..." />

この場合は、該当する色をすべて変更します。
VS Codeの「すべて置換」が便利です。

注意点

  • <img> タグで読み込んだ外部SVGは、HTML側のCSSから中身の fill を直接変えられないことがあります 。
  • その場合は、SVGファイル自体を編集するか、インラインSVGにする必要があります 。
  • currentColor を使ったSVGは、親要素の color に応じて色が変わるため、運用方法によっては便利です 。

まとめ

SVGは、コードとして編集できる画像です。
そのため、fill や stroke を書き換えるだけで色変更が可能です 。
実務で押さえておきたいポイントは次の3つです。

  • fill と stroke を探す。
  • style 指定の有無を確認する。
  • CSSや読み込み方法の影響を疑う 。

この基本を覚えておくと、アイコン調整やUI修正の作業効率が大きく上がります。

コメントする

上部へスクロール