ICNS ファイル形式とは?
.icns は macOS で使用されるバイナリコンテナ形式です。.icns ファイルには、アプリケーションで使用されるさまざまなアイコンが格納されています。各アプリケーションは独自のアイコンファイルを持つことができ、通常はアプリバンドルの Contents/Resources/ ディレクトリに保存されます。.icns ファイルへの参照は、.plist 設定ファイルにも記載されています。.icns ファイル内のアイコンは、macOS の Finder で表示するか、互換性のある画像ビューアで開くことで確認できます。
.icns 形式は、16×16、32×32、128×128、256×256、512×512、および新しいシステムでは 1024×1024 など、さまざまなサイズのアイコンをサポートしています。古い小さなアイコン要素は、ランレングス符号化(RLE)を使用した 24ビットカラーと 8ビットアルファマスクを格納します。256×256 以上の要素は、フルサイズの .png 画像(または JPEG 2000)を埋め込み、Retina 解像度で 32ビット RGBA を提供します。
ファイルは 4バイトの ASCII マジック icns で始まり、その後に 4バイトのビッグエンディアンによるファイル総長が続きます。ボディは一連のアイコン要素で構成され、それぞれが 4バイトの OSType タグ(例:512×512 は ic09、1024×1024 は ic10)で識別されます。ソース画像から .icns ファイルを組み立てるために、macOS は iconutil コマンドラインツールを提供しています。適切に名前を付けた .png ファイルを .iconset フォルダに配置し、iconutil -c icns MyIcon.iconset を実行します。この形式は、Windows における .ico ファイルと同じ役割を macOS で果たします。
セキュリティと安全性
リスク: LOW.icns は画像データであり、実行コードではないため、本物のアイコンファイルはビューアで安全に開くことができます。2つの小さな注意点があります:歴史的に画像パーサーにバグがあったことがあるため(不正な形式のアイコンが理論上画像ライブラリをクラッシュさせる可能性がある)、OS やビューアを最新の状態に保ってください。また、実行を求めてくる予期しない「アイコン」や、アイコンのような名前を装った実行ファイルには注意が必要です。通常のソースからのアプリアイコンやダウンロードしたアイコンパックについては、実質的にリスクはありません。
形式の詳細
概要ICNS ファイルを開くプログラム
iconutil -c icns MyIcon.iconset。開発者がアプリのアイコンを構築する公式な方法です。 技術的詳細
詳細仕様| ファイルマジック | オフセット 0 に `icns` (0x69 0x63 0x6E 0x73) |
| ヘッダー構造 | 4バイトのマジック + 4バイトのビッグエンディアンによるファイル総長、その後に一連のアイコン要素 |
| バイト順序 | すべてのマルチバイト整数でビッグエンディアン |
| アイコン要素の形式 | {4バイトの OSType タグ, 4バイトの要素長, データ} - サイズ/バリアントごとに1ブロック |
| 小さな要素のエンコーディング | 24ビットカラービットマップ(`is32`、`il32` および同様のレガシータイプ)用のランレングス符号化 (RLE) |
| 大きな要素のエンコーディング | 256×256 以上の要素には埋め込み PNG または JPEG 2000 を使用 |
| 色深度 | 24ビットカラー + 8ビットアルファマスク (RLE 要素); 埋め込み PNG による 32ビット RGBA (モダンな要素) |
| サポートされるキャンバスサイズ | 16×16, 32×32, 128×128, 256×256, 512×512, 1024×1024 (および 512×512@2× Retina) |
| 一般的な OSType タグ | `ic07` 128×128, `ic08` 256×256, `ic09` 512×512, `ic10` 1024×1024, `is32`/`il32` レガシー 16/32 px |
| MIME タイプ | `image/icns`; `image/x-icns` としても登録 |
| アプリバンドル内での場所 | macOS の `.app` バンドル内の `Contents/Resources/<AppName>.icns` |
| ビルドツールチェーン | `iconutil -c icns MyIcon.iconset` は、PNG ファイルの `.iconset` フォルダを単一の `.icns` ファイルに変換します |
| オプションの TOC 要素 | 要素リストの先頭にあるオプションの `TOC ` 要素(末尾にスペースあり)により、ファイル全体をスキャンせずに高速なシークが可能になります |
| 整合性メカニズム | 要素ごとの長さフィールドと 4バイトのファイル長ヘッダー。暗号化チェックサムはなし |
| 典型的なファイルサイズ | 数 KB(最小限のサイズセット)から数百 KB(フル Retina サイズセット) |
| リリース日 | 1998 (Mac OS 8.5); replaced the classic resource-fork 'icns' icon resource as a standalone file |
| 最新バージョン | Retina/HiDPI variants and PNG/JPEG2000-compressed elements up to 1024x1024 (since macOS 10.7 Lion, 2011) |
| 仕様書 | en.wikipedia.org |
ICNS の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。ICNS ファイルについて最初の質問をしてみましょう。
よくある質問
ICNS ファイルを開くにはどうすればよいですか?
PNG を ICNS(Mac アイコン)に変換するにはどうすればよいですか?
iconutil -c icns Name.iconset を実行するか、無料の Image2icon アプリを使用します。Mac 以外では、オンラインの ICNS コンバーターや GIMP の「名前を付けてエクスポート」で .icns を選択するのが有効です。ICNS と ICO の違いは何ですか?
.icns は macOS 用のアイコンコンテナ、.ico は Windows 用です。どちらも1つのアイコンを多くのサイズで保持します。アプリのアイコンをプラットフォーム間で移動させる場合は、GIMP、XnView、またはオンラインツールで相互に変換できます。