Favicon Tools検証作成
PWA

Web アプリマニフェスト(manifest.json)

Web アプリマニフェストは、ページの head からリンクされる JSON ファイル(通常は manifest.json か site.webmanifest)で、サイトがホーム画面やランチャーにインストールされたときにどう振る舞うべきかをブラウザに伝えます。アプリ名、アイコンセット、テーマ色と背景色、表示モードを供給します。これが無いと、ブラウザはサイトを PWA としてインストールすることを提案しません。

マニフェストが宣言するもの

マニフェストは、<link rel="manifest"> でリンクされる小さな JSON ドキュメントです。ユーザーがサイトをインストールすると、ブラウザはそれを読んでアプリに名前を付け、アイコンを選び、スプラッシュ画面に色を付け、どれだけのブラウザクロームを表示するかを決めます。

これはインストール可能性とホーム画面の振る舞いにのみ関わります。通常のブラウザタブがそれを必要とすることはありません(ファビコンの link タグがそれをカバーします)。だからこそ、マニフェストを一切持たないサイトも数多くあるのです。

最小構成のマニフェスト

{
  "name": "My App",
  "short_name": "App",
  "start_url": "/",
  "display": "standalone",
  "background_color": "#ffffff",
  "theme_color": "#111111",
  "icons": [
    { "src": "/icon-192.png", "sizes": "192x192", "type": "image/png" },
    { "src": "/icon-512.png", "sizes": "512x512", "type": "image/png" }
  ]
}

主要なフィールド

フィールド目的
name / short_nameフルネームとホーム画面用のラベル
iconsインストールとホーム画面のアイコンセット
displayインストール済みアプリがどれだけブラウザ UI を見せるか
theme_colorアプリ周囲の OS UI に色を付ける
background_color起動時のスプラッシュ画面の色
start_urlインストール済みアプリが開くページ

Web アプリマニフェストに関するよくある質問

Web アプリマニフェストは必要ですか?

サイトを PWA としてインストール可能にしたい、またはホーム画面での見え方を制御したい場合にのみ必要です。ファビコンだけの普通のウェブサイトには不要です。

manifest.json と site.webmanifest の違いは?

ファイル名以外に違いはありません。どちらも同じ Web アプリマニフェストで、ブラウザは <link rel="manifest"> が指すファイルを使います。

マニフェストはどこでリンクしますか?

ページの head で、<link rel="manifest" href="/site.webmanifest"> です。インストール可能にすべきすべてのページに、リンクを 1 つ。

関連用語