画像が表示されない原因のほとんどは、パスの間違い・ファイル名や拡張子の不一致・ファイルの置き場所のずれです。上から順にチェックすれば、ほぼ確実に特定できます。
画像が表示されない主な原因
最も多い原因はsrc属性に書いたパスの間違いで、次いでファイル名の大文字小文字、拡張子の不一致と続きます。
原因と確認方法の対応は以下の通りです。
| 原因 | 確認方法 |
|---|---|
| パスの間違い | src属性とフォルダ構成を照合する |
| 大文字小文字の不一致 | photo.jpgとPhoto.JPGの違いを確認する |
| 拡張子の不一致 | 実際のファイル形式と拡張子を見比べる |
| 置き場所(階層)のずれ | HTMLから見た画像の位置を確認する |
| サーバー未アップロード | サーバー上に画像があるか確認する |
以降で、発生頻度の高い順に対処法を解説します。F12キーで開く開発者ツールにも読み込みエラーが表示されるため、あわせて確認すると特定が早くなります。
原因1: パス・ファイル名の間違い
src属性に書いたパスが、実際のファイルの場所・名前と1文字でも違うと画像は表示されません。パスとは、HTMLファイルから見た画像ファイルの場所を示す道順のことです。
次のようなフォルダ構成を例にします。
index.html
images/
photo.jpg
この構成での正しい書き方は、次の通りです。
<img src="images/photo.jpg" alt="商品の写真">
Webサーバーの多くは大文字と小文字を別のファイルとして区別するため、ローカルでは表示されてもサーバー上では表示されないことがあります。photo.jpgとPhoto.JPGは別物です。
.jpgと.jpeg、.pngの取り違えも定番の原因です。エクスプローラーやFinderで実際の拡張子を表示して、srcの記述と一致しているか確認してください。
原因2: ローカル・階層のずれ
HTMLファイルと画像ファイルの相対位置が想定とずれていると、パスの書き方自体が正しくても表示されません。
画像がHTMLより1つ上のフォルダにある場合は、src="../photo.jpg"のように「../」を付けて上の階層を指定します。「../」の数が足りない・多すぎるのもよくあるずれ方です。
「file:///C:/Users/…」のようなローカルの絶対パスをコピーして書くのも要注意です。自分のPCでは表示できても、サーバーにアップロードすると誰の環境でも表示されなくなるため、必ず相対パスで指定します。
サーバー公開後に表示されない場合は、FTPソフトやサーバーのファイルマネージャで、画像ファイルが実際にアップロードされているかを確認します。ファイルがある場合も、大文字小文字を含めてsrcのパスと完全に一致しているかを見直してください。
逆にローカルでだけ表示されない場合は、画像をまだダウンロードしていない、別のフォルダに保存しているといった可能性を確認します。
画像が表示されないマーク(壊れアイコン)の意味
壊れた画像のアイコンは、ブラウザが指定されたURLから画像を取得できなかったという合図です。imgタグ自体は認識されているため、疑うべきはsrc属性の中身です。
alt属性を設定していると、アイコンとあわせて代替テキストが表示されます。アイコンが出ている時点で、パス・ファイル名・置き場所のいずれかに原因があると絞り込めます。
開発者ツール(F12)のネットワークタブを開いてページを再読み込みすると、404と表示された行が読み込みに失敗した画像です。そこに出る実際のリクエストURLと、ファイルの本当の場所を見比べれば原因を特定できます。
HTMLの画像が表示されない時の対処に関するよくある質問
jpg画像なのに表示されないのはなぜですか?
実際の拡張子が.jpegになっている、大文字の.JPGになっているなど、srcの記述と実ファイル名の不一致が定番の原因です。pngでも同じ確認が有効です。
画像の中央寄せができないのはなぜですか?
imgは文字と同じ扱いのインライン要素のためです。親要素にtext-align: centerを指定するか、imgにdisplay: blockとmargin: 0 autoを指定すると中央に寄せられます。
alt属性を書かないと画像は表示されませんか?
altは表示の可否には影響しません。画像が出ない原因はsrc属性側にあります。
画像を貼り付けても表示されないのはなぜですか?
エディタへの貼り付け(ペースト)では、画像ファイルはフォルダに配置されないためです。画像をファイルとして保存したうえで、imgタグのsrcにそのパスを指定する必要があります。
実務に直結するIT・DX研修を、あなたの組織に。
CodeCampは、企業の課題や育成目標に合わせて、 Web開発・プログラミング・生成AI活用・DX人材育成などの研修を設計・提供しています。