画像を表示させようと思ってHTMLを書いたのに、なぜか画像が出てこないってこと、よくありますよね。
ちゃんと書いたつもりなのに表示されなくて、「どこが間違ってるの?」と悩んでしまうこともあると思います。
この記事では、HTMLで画像が表示されない原因とその解決方法について、くわしく分かりやすく説明していきます。
パソコンやスマホ、ブラウザの違いで表示されない場合のチェックポイントなども紹介します。
この記事を読めば、なぜ画像が表示されないのかが理解できて、自分で原因を見つけて直せるようになります。
これからWebサイトやブログを作っていく上でとても役立つ知識ですので、ぜひ最後まで読んで参考にしてください。
HTMLで画像が表示されない主な原因とは?

画像ファイルのパスが間違っている
画像が表示されないときに最も多い原因は、画像ファイルのパスが間違っていることです。
画像ファイルの場所を正しく指定できていないと、ブラウザはその画像を読み込むことができません。
ここでは、よくあるミスと確認ポイントをわかりやすく紹介します。
- 画像ファイルが保存されているフォルダとHTMLファイルの場所が合っていない
- パスに全角スペースや日本語が使われていて正しく認識されていない
- ファイル名の綴りやフォルダ名を間違えている
- 拡張子(.jpgや.pngなど)が間違っている
- 相対パスと絶対パスを混同している
上記のようなポイントを確認することで、画像の表示トラブルは多くの場合解決できます。
特に初心者の方は、フォルダ構成とファイル名を丁寧に確認することが重要です。
画像ファイルの拡張子が正しくない
画像が表示されない原因として、拡張子の間違いもよくあります。
画像ファイルの種類によって使われる拡張子が異なるため、HTMLで指定した拡張子と実際の画像ファイルの拡張子が一致していなければ、画像は表示されません。
- よく使われる拡張子は「.jpg」「.jpeg」「.png」「.gif」「.webp」など
- 大文字と小文字の違いもエラーの原因になる(例:.JPGと.jpg)
- MacやWindowsで見える拡張子が、サーバー上では異なる場合がある
拡張子の確認は、ファイルをアップロードする前にしっかり行いましょう。
ファイル名をクリックして詳細を見るか、パソコンの設定で拡張子を表示させる方法もあります。
ファイル名の大文字・小文字の違い
画像ファイル名の大文字と小文字の違いも、画像が表示されない理由のひとつです。
特にWebサーバーは、大文字と小文字を区別することが多いため、見た目では同じに見えても別のファイルとして認識されます。
- 「Photo.jpg」と「photo.jpg」は別のファイルと判断される
- HTML側で指定したファイル名と画像の実際のファイル名を完全に一致させる必要がある
- 開発中はローカルで表示されても、本番サーバーではエラーになることがある
ファイル名をすべて小文字で統一すると、ミスを減らすことができます。
特に複数人で作業する場合は、チーム全体でルールを決めると安心です。
画像ファイルがアップロードされていない
画像が正しい場所にアップロードされていない場合も、当然ながら表示されません。
ファイルを忘れてアップロードしていなかったり、アップロードエラーが発生していたりするケースも少なくありません。
- FTPソフトでのアップロードミス
- アップロード時にファイルが破損している
- アップロード先のディレクトリが間違っている
- 画像ファイルの名前を変更したのに、古いファイルのままアップしている
サーバー側の画像フォルダにファイルがあるかを確認し、再アップロードしても表示されないときはキャッシュを疑うのもひとつの手です。
相対パスと絶対パスの使い方の違い
HTMLで画像を表示するには、画像ファイルのパスを正しく記述することが大切です。
その中でも相対パスと絶対パスの違いを理解して使い分けることがとても重要です。
- 相対パスは「今のファイルの場所」から見た位置で指定する
- 絶対パスは「Webサイトのルート」や「URL」で指定する方法
- 開発中は相対パスでうまくいっていても、本番環境で失敗することがある
- WordPressやCMSを使っている場合は絶対パスが推奨されることも多い
パス指定は、作業環境やファイル構成に合った方法を選ぶことがコツです。
初心者の方は、まず相対パスの書き方に慣れるのがおすすめです。
画像表示トラブルのHTMLコードチェックポイント

imgタグの基本構文を確認する
HTMLで画像を表示するときに使うのがタグです。
このタグが正しく書かれていないと、どれだけ画像ファイルやパスが正しくても表示されません。
まずは基本の書き方をしっかり確認しましょう。
- タグは <img src=”画像のURL” alt=”代替テキスト”> の形で書く
- 閉じタグは不要ですが、XHTML形式では <img /> のようにスラッシュを入れる
- 属性(srcやalt)は半角で正しく入力する
- 「=」の前後にスペースを入れない
- 属性の値は「””(ダブルクォーテーション)」で囲む
このように、細かい構文ミスでも画像は表示されなくなるため、慎重に確認しましょう。
特に初心者の方は、コピーペーストせずに手で書いて練習するのもおすすめです。
src属性の指定方法を見直す
imgタグの中でもっとも重要なのがsrc属性です。
これは、画像ファイルがどこにあるかを指定する部分なので、ここにミスがあると画像は絶対に表示されません。
- 画像のファイル名を正確に入力する
- パスが相対パスか絶対パスかを明確に使い分ける
- URLを使う場合は「https://」から始める
- サーバー上に正しくファイルがあるか確認する
- スペルミスや全角文字の使用がないか確認する
srcの指定が正しくても画像が表示されない場合は、画像の場所自体を間違えている可能性があるため、サーバー構成も一緒に見直しましょう。
alt属性の使い方と効果
alt属性は、画像が表示されないときに代わりに表示されるテキストを指定するもので、画像が見えなくても何の画像なのかを伝える大切な役割を持っています。
SEOにも影響があり、アクセシビリティにもつながる重要な要素です。
- alt属性には画像の内容を簡潔に書く
- 装飾用の画像には空のalt属性(alt=””)を使う
- SEO対策としてキーワードを自然に入れる
- 視覚障がい者向けに内容を伝えるための配慮となる
- 画像が読み込まれないときの代替表示になる
alt属性は、画像が表示されないときの保険としても、ユーザーに安心感を与える要素になります。
忘れずに記述する習慣をつけましょう。
width・height属性が影響するケース
画像が表示されていても、サイズが「0」になってしまっていると、画面上には何も表示されないように見えることがあります。
そんなときに確認したいのがwidth(幅)やheight(高さ)の属性です。
画像サイズを指定する方法はいくつかあります。
- HTMLタグ内で指定する(例:width=”300″ height=”200″)
- CSSで指定する(例:style=”width:300px; height:200px;”)
- クラスやIDを使ってCSSファイルから制御する
- 画像ファイル自体のサイズを小さくしすぎない
- 自動縮小やレスポンシブ設定で非表示になっていないか確認
画像サイズが極端に小さくなる設定になっていないか、開発者ツールで確認して調整してみましょう。
原因がサイズだけだったということもよくあります。
HTMLとCSSの干渉による表示不具合
HTMLで正しくimgタグが書かれていても、CSS(スタイルシート)の設定が影響して画像が見えなくなることもあります。
これは見た目の調整のはずが、意図せず画像を隠してしまっているケースです。
CSSによる干渉のよくある例を挙げます。
- display: none が指定されている
- visibility: hidden によって非表示になっている
- z-indexやpositionの関係で他の要素に隠れている
- overflow: hidden の影響で切れている
- opacity: 0 が指定されて透明になっている
このように、CSSの設定によって画像が見えないだけということもあります。
画像が表示されないときは、CSSの設定も必ず一緒にチェックするようにしましょう。
JavaScriptによる画像操作の影響
Webページで動きをつけるためにJavaScriptを使っている場合、そのコードが影響して画像が正しく読み込まれないことがあります。
スクリプトのエラーやタイミングの問題が原因です。
- 画像のsrcをJavaScriptで後から書き換えている
- DOMContentLoadedなどのイベントが発火していない
- jQueryや外部ライブラリとの競合
- 非同期処理のタイミングがずれている
- JavaScriptエラーで処理が止まっている
JavaScriptで画像を操作しているページでは、ブラウザの開発者ツールでエラーが出ていないか確認するのが大切です。
スクリプトを一時的に無効にしてみるのも、原因の切り分けになります。
DOCTYPE宣言やエンコードの問題
HTMLファイルの冒頭にあるDOCTYPE宣言や、文字コードの指定が正しくない場合にも、画像が正しく表示されないことがあります。
これは一見関係ないように見えて、ブラウザがHTMLを正しく解釈できない状態になっていることが原因です。
- DOCTYPEが未指定でブラウザが互換モードになる
- 文字コードがUTF-8以外で画像パスに誤認識が起きる
- HTMLファイルとサーバー側のエンコードが不一致
- metaタグで文字コード指定が漏れている
- ファイル保存時の文字コードを確認していない
こうした設定ミスは初心者が見落としやすい部分なので、新しくHTMLファイルを作成する場合は最初に確認しておくと安心です。
特にDOCTYPEとエンコードの指定は基本中の基本になります。
画像が表示されないときの具体的な解決方法

正しいファイルパスに修正する
画像が表示されないとき、まず最初に見直すべきはファイルパスです。
正しく画像を表示させるためには、HTMLファイルから画像ファイルへの道筋が合っている必要があります。
- 画像とHTMLファイルの位置関係を確認する
- 相対パスまたは絶対パスを使い分ける
- フォルダ名やファイル名にミスがないか確認する
- スペルミスや不要なスペースを修正する
- 日本語や記号が使われていないかチェックする
これらを丁寧に確認し、パスを修正するだけで画像が表示されることは多いです。
ファイルパスの設定は画像表示の基本中の基本なので、初心者の方は特に注意しましょう。
拡張子とファイル形式を確認する
画像の拡張子が間違っていると、ブラウザはその画像を読み込むことができません。
拡張子は画像の種類を示すものなので、正しく指定することが大切です。
- 画像ファイルの拡張子を確認する(例:.jpg, .png, .gif)
- HTMLのsrc属性と実際の拡張子が一致しているか確かめる
- .jpegと.jpgは別物として扱われる場合がある
- OSによって拡張子の表示方法が違うことがある
- 大文字と小文字の違いにも注意する
特に、アップロード後に拡張子が変わってしまうこともあるため、再確認するクセをつけるとよいでしょう。
サーバーに画像を正しくアップロードする
HTMLは正しく書けていても、サーバーに画像ファイル自体が存在していなければ表示されません。
アップロード忘れやミスによって、画像が見えなくなっている可能性があります。
- 画像ファイルがサーバーの正しいフォルダにアップロードされているか確認する
- ファイル名が変更されていないかチェックする
- アップロード時のエラーが発生していないか調べる
- パーミッション(アクセス権)が正しく設定されているか見る
- サーバーのキャッシュで古い状態が残っていないか確認する
画像がサーバーにきちんとアップロードされていないと、どんなにHTMLが正しくても画像は表示されません。
まずはファイルの存在をしっかり確認しましょう。
ファイル名を再確認・統一する
画像ファイルの名前が間違っていることも、画像が表示されない大きな原因です。
特に大文字・小文字の違いや、全角文字、記号などが原因で画像が読まれないことがあります。
ファイル名でよくあるミスを以下にまとめます。
- 「Photo.jpg」と「photo.jpg」は別ファイルとして扱われる
- 日本語や全角文字を使っている
- 半角スペースや特殊記号を含んでいる
- HTMLに書いた名前と一致していない
画像を使うときは、英数字とアンダースコアなどで統一し、すべて小文字にするのがおすすめです。
わかりやすくてミスも減ります。
キャッシュのクリアやリロードを試す
画像が変更されているのに表示が変わらない場合、ブラウザのキャッシュが原因の可能性があります。
キャッシュとは、一度読み込んだ情報を保存して、次回表示を速くする仕組みのことです。
キャッシュが原因かもしれない場合、次のことを試してみましょう。
- ブラウザを強制リロードする(WindowsはCtrl+F5、MacはCommand+Shift+R)
- キャッシュを削除してからページを開き直す
- シークレットモードやプライベートブラウズで確認する
- 別のブラウザで同じページを開いてみる
キャッシュはとても便利ですが、開発中はかえって不具合の原因になることもあります。
こまめなクリアを心がけましょう。
ブラウザの開発者ツールでエラーを確認する
画像がどうしても表示されないときは、ブラウザの開発者ツールを使って原因を探るのが有効です。
エラーの内容が表示されるので、問題点を素早く見つけられます。
確認すべきポイントを以下にまとめます。
- 「F12キー」を押して開発者ツールを開く
- 「Console」タブでエラーメッセージを確認する
- 「Network」タブで画像ファイルの読み込み状況を見る
- ステータスコードが404ならファイルが見つからないことを意味する
- 画像ファイルのURLをクリックして直接アクセスできるか試す
エラーの内容がはっきりすれば、対処方法も明確になるので、早めに開発者ツールを使って確認するのがおすすめです。
外部リソースの制限解除やCDN設定を見直す
画像が外部サイトやCDN(コンテンツ配信ネットワーク)から読み込まれている場合、その設定が原因で画像が表示されないこともあります。
これは特に共有サービスや無料の画像ホスティングを使っているときに起こります。
- 外部画像がホットリンク防止設定で読み込めない
- 読み込み先がHTTPSで、自サイトがHTTPの場合ブロックされる
- CDNのキャッシュが更新されていない
- アクセス制限がかかっていて画像が取得できない
- 画像のURLが期限切れや変更されている
外部画像を使う場合は、必ず動作確認をして、自分のサイトに合った設定に変更するようにしましょう。
場合によっては画像を自サイトに保存して使う方法も有効です。
特定の環境・条件で画像が表示されないケース

モバイルとPCでの表示の違い
スマートフォンでは表示されている画像が、パソコンでは表示されない、またはその逆ということがあります。
これは、表示される環境によってHTMLやCSS、JavaScriptの挙動が変わることが原因です。
画像がデバイスによって違って見えるときは、次の点を確認しましょう。
- CSSで「display: none」や「media query」が使われていないか
- 画面サイズに応じて画像が切り替わる設定がされている
- JavaScriptでデバイスごとに画像を制御している
- モバイル用のCSSファイルが読み込まれていない
- 画像サイズがデバイスの画面幅に合っていない
表示する環境が違えば、見え方も変わるのは自然なことです。
レスポンシブデザインでは特に注意が必要なので、スマホとPCの両方で確認しましょう。
特定のブラウザでの非表示問題
Chromeでは表示されるのに、Safariでは表示されない。
そんな現象が起きるのは、ブラウザによってHTMLやCSS、JavaScriptの解釈が微妙に違うためです。
このような場合にチェックすべき項目を紹介します。
- ブラウザのバージョンが古くないか
- 画像のフォーマットが特定のブラウザで非対応でないか
- CSSやJavaScriptがブラウザ互換に対応しているか
- 一部のブラウザでキャッシュが残っていないか
- ブラウザごとに読み込むコードが分岐されていないか
それぞれのブラウザでテスト表示することは、安定したWebサイトを作るための大切なステップです。
無料のオンラインツールなどを活用すると便利です。
HTTPSとHTTPの混在によるブロック
サイトがHTTPS(暗号化通信)なのに、画像がHTTP(非暗号化通信)で読み込まれていると、ブラウザがセキュリティの観点から画像の読み込みをブロックすることがあります。
これは「混在コンテンツ(Mixed Content)」と呼ばれます。
次の点に注意して画像を指定しましょう。
- 画像のURLが「http://」になっていないか確認する
- すべての画像を「https://」に統一する
- 相対パスで書いている場合は、ページのプロトコルを確認する
- 外部画像の場合、HTTPSに対応しているか調べる
- 必要に応じて自サイトに画像を保存して使用する
安全なWebサイトにするためにも、画像の読み込み先もHTTPSにそろえることが大切です。
ネットワークエラーや通信制限
インターネットの接続が不安定だったり、モバイル回線で通信量が制限されていたりすると、画像の読み込みが途中で止まる、または最初から表示されないことがあります。
このような通信環境が原因となる場合には、次のことをチェックしてみましょう。
- Wi-Fiやモバイル通信が安定しているか確認する
- ページの読み込み速度が極端に遅くなっていないか
- 大きな画像を使っていないか(画像の軽量化を検討)
- CDNや外部サーバーが一時的にダウンしていないか
- モバイル通信で画像が自動非表示になる設定が有効になっていないか
通信状態によって画像が読み込めないこともあるため、読み込みが遅い場合は一度ネットワークを確認しましょう。
サーバー設定やアクセス権限の問題
画像ファイルそのものは存在していても、サーバー側の設定が原因で表示できないこともあります。
特に画像フォルダにアクセス権限がないと、ブラウザは画像を読み込めません。
アクセス権限に関連する注意点を以下にまとめます。
- 画像ファイルのパーミッションが正しく設定されているか(例:644)
- 画像フォルダにアクセス制限がかかっていないか
- .htaccessファイルで画像の読み込みを制限していないか
- 画像ファイルがサーバー上で非公開設定になっていないか
- リファラ制限がかかっていて他ドメインから読み込めない状態になっていないか
このような設定の見直しは、サーバーの管理画面やFTPソフトで簡単に確認できます。
画像があるのに表示されない場合は、まずアクセス権を確認しましょう。
画像が非公開設定になっている場合
画像のファイルがあっても、設定によって非公開状態になっていると、ブラウザには表示されません。
特にクラウドサービスやCMS、画像共有サイトなどを利用している場合に多い原因です。
非公開設定に関連する確認ポイントを紹介します。
- 画像が「公開範囲:非公開」になっていないか確認する
- 共有リンクが有効でない場合、他の人には表示されない
- CMSでアップロードした画像がまだ公開状態になっていない
- 会員制ページやログインが必要な場所に画像がある
- 画像URLのアクセス権限が限定されている
このように、画像が外部から見えない設定になっていないかを調べて、必要に応じて公開設定や共有設定を変更しましょう。
Web制作ツールやCMS側の不具合
WordPressやWix、JimdoなどのCMSやWeb制作ツールを使っている場合、ツール側の不具合や設定ミスで画像が表示されなくなることもあります。
以下のようなケースが考えられます。
- テーマやテンプレートのバグで画像が読み込まれない
- プラグインの競合やエラーで画像表示が阻害されている
- 自動圧縮機能によって画像が壊れている
- 画像ファイルのURLが書き換えられている
- アップロード時のエラーで画像が登録されていない
CMSやツールの管理画面でエラーや設定を見直すことで、簡単に解決できる場合が多いです。
公式サポートやフォーラムを活用するのもおすすめです。
まとめ

HTMLで画像が表示されないときは、焦らずに一つずつ原因をチェックすることが大切です。
ここまでの内容をもとに、特に覚えておきたいポイントをまとめました。
- 画像ファイルのパスが正しいか確認する
- 拡張子やファイル名が間違っていないかを見る
- imgタグの書き方が正しいか確認する
- CSSやJavaScriptの影響がないか調べる
- サーバー設定や通信環境をチェックする
画像が表示されない原因は一つだけではないことが多いので、今回の内容を参考にして、落ち着いてひとつずつ見直してみましょう。
わからないときは、開発者ツールを使ってエラーを探すのもおすすめです。



