HTMLのパス(相対パス・絶対パス)の書き方

HTMLのパス(相対パス・絶対パス)の書き方を初心者向けに解説。src・hrefでのファイル指定、../での親フォルダ参照、ルートパスの使い方をコード例で紹介。中高生向け。無料。

2026年4月16日

HTML パスとは?なぜ必要なの?

HTMLで画像を表示したり、別のページにリンクしたりするとき、「どこにあるファイルなのか」をブラウザに伝える必要があります。この「ファイルの場所を指定する書き方」が パス(path) です。

パスを正しく書けないと、画像が表示されない・リンクが壊れるといった問題が起きます。初心者がよくつまずくポイントなので、しっかり理解しておきましょう。

  • 📁 相対パス:現在のHTMLファイルの場所を基準にしたパス
  • 🌐 絶対パス:ドメインから始まる完全なURL(または/から始まるルートパス)

HTMLの基礎をまだ学んでいない人は「HTML入門」を先に読んでおきましょう。

フォルダ構造の基本を理解しよう

パスを理解するには、まずフォルダ(ディレクトリ)の構造を把握することが大切です。

/ (プロジェクトのルートフォルダ)
├── index.html トップページ
├── about/
   └── index.html 自己紹介ページ
├── blog/
   ├── index.html ブログ一覧ページ
   └── post1/
       └── index.html 記事ページ
└── images/
    ├── logo.png
    └── photo.jpg

「今どのHTMLファイルを書いているか」によって、パスの書き方が変わります。

相対パスの書き方

相対パスは「今いる場所(現在のHTMLファイル)を基準」に書きます。地図で言うと「今ここから〇〇方向に〇〇歩」という書き方です。

同じフォルダ内のファイル

<!-- index.html と同じフォルダにある photo.jpg を表示 -->
<img src="photo.jpg" alt="写真">

<!-- index.html と同じフォルダにある about.html へのリンク -->
<a href="about.html">自己紹介ページへ</a>

子フォルダ(下の階層)のファイル

<!-- images フォルダの中にある photo.jpg -->
<img src="images/photo.jpg" alt="写真">

<!-- pages フォルダの中の about.html へのリンク -->
<a href="pages/about.html">自己紹介</a>

親フォルダ(上の階層)のファイル

<!-- 1つ上のフォルダにある index.html へのリンク -->
<a href="../index.html">トップへ戻る</a>

<!-- 2つ上のフォルダへ -->
<a href="../../index.html">トップへ戻る</a>

<!-- 1つ上のフォルダにある images フォルダの photo.jpg -->
<img src="../images/photo.jpg" alt="写真">

../ は「1つ上のフォルダ」を意味します。../../ なら「2つ上のフォルダ」です。

👉 inputタイプ一覧も参考にしてください。

絶対パスの書き方

絶対パスは「場所の全情報を含むパス」です。どこから見ても同じ場所を指します。

外部URLへのリンク

<!-- 外部サイト(Google)へのリンク -->
<a href="https://www.google.com">Google</a>

<!-- 外部サイトの画像を表示 -->
<img src="https://example.com/images/photo.jpg" alt="写真">

ルートパス(/から始まる)

<!-- サイトのルートから始まるパス(どのページから参照しても同じ場所を指す) -->
<a href="/about/">自己紹介ページ</a>
<img src="/images/logo.png" alt="ロゴ">
<link rel="stylesheet" href="/css/style.css">

/ から始まるパスは ルートパス といいます。サイトのトップ(ドメイン直下)を基準にするので、どのページからリンクしても同じ場所を指します。

🔥 HTMLテーブルの作り方で実践してみましょう。

フォルダ構造とパスの具体例

実際にフォルダ構造とパスの対応を確認してみましょう。

【フォルダ構造】
/
├── index.html
├── about/
   └── index.html
└── images/
    └── photo.jpg
<!-- index.html から images/photo.jpg を参照する場合 -->
<img src="images/photo.jpg" alt="写真">
<!-- または(ルートパスを使う場合) -->
<img src="/images/photo.jpg" alt="写真">

<!-- about/index.html から images/photo.jpg を参照する場合 -->
<!-- about/ フォルダの中にいるので、1つ上に戻ってから -->
<img src="../images/photo.jpg" alt="写真">
<!-- または(ルートパスを使えばどこからでも同じ) -->
<img src="/images/photo.jpg" alt="写真">

💡 迷ったらルートパスが便利

相対パスはファイルを移動すると書き直しが必要です。ルートパス(/から始まる)を使えば、どのページからリンクしても同じ場所を指すので、大きなサイトでは管理しやすいです。

💡 headタグに書くべき内容で基礎を確認できます。

相対パスと絶対パスの使い分け

種類 書き方の例 向いている場面
相対パスimages/photo.jpg小さなサイト、ファイル移動が少ない場合
ルートパス/images/photo.jpgページ数が多いサイト、画像やCSSの共通管理
絶対URLhttps://example.com/img.jpg外部サイトのリソース、CDNを使う場合

よくあるエラーと対策

エラー1:大文字・小文字の間違い

Photo.jpgphoto.jpg は別のファイルとして扱われます(特にLinux/Macのサーバー)。ファイル名はすべて小文字で統一するのがおすすめです。

エラー2:スペースや日本語のファイル名

私の写真.jpgmy photo.jpg はURLエンコードが必要になりエラーの原因になります。ファイル名は半角英数字とハイフン(-)だけを使いましょう。

<!-- ❌ NG:スペースや日本語はエラーの原因 -->
<img src="私の写真.jpg" alt="写真">
<img src="my photo.jpg" alt="写真">

<!-- ✅ OK:半角英数字とハイフンのみ -->
<img src="my-photo.jpg" alt="写真">
<img src="profile-photo.jpg" alt="プロフィール写真">

エラー3:フォルダ構造の間違い

HTMLファイルと画像ファイルの位置関係を正しく把握していないとパスが通りません。ファイルを移動したらHTMLのパスも書き換える必要があります。

確認方法:ブラウザの開発者ツール

ブラウザで画像が表示されないとき、F12 キーで開発者ツールを開いてConsole(コンソール)タブを確認しましょう。404 Not Found と表示されていればパスが間違っています。

// Consoleに表示されるエラー例
GET https://example.com/images/phoot.jpg 404 (Not Found)
//                                ↑ typo! photo が phoot になっている

まとめ

  • 相対パス:現在のHTMLファイルを基準にした場所
  • 絶対パス:ドメインから始まる完全なURL
  • ../ で1つ上のフォルダに移動できる
  • / から始まるルートパスはサイトのトップを基準にする
  • ✅ ファイル名は小文字・半角英数字・ハイフンのみを使う
  • ✅ 404エラーが出たら開発者ツールのConsoleでパスを確認する

パスの書き方を覚えると、ファイルの参照ミスが減ります。レッスンでさらに詳しく学んでみましょう。

あわせて読みたい記事

🚀 HTMLをレッスンで学ぼう!

このサイトのHTMLコースでは、パスを含む実践的なページ作りをブラウザだけで学べます。無料・登録不要です。

HTMLコースを見る →
目次

コースで実際に手を動かして学ぼう

レッスンではコードを書きながら基礎が身につきます

HTMLコースを始める →

この記事に出てくる用語

📣 この記事が役に立ったら

Xでシェア

💬 引用する場合はこちらをご利用ください:

HTMLのパス(相対パス・絶対パス)の書き方を初心者向けに解説。src・hrefでのファイル指定、../での親フォルダ参照、ルートパスの使い方をコード例で紹介。中高生向け。無料。

出典: https://start-web-programming.com/blog/html-path/