PLIST Studio(plist 開き方・変換)

.plist をドロップすると、XML でもバイナリ(bplist00)でも中身を木構造で表示します。XML・バイナリ・JSON への変換と保存もできます。実行ファイルの情報を見るなら EXE/DLL の情報表示、XML の整形や XPath 検索なら XML 整形を使います。

端末内で処理・アップロードなしスマホ対応オフライン対応

ファイルや入力内容はお使いの端末(ブラウザ)の中だけで処理され、サーバーへは送信されません。

plist ファイル

plist ファイルをドロップ(.plist)

または

XML plist とバイナリ plist(bplist00)を読みます。ファイルは送信されません。対応形式: PLIST / BPLIST / XML貼り付け(Ctrl+V)にも対応

<?xml で始まる XML の文字をそのまま貼れます。バイナリは貼り付けられないので、ファイルで開いてください。

ファイルはこのブラウザの中だけで読みます。サーバーへは送信しません。

構造

ファイルを開くか、XML を貼り付けてください。

使い方

  1. .plist ファイルを画面の枠にドロップするか、「ファイルを選択」で開きます。XML とバイナリ(bplist00)は自動で判定します。

  2. 右の「構造」で dict・array などを開いて、キーと値を確かめます。日時は ISO 8601(UTC)、データはバイト数と先頭のバイト列で表示します。

  3. XML の内容が手元にあるなら、「XML を貼り付け」の欄に貼るだけでも表示できます(バイナリは貼り付けられません)。

  4. 「XML で保存」「バイナリで保存」「JSON で保存」で別の形式にします。JSON はコピーもできます。

  5. 壊れた値は赤い表示で場所と理由を示します。読めないファイルは、どこで止まったかを表示します。

できること

XML とバイナリの両方を読む

XML plist 1.0 と、バイナリ plist の bplist00 を同じ画面で開きます。バイナリは trailer・offset table・オブジェクトの位置と長さを、読む前に範囲内かどうか検査します。

型を区別して表示

dict・array・string・integer(64 ビットを超える整数も桁のまま)・real・true/false・date(UTC)・data(バイト数と先頭 16 バイト)を、型の名前つきで表示します。

XML・バイナリ・JSON の相互変換

読み込んだ内容を XML plist 1.0 かバイナリ(bplist00)で保存し、JSON にもできます。JSON にできない date と data の表し方は、画面に明示します。

壊れた箇所を場所つきで示す

循環参照(自分を指す配列・辞書)、範囲外の offset、深さ 512 段を超える入れ子は、そこで止めて「壊れた値」と理由を示します。読み込み自体は止まりません。

外部へ取りに行かない XML

DOCTYPE の内部実体(<!ENTITY)は拒否し、外部の DTD や実体は取得しません。XML の実体は & < > " ' と数字の参照だけを解釈します。

こんなときに

  • Info.plist や entitlements の中身を、XML のまま読まずに木で確かめたい
  • Mac や iPhone のバイナリ plist(bplist00)を、テキストの XML に変換して差分を取りたい
  • plist を JSON にして、スクリプトや他のツールに渡したい
  • 設定ファイルのキーがどの型で入っているか(文字列・整数・真偽値・日時)を確かめたい
  • 壊れた plist がどこで壊れているかを、オフセットや循環参照の有無から見つけたい

対応形式

入力

XML plist 1.0(.plist)バイナリ plist(bplist00)貼り付けた XML 文字(UTF-8・UTF-16)

出力

XML plist 1.0(.plist)バイナリ plist(bplist00・.bplist)JSON(.json)

対応状況

機能対応補足
XML plist 1.0 の読み込み対応—
バイナリ plist(bplist00)の読み込み対応—
XML・バイナリ・JSON への書き出し対応JSON では date・data・uid は文字列になります
XML の日時の精度一部対応書き出す XML は秒までです(ミリ秒は切り捨て)
bplist00 以外のバージョン(bplist15 など)非対応—
NSKeyedArchiver の参照をたどった解釈非対応木のまま表示します(UID は値として表示)
外部 DTD・外部実体の取得非対応取得しません。内部実体の宣言は拒否します
値の編集非対応表示と書き出しだけです
XML の文字コード一部対応UTF-8・UTF-16(BOM つき)のみ。ほかは読めません
オフラインでの利用対応一度開いたあとは通信なしで動作

制限・注意事項

  • ファイルは 10 MB まで。それを超えるとファイルを読まずに止めます。
  • 入れ子は 512 段まで。値の数は 20 万件まで(バイナリで同じ値を何度も指す場合も数えます)。超えた部分は省略して表示します。
  • 画面に表示するのは先頭 2,000 件です。全体は書き出して確認してください。
  • 整数は XML では 40 桁まで、バイナリでは 128 ビットまでです。それより大きい値は書き出せません。
  • XML の制御文字(0x00〜0x1F の一部)と対にならないサロゲートは XML で表せないため、書き出せません。

プライバシーと安全性

読み込んだ plist の中身は、お使いのブラウザの中だけで処理します。サーバーへの送信や保存は行いません。Info.plist に含まれる識別子や証明書の情報も、外部には出ません。

よくある質問

plist は何で開けばよいですか?
テキストの XML plist なら、どのテキストエディタでも開けます。バイナリ plist(bplist00)はテキストエディタでは中身が読めないため、本ツールで開くと木構造で確かめられ、XML にも変換できます。
バイナリ plist を XML に変換するにはどうしますか?
ファイルをドロップして「XML で保存」を押します。変換後の XML は、読み込んだ内容と同じ構造で、キーの順序も保ちます。date はミリ秒が切り捨てられる点だけ注意してください。
plist を JSON にできますか?
できます。「JSON で保存」か「JSON をコピー」を使います。JSON には日時や data の型情報が残らないため、date は ISO 8601 の文字列、data は Base64 の文字列になります。
plist が「壊れている」と出るのはなぜですか?
バイナリでは、範囲外の位置や長さ、自分自身を指す循環参照が見つかると止まります。XML では閉じタグの対応、エンティティの書き方、文字コードを確認してください。どこで止まったかは画面に表示されます。

XML 整形・検証(XML Studio)

XML を貼り付けるだけで整形・1 行化・検証。エラーは「何行目の何がどう悪いか」まで表示し、意味を変える空白(混在内容・xml:space)には手を付けません。XPath 検索と JSON 変換も同じ画面で。データは端末の外へ送信しません。

アップロードなし

JSON 整形・検証(JSON Studio)

JSON を貼り付けるだけで整形・1 行化・構文チェック。エラーは「何行目の何が悪いか」まで表示し、コメントや末尾カンマは自動修復できます。データは端末の外へ送信しません。

アップロードなし

Binary Data Studio(バイナリビューア・16進ダンプ)

ファイルをドロップすると、オフセット・16 進・文字欄の 16 進ダンプで開きます。巨大なファイルも見えている範囲だけを読むので固まらず、データは端末の外へ送りません。検索・値の解釈・比較・書き出しまで 1 画面でできます。

アップロードなし

YAML / TOML 検証・整形・変換(YAML / TOML Studio)

YAML・TOML・JSON を貼り付けるだけで構文チェック・整形・相互変換。エラーは行と列で示し、「no が false になる」などの型の落とし穴と、変換で失われるものを事前に警告します。データは端末の外へ送信しません。

アップロードなし

テキスト・コード Diff

変更前と変更後を貼り付けるかファイルをドロップするだけで、追加・削除された行と、行の中で変わった単語まで色分けして表示します。結果は unified 形式のパッチとしてコピー・保存でき、入力はブラウザの外へ出ません。

アップロードなし

UUID / ULID / NanoID / トークン生成

ページを開いた瞬間に UUID が 1 件生成済み。種類を選ぶだけで UUID v7・ULID・NanoID・ランダムトークンに切り替わり、最大 1 万件を .txt / .csv / .json で保存できます。既存の UUID や ULID を貼り付ければ、埋め込まれた時刻やバージョンも読み取れます。

アップロードなし

最終更新: