YAMLフォーマッター&バリデーター - YAML整形・検証 オンライン
シンタックスハイライトとツリービューでYAML設定ファイルをフォーマット、検証、圧縮。Kubernetes、Docker Compose、GitHub Actions対応 — 100%ブラウザ処理。
よくある質問
YAMLフォーマッターとは?
YAMLフォーマッターは、YAMLファイルを一貫したインデント、スペーシング、構造でリフォーマットするツールです。YAMLはKubernetes、Docker Compose、GitHub Actionsなど多くのDevOpsツールで設定ファイルとして広く使われている人間が読みやすいデータシリアライゼーション言語です。
このYAMLフォーマッターの使い方は?
タブから操作を選択:フォーマット、圧縮、またはツリービュー。入力エリアにYAMLを貼り付け、.yaml/.ymlファイルをアップロード、またはSampleボタンでサンプルを読み込みます。ツールが自動的にリアルタイムで検証・処理します。Copyボタンでクリップボードにコピー、Downloadで.yamlファイルとして保存できます。
データは安全ですか?
データは100%安全で、ブラウザから外に出ることはありません。このYAMLフォーマッターは完全にクライアントサイドJavaScriptで動作するjs-yamlライブラリを使用しています。サーバーにデータは送信されません。すべての処理はデバイス上でローカルに行われます。
YAML圧縮とは?
YAML圧縮は、ブロックスタイル(インデント付き)をフロースタイル({key: value}形式)に変換し、コメントと不要な空白を削除してYAMLを最小サイズに圧縮します。環境変数やCLI引数にYAMLを埋め込む際に便利です。
フォーマット時にYAMLコメントはどうなりますか?
YAMLコメント(#以降のテキスト)はフォーマット時に失われます。js-yamlパーサーがパース段階でコメントを破棄するためです。これはほとんどのYAMLパーサーに共通の制限です。重要なコメントのあるファイルは、フォーマット前にバックアップを取ってください。
YAMLパースが失敗する理由は?
一般的な原因:不正確なインデント、タブとスペースの混在(YAMLはスペースのみ許可)、クオートされていない特殊文字、重複キー、不正なマルチラインストリング指示子、そしてno、yesなどの値がブーリアンとして解釈される「ノルウェー問題」があります。
YAMLとJSONの違いは?
YAMLとJSONは構造化データを表現しますが大きく異なります。JSONはオブジェクトに{}、配列に[]を使い、ダブルクオートのキーが必要です。YAMLはインデントで構造を表し、コメント(#)、マルチラインストリング、アンカー/エイリアスなどの追加機能があります。JSONはAPIに、YAMLは設定ファイルに適しています。
コード例
// YAML formatting and validation using js-yaml
// Install: npm install js-yaml
const yaml = require('js-yaml');
// Validate YAML
function validateYaml(input) {
try {
yaml.load(input);
return { valid: true };
} catch (error) {
return {
valid: false,
error: error.reason || error.message,
line: error.mark ? error.mark.line + 1 : undefined,
column: error.mark ? error.mark.column + 1 : undefined,
};
}
}
// Format/Beautify YAML
function formatYaml(input, options = {}) {
const { indent = 2, sortKeys = false } = options;
try {
const parsed = yaml.load(input);
const formatted = yaml.dump(parsed, {
indent,
sortKeys,
lineWidth: -1,
noRefs: true,
});
return { success: true, output: formatted };
} catch (error) {
return { success: false, error: error.message };
}
}
// Minify YAML (convert to flow style)
function minifyYaml(input) {
try {
const parsed = yaml.load(input);
const minified = yaml.dump(parsed, {
flowLevel: 0,
lineWidth: -1,
noRefs: true,
});
return { success: true, output: minified };
} catch (error) {
return { success: false, error: error.message };
}
}
// Example
const yamlStr = 'name: test\nvalue: 42\nitems:\n - one\n - two';
console.log('Valid:', validateYaml(yamlStr));
console.log('Formatted:', formatYaml(yamlStr));
console.log('Minified:', minifyYaml(yamlStr));