カテゴリ: Next.js 更新日: 2026/01/28

Next.jsのpublicフォルダの使い方を完全ガイド!画像・静的ファイルを初心者向けにやさしく解説

Next.jsのpublicフォルダの使い方(画像・静的ファイル)
Next.jsのpublicフォルダの使い方(画像・静的ファイル)

先生と生徒の会話形式で理解しよう

生徒

「Next.jsのpublicフォルダって何に使うんですか?画像を置く場所ですか?」

先生

「publicフォルダは、画像や音声などの静的ファイルをそのまま使うための場所です。」

生徒

「そのままっていうのは、どういう意味ですか?」

先生

「URLを指定するだけで表示できる、という意味です。順番に見ていきましょう。」

1. Next.jsのpublicフォルダとは?

1. Next.jsのpublicフォルダとは?
1. Next.jsのpublicフォルダとは?

Next.jsのpublicフォルダは、画像や音声、PDFファイルなどの静的ファイルを保存するための特別なフォルダです。静的ファイルとは、画面に表示するだけで中身が変わらないファイルのことです。たとえば、ロゴ画像や背景画像、説明用のPDFなどが該当します。

publicフォルダに置いたファイルは、Next.jsの特別な処理をしなくても、URLを指定するだけでブラウザに表示できます。これは初心者にとってとても扱いやすい仕組みです。

2. publicフォルダの基本的なフォルダ構成

2. publicフォルダの基本的なフォルダ構成
2. publicフォルダの基本的なフォルダ構成

Next.jsのプロジェクトを作成すると、ルートディレクトリにpublicという名前のフォルダがあります。この中に、imagesやiconsなどのフォルダを自由に作って整理できます。

たとえば、public/images/logo.pngのように配置すると、ブラウザでは/images/logo.pngというURLでアクセスできます。フォルダ名とファイル名が、そのままURLになるイメージです。

3. publicフォルダに画像を置いて表示する方法

3. publicフォルダに画像を置いて表示する方法
3. publicフォルダに画像を置いて表示する方法

publicフォルダに画像を置いたら、Next.jsのコンポーネントでimgタグを使って表示できます。src属性には、publicを省略したパスを書きます。


export default function Home() {
  return (
    <div>
      <h1>ロゴ画像の表示</h1>
      <img src="/images/logo.png" alt="ロゴ画像" />
    </div>
  );
}
public/images/logo.png に置いた画像が画面に表示されます。

4. Next.jsのImageコンポーネントとpublicフォルダ

4. Next.jsのImageコンポーネントとpublicフォルダ
4. Next.jsのImageコンポーネントとpublicフォルダ

Next.jsには、画像表示に特化したImageコンポーネントがあります。これを使うと、画像のサイズ最適化などを自動で行ってくれます。publicフォルダに置いた画像も、このImageコンポーネントから利用できます。


import Image from "next/image";

export default function Sample() {
  return (
    <div>
      <Image
        src="/images/sample.jpg"
        alt="サンプル画像"
        width={300}
        height={200}
      />
    </div>
  );
}
指定したサイズで画像が表示され、読み込みも最適化されます。

5. 画像以外の静的ファイルの使い方

5. 画像以外の静的ファイルの使い方
5. 画像以外の静的ファイルの使い方

publicフォルダには、画像以外にも音声ファイルやPDFファイルを置けます。たとえば、説明資料のPDFをダウンロードさせたい場合にも便利です。


export default function Download() {
  return (
    <div>
      <a href="/docs/manual.pdf">説明書をダウンロード</a>
    </div>
  );
}
リンクをクリックするとPDFファイルが開く、またはダウンロードされます。

6. CSSやアイコン画像をpublicで管理する考え方

6. CSSやアイコン画像をpublicで管理する考え方
6. CSSやアイコン画像をpublicで管理する考え方

小さなアイコン画像や背景用の画像もpublicフォルダで管理できます。CSSファイルから背景画像として指定する場合も、publicフォルダのパスをそのまま使えます。

ファイルを種類ごとにフォルダ分けしておくと、後から見たときにも分かりやすくなります。初心者のうちは、images、icons、docsのように分けるだけでも十分です。

7. publicフォルダを使うときの注意点

7. publicフォルダを使うときの注意点
7. publicフォルダを使うときの注意点

publicフォルダに置いたファイルは、誰でもURLを知っていればアクセスできます。そのため、個人情報や秘密のデータは絶対に置いてはいけません。

また、ファイル名を日本語にすると、環境によっては表示できない場合があります。英数字とハイフンを使った名前にするのが安全です。

8. 初心者がつまずきやすいポイント

8. 初心者がつまずきやすいポイント
8. 初心者がつまずきやすいポイント

よくある間違いとして、srcにpublic/imagesと書いてしまうケースがあります。publicフォルダはURLには含まれないため、/imagesから始めるのが正解です。

また、ファイルを保存したのに表示されない場合は、ファイル名の大文字小文字が違っていないかも確認しましょう。Next.jsでは大文字と小文字は別物として扱われます。

カテゴリの一覧へ
新着記事
New1
React
Reactの条件分岐の使い方を完全ガイド!初心者でもわかるReactの条件分岐
New2
React
PropsとStateの違いを徹底解説!使い分けのポイントまとめ
New3
React
Reactのフォーム入力を再利用しよう!初心者でもわかるフィールドコンポーネント化の考え方
New4
React
Reactでできること一覧!初心者でもわかるWebアプリ・スマホアプリ・PWAの活用方法
人気記事
No.1
Java&Spring記事人気No1
React
Reactでキーボードイベントを活用する方法!onKeyDown, onKeyUp, onKeyPressを初心者向けに解説
No.2
Java&Spring記事人気No2
React
ReactのPresentational Componentを完全ガイド!初心者でもわかるStateを持たないコンポーネントの特徴
No.3
Java&Spring記事人気No3
React
ViteでReact開発環境を構築する手順を完全ガイド!初心者でもできるReactの環境構築
No.4
Java&Spring記事人気No4
React
Reactでフォーカスイベントを制御する方法!onFocusとonBlurを初心者向けに解説
No.5
Java&Spring記事人気No5
React
Reactとは?初心者でもわかるReact.jsの基本概念と特徴をやさしく解説
No.6
Java&Spring記事人気No6
Next.js
Next.js Server Componentsのメリット・デメリットを完全解説!初心者でもわかるNext.jsの基本
No.7
Java&Spring記事人気No7
React
Reactのカードコンポーネントを汎用的に設計する方法!初心者でもわかる再利用の考え方
No.8
Java&Spring記事人気No8
React
ReactでAxiosローディング状態を管理する方法を完全ガイド!初心者でもわかる非同期通信の基本