ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
概要
ICO(Icon、アイコ/アイシーオー)は、Microsoft Windows のアイコン表示に使われる古参の画像フォーマットで、1985 年の Windows 1.0 から存在します。ファイルアイコン、ショートカット、プログラムアイコン、ウィンドウのタイトルバーなど、Windows GUI の至るところで使われており、現代でも Windows 11 までこの形式は健在です。
Web の世界では「favicon.ico」として圧倒的に有名です。1999 年に Microsoft が Internet Explorer 5 で「お気に入り」に表示する小さなアイコンとして導入し、後に W3C HTML5 仕様に取り込まれ、現在ではすべての主要ブラウザがサポートしています。サイトのルートに /favicon.ico を置くだけでブラウザが勝手に拾いに来るという、暗黙のルールが今でも残っています。
ICO 最大の特徴は、1 ファイルに複数サイズ・複数色深度のビットマップを束ねられることです。ファイルマネージャは状況に応じて最適なサイズ(16x16 / 32x32 / 48x48 / 256x256 など)を選び出すため、画質の劣化なくスケーリングできます。
内部構造とマジックナンバー
ICO は ICONDIR ヘッダの後に、ICONDIRENTRY エントリが続き、その後に各画像データが連結される単純な構造です。
| オフセット | 値(HEX) | 意味 |
|---|---|---|
| 0x00–0x01 | 00 00 | 予約(0 固定) |
| 0x02–0x03 | 01 00 | タイプ:1 = ICO(2 = CUR / カーソル) |
| 0x04–0x05 | NN NN | 含まれる画像数(16bit LE) |
| 0x06– | ICONDIRENTRY × N | 各 16 バイトのエントリ(幅・高さ・色数・サイズ・オフセット) |
| 各画像 | BMP(DIB)または PNG | Vista 以降は PNG 圧縮も可 |
| MIME | image/vnd.microsoft.icon / image/x-icon | — |
各エントリで「幅・高さ = 0」は 256px を意味する仕様(8bit に収まらないため)です。256px ICO の中身は事実上 PNG 圧縮を採用します。
主な用途
- favicon.ico:Web ブラウザのタブ、お気に入り、履歴、ブックマークのアイコン
- Windows アプリのアイコン:.exe に埋め込まれたリソース
- ファイル・フォルダのカスタムアイコン:desktop.ini で指定
- ショートカット(.lnk)のアイコン
- カーソル(.cur):構造はほぼ同じ、ホットスポット情報が追加
- インストーラーのアイコン:MSI、InnoSetup、NSIS など
- PWA のフォールバックアイコン:manifest.json の image/png が主流になったが、互換性のため残す
関連形式との比較
| 項目 | ICO | SVG favicon | PNG favicon | ICNS(macOS) |
|---|---|---|---|---|
| 主用途 | Windows / 旧来 favicon | モダン favicon | iOS/Android 統一 | macOS アプリ |
| 方式 | マルチサイズビットマップ | ベクター | ラスター | マルチサイズビットマップ |
| 無限拡大 | ×(含むサイズの範囲) | ○ | × | × |
| マルチサイズ | ○(1 ファイル) | 不要 | ×(複数ファイル) | ○ |
| ダークモード | × | ○(prefers-color-scheme) | × | × |
| ブラウザ対応 | すべて | モダンブラウザ | すべて | 非対応 |
| ファイルサイズ | 中(数 KB~数十 KB) | 小(数百 B〜数 KB) | 小 | 大 |
編集・閲覧ツール
- GIMP:標準で ICO の読み書きに対応、複数サイズをレイヤーとして扱える
- Greenfish Icon Editor Pro:Windows 向けの定番フリー ICO 編集ツール
- IcoFX:商用 ICO 専用エディタ、Vista 以降の PNG エントリにも対応
- ImageMagick:
magick logo.png -define icon:auto-resize=256,128,64,48,32,16 favicon.icoで一発生成 - Real Favicon Generator:Web GUI で 1 枚の画像から ICO / PNG / SVG / Apple Touch Icon を一括生成
- favicon.io:絵文字・テキスト・画像から favicon を生成
- Resource Hacker:exe / dll に埋め込まれた ICO を抽出・差し替え
注意点・落とし穴
- SVG favicon を優先すべき場面が多い:モダンブラウザのみが対象なら
<link rel="icon" type="image/svg+xml" href="/favicon.svg">がベスト。1 ファイルで Retina 対応、ダークモード切り替えも可能 - 含めるサイズの最低限:16x16 / 32x32 / 48x48 を含めるのが基本。256x256(PNG エントリ)も入れておくと Windows のタイル表示で綺麗
- ルートに置く慣習:HTML で
<link rel="icon">指定しなくても、ブラウザは/favicon.icoを自動取得する。明示的に<link>を書く方が制御しやすい - キャッシュが強固:favicon は何日もキャッシュされるため、更新後すぐ反映されないことがある。ファイル名を変えるか、クエリパラメータでキャッシュバスト
- 16x16 のデザインは別物:通常ロゴを縮小しただけだと潰れる。16px 用にあえてシンプルな形に再デザインするのがプロの定石
- iOS / Android はそもそも ICO を見ない:iOS は
apple-touch-icon.png(180x180)、Android はmanifest.jsonの PNG を使う。マルチプラットフォーム対応では PNG 一式も別途用意 - セキュリティ:自前で配信していない favicon.ico を放置すると、404 ログが膨らむ。空でもいいので置いておく
典型的な favicon の宣言例:
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32.png">
<link rel="icon" type="image/x-icon" href="/favicon.ico">
<link rel="apple-touch-icon" href="/apple-touch-icon.png">
関連リンク
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- UE5 の Lumen とは|リアルタイムGIの仕組みと有効化手順 NEW 2026-08-03 07:45:20
- UE5 の Lumen が暗い・反射しない|原因と確認ポイント NEW 2026-08-03 07:45:20
- UE5 のライトの種類と使い分け|Directional/Point/Spot/Rect NEW 2026-08-03 07:45:20
- UE5 の Nanite とは|有効化手順と対応条件を解説 NEW 2026-08-03 07:45:20
- UE5 の Nanite が効かない|原因と対処の切り分け NEW 2026-08-03 07:45:20
- UE5 の Nanite と LOD の違い|使い分けの指針 NEW 2026-08-03 07:45:20
- UE5 のマテリアルとマテリアルインスタンス|違いと使い分け NEW 2026-08-03 07:45:20
- UE5 のマテリアルノード|Lerp・Fresnel・Panner NEW 2026-08-03 07:45:20
- UE5 のマテリアルブレンドモード|Two Sided と選び方 NEW 2026-08-03 07:45:20
- UE5 の Enhanced Input 入門|IAとIMCの基本 NEW 2026-08-03 07:45:20
- UE5 の Enhanced Input 実装手順|BPでキー入力 NEW 2026-08-03 07:45:20
- UE5 の旧入力から Enhanced Input へ移行する手順 NEW 2026-08-03 07:45:20
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック 2026-06-22 12:34:44
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 2026-06-22 12:19:10
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 2026-06-22 12:19:10
コメントを削除してもよろしいでしょうか?