Skip to content

YAML to JSON コンバーター

YAMLを貼り付けるだけで即座にJSONを取得。ブラウザ内でリアルタイム変換。K8sマニフェスト・OpenAPI仕様・Helm valuesに対応。100%プライベート、データは送信されません。

トラッキングなし ブラウザで動作 無料
オプション · 2スペース
インデント
0 文字
JSON 出力
0
YAML 1.2仕様準拠、アンカー/エイリアス展開、複数ドキュメント処理の正確性についてレビュー済み — Go Tools Engineering Team · May 4, 2026

JSONとは何ですか?

JSON(JavaScript Object Notation)は軽量のテキストベースのデータ交換フォーマットで、RFC 8259およびECMA-404として標準化されています。文字列・数値・ブール値・null・配列・オブジェクトの6つのデータ型をサポートし、ほぼすべてのプログラミング言語・API・ツールチェーンがネイティブに解析できる厳密で最小限の構文を持ちます。YAMLは人間が書く設定ファイル(Kubernetesマニフェスト・GitHub Actions・Ansibleプレイブック・Helm values)に好まれるフォーマットですが、JSONはAPI・自動化スクリプト・プログラム的なデータ処理のための汎用のマシン可読フォーマットです。

したがってYAMLをJSONに変換することはDevOpsやバックエンド開発で最もよくある作業の一つです — YAML設定ファイルがあるが、REST APIへの入力・jqでのクエリ・JavaScriptツールでの処理のためにJSONが必要になります。

典型的なオンラインコンバーターと比較して、このツールには4つの重要な差別化ポイントがあります。

**1. 複数ドキュメントYAMLの処理。** YAMLは1つのストリームに複数のドキュメントを含めることができ、---(ドキュメント開始マーカー)で区切られます。多くの実際のYAMLファイル(一部のKubernetesマニフェストやAnsibleプレイブックを含む)は複数のドキュメントを含みます。このツールはeemeli/yamlライブラリのparseAllDocumentsを{ version: '1.2', merge: true }オプションで使用し、最初のドキュメントのJSONを返し、取得したものを明確に伝えます。すべてのドキュメントが必要な場合は---で分割して各セクションを個別に変換してください。

**2. アンカーとエイリアスの展開。** YAMLアンカー(&name)とエイリアス(*name)はデータブロックの再利用を可能にします — JSONには同等の概念がない強力なYAML機能です。このツールはすべてのアンカーとエイリアス(マージキー:<<: *anchorを含む)を完全に展開し、JSON出力が参照なしの完全な自己完結データを含むようにします。JSONには参照構文がないため、これは常に正しい変換です。eemeli/yamlライブラリの安全な展開は循環参照保護も含んでいます。逆方向の変換については JSON to YAMLコンバーター をご覧ください。

**3. コメントの損失 — 透明な説明。** YAMLは#コメントをサポートし、Kubernetesマニフェスト・Helm values・Ansibleプレイブックでは意図を文書化するためによく使われます。JSONにはコメント構文がないため、コメントは変換時に永久に失われます。これはバグではなく、フォーマット間の根本的な差異です。このツールはこれを明示的に示し、期待される動作を把握できるようにします。コメントを保持する必要がある場合は、変換前にJSONフィールド(_commentキーや専用のmetadataオブジェクト)としてエンコードするか、YAMLを権威あるソースとして保持してください。詳細は YAML の Norway 問題とJSON-YAML変換の差異 をご覧ください。

**4. 100%ブラウザベースのプライバシー。** あなたのYAMLデータ(Kubernetesのシークレット・データベース認証情報・パスワードを含むHelm values・内部サービス設定を含むことが多い)はブラウザを離れることはありません。データはどのサーバーにも送信されません。ブラウザの「ネットワーク」タブで確認できます。JSONに変換した後は、下流で使用する前に JSON整形ツール で結果を検証・整形できます。

YAMLの豊かさ(コメント・アンカー・複数ドキュメントサポート・ブロックスカラー)は人間が作成した設定ファイルに最適で、可読性とドキュメントが重要です。JSONの厳密さと汎用性は、マシンが主な消費者の場合により良い選択です。このコンバーターは2つの世界を橋渡しします:人間のメンテナビリティのためにYAMLで設定を保持し、マシン可読の交換フォーマットが必要なときにJSONに変換します。

// Convert YAML to JSON in Node.js using the eemeli/yaml library
import { parseAllDocuments } from 'yaml';

const yamlString = `apiVersion: apps/v1
kind: Deployment`;

// parseAllDocuments handles multi-document YAML (--- separator)
// version: '1.2' ensures yes/no are strings, not booleans
// merge: true expands anchor/alias merge keys (<<: *anchor)
const docs = parseAllDocuments(yamlString, { version: '1.2', merge: true });

// Take the first document (skip additional --- blocks)
const json = JSON.stringify(docs[0].toJSON(), null, 2);

console.log(json);
// {
//   "apiVersion": "apps/v1",
//   "kind": "Deployment"
// }

主な機能

リアルタイム変換

YAMLを入力・貼り付けるとJSON出力が即座に更新されます — 「変換」ボタンは不要です。大きな入力(>200KB)はブラウザのレスポンスを維持するために自動的に手動モードに切り替わります。

2または4スペースインデント

JSON出力のインデントを2スペースと4スペースで切り替えられます。2スペースはほとんどのツールとAPIの標準形式で、4スペースは一部のスタイルガイドやエディタのデフォルトに合わせています。

複数ドキュメントのサポート

---で区切られた複数のドキュメントを含むYAMLストリームを処理します。最初のドキュメントをJSONに変換して返します。Kubernetesの複数リソースファイルやAnsibleプレイブックに便利です。

アンカーとエイリアスの展開

YAMLアンカー(&name)とエイリアス(*name)を完全に展開し、マージキー(<<: *anchor)も含みます。JSON出力には参照なしの完全な参照解除済みデータが含まれます — JSONには同等の概念がないため、これが正しい動作です。

100%ブラウザベースのプライバシー

すべての変換はJavaScriptを使用してブラウザ内でローカルに実行されます。シークレット・認証情報・本番設定を含むYAMLデータはどのサーバーにも送信されず、記録されず、保存されません。

K8s・Compose・Helm・OpenAPIファイルに対応

実際のDevOpsユースケースに最適化:Kubernetesマニフェスト・Docker Composeスタック・Helm chartのvalues・GitHub Actionsワークフロー・OpenAPI仕様・Ansibleプレイブック — それぞれのサンプル付きです。

サンプル

Kubernetesマニフェスト

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app
  namespace: production
  labels:
    app: my-app
    version: 1.0.0
spec:
  replicas: 3
  selector:
    matchLabels:
      app: my-app
  template:
    metadata:
      labels:
        app: my-app
    spec:
      containers:
        - name: my-app
          image: my-app:1.0.0
          ports:
            - containerPort: 8080
          resources:
            requests:
              memory: 64Mi
              cpu: 250m
            limits:
              memory: 128Mi
              cpu: 500m

Kubernetes DeploymentマニフェストをYAMLからJSONに変換します — jqでのクエリ・Kubernetes APIへの送信・TerraformやCI/CDパイプラインへの入力に役立ちます

Docker Compose

version: '3.9'
services:
  web:
    image: nginx:1.25-alpine
    ports:
      - '80:80'
      - '443:443'
    environment:
      NGINX_HOST: example.com
      NGINX_PORT: '80'
    depends_on:
      - db
    restart: unless-stopped
  db:
    image: postgres:16-alpine
    environment:
      POSTGRES_DB: mydb
      POSTGRES_USER: admin
      POSTGRES_PASSWORD: secret
    volumes:
      - pgdata:/var/lib/postgresql/data
volumes:
  pgdata: {}

Docker Compose YAMLをJSONに変換し、プログラム的な操作・自動化スクリプトへの入力・JavaScriptツールでの処理に使用します

GitHub Actionsワークフロー

name: CI
on:
  push:
    branches:
      - main
  pull_request:
    branches:
      - main
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Set up Node.js
        uses: actions/setup-node@v4
        with:
          node-version: '20'
          cache: pnpm
      - name: Install dependencies
        run: pnpm install --frozen-lockfile
      - name: Run tests
        run: pnpm test

GitHub Actionsワークフロー YAMLをJSONに解析し、特定フィールドのクエリ・構造の検証・JSONを受け付けるAPIとの統合に使用します

OpenAPI仕様

openapi: 3.0.3
info:
  title: User API
  version: 1.0.0
  description: Manage application users
paths:
  /users:
    get:
      summary: List users
      operationId: listUsers
      parameters:
        - name: limit
          in: query
          schema:
            type: integer
            default: 20
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/User'
  /users/{id}:
    get:
      summary: Get user
      operationId: getUser
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
components:
  schemas:
    User:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        email:
          type: string
          format: email

OpenAPI 3.0仕様をYAMLからJSONに変換し、クライアントコードジェネレーター・APIテストツール・プログラム的なスキーマ検査に使用します

Helm values.yaml

replicaCount: 3
image:
  repository: my-app
  tag: 1.0.0
  pullPolicy: IfNotPresent
service:
  type: ClusterIP
  port: 80
ingress:
  enabled: true
  className: nginx
  hosts:
    - host: my-app.example.com
      paths:
        - path: /
          pathType: Prefix
resources:
  requests:
    memory: 64Mi
    cpu: 250m
  limits:
    memory: 128Mi
    cpu: 500m
autoscaling:
  enabled: false
  minReplicas: 1
  maxReplicas: 10
  targetCPUUtilizationPercentage: 80

Helm chartのvalues.yamlをJSONに変換し、分析・レポート生成・JSON設定を期待するツールへの入力に使用します

Ansible Playbook

- name: Configure web servers
  hosts: webservers
  become: true
  vars:
    http_port: 80
    max_clients: 200
  tasks:
    - name: Ensure nginx is installed
      ansible.builtin.package:
        name: nginx
        state: present
    - name: Start nginx service
      ansible.builtin.service:
        name: nginx
        state: started
        enabled: true
    - name: Copy nginx config
      ansible.builtin.template:
        src: nginx.conf.j2
        dest: /etc/nginx/nginx.conf
        owner: root
        group: root
        mode: '0644'
      notify:
        - Restart nginx
  handlers:
    - name: Restart nginx
      ansible.builtin.service:
        name: nginx
        state: restarted

Ansible playbook YAMLをJSONに解析し、タスク構造の検査・設定の監査・レポートパイプラインとの統合に使用します

使い方

  1. 1

    YAMLを貼り付ける

    上の入力欄にYAMLデータを入力または貼り付けてください。「サンプルを読み込む」をクリックして、Kubernetes Deployment・Docker Composeファイル・Helm values.yamlなどのサンプルを試すこともできます。

  2. 2

    JSON出力をリアルタイムで確認

    JSONは即座に出力パネルに表示されます。オプション(インデント2または4スペース)を調整して、対象ツールの要件に合わせてください。

  3. 3

    コピーまたはダウンロード

    「コピー」でJSONをクリップボードに取得するか、「ダウンロード」でjq・APIコール・その他の下流ツールにすぐ使える.jsonファイルとして保存してください。

よくあるYAMLの問題

タブインデント

YAML仕様はインデントにタブ文字を禁止しています — スペースのみが許可されています。YAMLがタブを使用するエディタで書かれたりコピーされたりした場合、パーサーはエラーをスローします。すべてのタブインデントをスペース(1レベルにつき2または4スペース)に置き換えてください。

✗ 誤り
services:
	web:
		image: nginx:1.25-alpine
✓ 正しい
services:
  web:
    image: nginx:1.25-alpine

インデントの不一致

YAMLはネストを定義するために一貫したインデントを使用します。同じブロック内で異なるスペース数を混在させると(例:あるレベルで2スペース、別のレベルで3スペース)、パースエラーが発生します。ドキュメント全体で各レベルは同じスペース数でインデントする必要があります。

✗ 誤り
metadata:
  name: my-app
   namespace: production
✓ 正しい
metadata:
  name: my-app
  namespace: production

引用符なしの特殊文字

コロン(:)・ハッシュ(#)・&・*・{・}・[・]・|・>・!・@はYAMLで特殊な意味を持ちます。これらを値内で引用符なしで使用するとパースエラーや予期しない動作を引き起こす可能性があります。これらの文字を含む値はシングルまたはダブルクォートで囲んでください。

✗ 誤り
url: http://example.com:8080/api
tag: #latest
✓ 正しい
url: 'http://example.com:8080/api'
tag: '#latest'

アンカーの循環参照

YAMLは技術的に自分自身を参照するアンカー(循環参照)を許可しますが、実際には稀です。循環アンカーはパーサーを無限展開ループに入らせます。eemeli/yamlライブラリはハングするのではなく、循環アンカーに対してエラーを検出してスローします。

✗ 誤り
# Circular anchor (rare but possible)
base: &base
  parent: *base
✓ 正しい
# Use explicit fields instead of circular references
base:
  parent: null

複数ドキュメントの混乱

複数の---セパレーターを持つYAMLファイルには複数のドキュメントが含まれます。このツールは最初のドキュメントのJSONのみを返します。後のドキュメント(2番目または3番目の---の後)のデータを期待していた場合、出力には表示されません。すべてのドキュメントが必要な場合は---でYAMLを分割してから各セクションを個別に変換してください。

✗ 誤り
# Only the first document is converted
apiVersion: v1
kind: ConfigMap
---
apiVersion: v1
kind: Secret
✓ 正しい
# Convert each document separately
apiVersion: v1
kind: ConfigMap

コメントの損失

YAMLは#コメントをサポートしますが、JSONはサポートしません。すべてのYAMLコメントは変換時に永久に失われます — これはフォーマット間の根本的な差異であり、ツールの制限ではありません。JSONでコメント情報を保持する必要がある場合は、_commentキーやmetadataオブジェクトなどの専用フィールドとしてエンコードしてください。

✗ 誤り
# This comment will be lost
replicas: 3 # scale this up for production
✓ 正しい
replicas: 3
_comment: scale this up for production

よくある使用場面

Kubernetesマニフェストの分析
Kubernetes YAMLマニフェストをJSONに変換し、jqでのクエリ・Kubernetes REST APIへの送信・Terraformデータソースでの処理・JSONを期待するCI/CDパイプラインへの入力に使用します。
Docker ComposeからJavaScriptツールへ
Docker Compose YAMLをJSONに解析して、自動化スクリプト・依存グラフ・Node.jsツールで使用するためのサービス定義・イメージ名・ポートマッピング・環境変数を抽出します。
GitHub Actions APIとの統合
GitHub Actionsワークフロー YAMLをJSONに変換し、プログラム的に構造を検証したり、ジョブとステップの定義を抽出したり、JSONワークフロー仕様を受け付けるCI/CD APIと統合したりします。
OpenAPIからクライアントコード生成へ
多くのコードジェネレーター(openapi-generator・swagger-codegen・oazapfts)はどちらの形式のOpenAPI仕様も受け付けます。ツールが特にJSON入力を必要とする場合や、JSON Schemaバリデーターで検査する必要がある場合に、YAML仕様をJSONに変換します。
Helm Valuesの分析
Helm chartのvalues.yamlをJSONに変換し、レポートの生成・環境間のvalueの比較・ポリシー適用ツールへの入力・JSON設定を期待する自動化での処理に使用します。
JSONベースのツールへの設定移行
アプリケーション設定をYAML(インフラツールで一般的)からJSONに移行し、JavaScript環境・REST API・AWS AppConfig・Azure App Configuration・JSONで設定を保存するあらゆるシステムで使用します。

技術的詳細

merge:trueのparseAllDocumentsによるYAML 1.2仕様
YAMLはeemeli/yamlライブラリ(v2.8+、CVE安全)を使用してparseAllDocumentsと{ version: '1.2', merge: true }で解析されます。YAML 1.2スキーマはyesやnoなどの裸の文字列が文字列として扱われること(ブール値ではなく)を保証し、現行のYAML仕様に一致します。merge: trueオプションはアンカー/エイリアスのマージキー(<<: *anchor)を完全に展開し、JSON出力が完全な参照解除済みデータを含むようにします。複数ドキュメントYAML(---区切り)は最初のドキュメントを返します。
ライブラリによるアンカーとエイリアスの展開
eemeli/yamlライブラリは循環参照検出を含む安全なアンカー(&name)とエイリアス(*name)の展開を処理します。すべての参照されたデータブロック(マージキーの展開を含む)はJSON出力に完全にインライン化されます。JSONには参照やアンカーの概念がないため、これが正しい変換です。ライブラリの安全な展開は不正なYAMLによる無限ループを防ぎます。
ブラウザベース — アップロードなし、サーバーなし
すべての処理はブラウザのJavaScriptエンジン内で完結します。データはいかなる時点でもネットワーク経由で送信されません。200KBを超える入力はリアルタイムモードから手動モードへ自動的に切り替わります(明示的な「変換」クリックが必要)。ブラウザのレスポンスを維持し、重いシリアライゼーション中にメインスレッドがブロックされるのを防ぐためです。

ベストプラクティス

クリーンな変換のためにYAML 1.2互換の構文を使用する
YAML 1.2の慣習でYAMLを作成してください — yes・no・on・off・y・nの文字列値に明示的に引用符を付け(例:enabled: 'yes')、曖昧さを避けます。このツールはYAML 1.2スキーマで解析します(これらは文字列)が、パイプライン内の古いツールはYAML 1.1を使用する可能性があります(ブール値として扱われる)。ソースYAMLで明示的に引用符を付けることが、すべてのパーサーに対して最も安全な実践です。
精度を保持するためにYAML内の大きな数値をクォートする
JavaScriptは2^53 - 1(9007199254740991)より大きな整数を正確に表現できません。KubernetesのresourceVersionとuidなどのフィールドはサーバー側でint64であり、この制限を超える可能性があります。YAMLソース内でこれらの値をクォートし(resourceVersion: '9007199254740993')、パーサーが文字列として扱い、JSON出力でも文字列値として正確に保持されるようにしてください。
APIで使用する前にJSON出力を検証する
YAMLをJSONに変換した後は、APIに送ったり保存したりプログラム的に処理する前に結果を検証してください。JSON整形ツールを使って構造が正しいことを確認してください。これはKubernetes APIコール・OpenAPI仕様・JSON Schemaで検証されるペイロードで特に重要で、構造エラーは変換ステップではなくAPIレイヤーでわかりにくい拒否を引き起こします。
変換前に複数ドキュメントYAMLを分割する
YAMLファイルに複数の---区切りドキュメントが含まれていてすべてをJSONとして必要とする場合は、まずファイルを---で分割してから各ドキュメントを個別に変換してください。このツールは最初のドキュメントのみを取得します。シンプルな方法:エディタまたはawkを使って'\n---\n'で分割し、各セクションを別々に貼り付けます。
下流のJSON処理にjqを使用する
YAMLからJSONを取得したら、jqがコマンドラインでクエリおよび変換する最速の方法です。このツールとjqを組み合わせて使います:YAMLをオンラインで変換し、JSONを貼り付け、jq '.spec.replicas'やjq '.services | keys'を使って必要なものを正確に抽出します。多くのファイルのバッチ処理には-o jsonフラグ付きのyq CLIを直接使用してください。

よくある質問

オンラインでYAMLをJSONに変換するには?
上の入力欄にYAMLを貼り付けてください。ツールはブラウザ内で即座にJSONに変換します — ボタンのクリックは不要です。「オプション」パネルで出力インデント(2または4スペース)を調整できます。出力エリアにJSONが表示されたら、「コピー」でクリップボードにコピーするか、「ダウンロード」で.jsonファイルとして保存できます。すべての処理はローカルで実行されます — データがデバイスの外に出ることはありません。
このツールは複数ドキュメントYAML(---セパレーター)をどう処理しますか?
YAMLは1つのストリームに複数のドキュメントを含めることができ、---(ドキュメント開始マーカー)で区切られます。複数ドキュメントのYAML文字列を貼り付けた場合、このツールはeemeli/yamlライブラリのparseAllDocumentsを使用し、最初のドキュメントのJSONを返します。最初のドキュメント以降の追加ドキュメントは無言で無視されます。すべてのドキュメントを処理する必要がある場合は、---でYAMLを分割して各セクションを個別に変換してください。
YAMLのアンカーとエイリアス(&anchorと*alias)はどう処理されますか?
YAMLアンカー(&name)は再利用可能なブロックを定義し、エイリアス(*name)はそれを参照します。このツールは解析時にすべてのアンカーとエイリアスを完全に展開するため、出力JSONには完全な参照解除済みデータが含まれます。例えば、YAMLアンカーがリソース制限のセットを定義し、複数のサービスがマージキー(<<: *anchor)でそれを参照している場合、JSON出力では各サービスのすべてのフィールドが明示的にインライン化されます。JSONには参照の概念がないためこれは正しい動作です。eemeli/yamlライブラリは循環参照検出を含む安全なアンカー/エイリアス展開を処理します。
YAMLのコメントはJSON出力に保持されますか?
いいえ。JSONはいかなるコメントもサポートしません — #・//・/* */ のいずれの構文も使用できません。YAMLをJSONに変換すると、すべてのコメントは永久に失われます。これはツールの制限ではなく、フォーマット間の根本的な差異です。コメント情報を保持する必要がある場合は、変換前に専用のJSONフィールド(_commentキーなど)としてエンコードするか、コメント付きのYAMLソースを権威あるバージョンとして保持してください。
このツールでKubernetesマニフェストを処理するには?
Kubernetes YAMLマニフェスト(.yamlファイル・kubectl get -o yaml の出力・Helmテンプレートから)を入力欄に貼り付けてください。JSON出力はjqでクエリしたり、Kubernetes REST APIに直接送ったり、Terraformデータソースで使ったり、JSONを期待するあらゆるツールで処理したりできます。よくあるワークフローはYAMLマニフェストをJSONに変換してから特定のフィールドを抽出することです — 例えばJSON出力にjq '.spec.replicas'を実行してデプロイ全体のレプリカ数を確認します。上のK8s Deploymentの例は、ロードして変更できる完全なマニフェストを示しています。
このツールはDocker Composeファイルにどう役立ちますか?
Docker ComposeファイルはYAML形式が慣例です。JSONに変換することで、JavaScriptツール・jqスクリプト・JSONを読むあらゆるシステムでサービス定義を処理できます。よくある使用例は、すべてのイメージ名を抽出して依存関係リストを構築すること、composeファイルからレポートを生成すること、またはJSONを受け付けるCI/CDオーケストレーションツールにCompose設定を入力することです。入力欄にcompose.yamlを貼り付ければ、JSON出力がすぐに下流処理に使えます。
YAML 1.1とYAML 1.2の違いは何ですか?このツールはどちらを使いますか?
YAML 1.1(古い仕様、PyYAML・Ansible・Ruby Psych・多くのKubernetesツールが使用)は裸の文字列yes・no・on・off・y・nをブール値true/falseとして扱います。これが悪名高い Norway 問題を引き起こしました — ISOカントリーコード 'NO' がfalseとして解析されます。YAML 1.2(2009年にリリースされた現行仕様)はこれを修正:すべての裸の文字列は文字列であり、true/falseのみがブール値です。このツールはYAML 1.2スキーマを使用して解析するため、YAMLのyesとnoはJSON出力でブール値のtrueとfalseではなく文字列の 'yes' と 'no' として保持されます。これが正しい現代的な動作です。YAML 1.1パーサー向けに作られたYAMLでyes/noをブール値として使っている場合は、JSON出力がそれらを文字列として扱うことに注意してください。
YAMLがタブインデントを禁止しているのはなぜですか?
YAML仕様はインデントにタブ文字(\t)を明示的に禁止しています — スペースのみが許可されています。これはエディタ間でタブ幅の解釈が異なることによる曖昧さを避けるための意図的な設計決定です。YAMLがタブでインデントされている場合(スペースをタブに自動変換するテキストエディタからコピーするときによく発生)、YAMLパーサーはパースエラーをスローします。修正方法はすべてのタブインデントをスペースに置き換えることです。多くのコードエディタにはタブをスペースに変換する設定があります(例:VimのExpand Tabs、VS CodeのInsert Spaces)。YAMLを貼り付けて「tab」や「indentation」に言及するパースエラーが表示される場合、ほぼ常にこれが原因です。
YAMLをJSONに変換するときに大きな数値の精度が失われますか?
はい。これはすべてのブラウザベースのツールに影響する根本的なJavaScriptの制限です。JavaScriptのIEEE 754倍精度浮動小数点数は2^53 - 1(9007199254740991)までの整数のみを正確に表現できます。これを超えるYAML数値(Kubernetesのint64フィールドであるresourceVersionなど)はYAMLパーサーがJavaScriptの数値型に渡す際に無言で丸められます。例えば、YAML値9007199254740993はJSON出力で9007199254740992になります。安全な回避策はYAMLソースで大きな数値をクォートすること(resourceVersion: '9007199254740993')で、パーサーがそれを文字列として扱い、JSON内で文字列値として正確に保持されます。
コマンドラインでYAMLをJSONに変換するには?
最も人気な方法はyq(Mike Farah版)とjqを使うことです。yqをインストール:macOSはbrew install yq、Linuxはgithubのmikefarahのリリースページからダウンロード。その後、yq -o json input.yaml でYAMLファイルをJSONに変換するか、cat input.yaml | yq -o json - で標準入力からパイプします。整形出力の場合:yq -o json input.yaml | jq . — jqでJSON一貫フォーマット。Pythonのワンライナー:python3 -c "import sys, json, yaml; print(json.dumps(yaml.safe_load(sys.stdin), indent=2))" < input.yaml。yqで複数ドキュメントYAMLの場合:yq -o json '.[0]' input.yaml で最初のドキュメントのみをJSONとして抽出します。
このツールを使うとYAMLデータがサーバーに送信されますか?
いいえ。すべての変換はJavaScriptを使用してブラウザ内で完結します。YAMLデータがネットワーク経由で送信されることも、サーバーに保存されることも、記録・分析されることもありません。Kubernetesのシークレット・データベース認証情報・内部Helm values・設定ファイル内のAPIキーなどあらゆるセンシティブなインフラ設定でも安全に使用できます。ブラウザの「ネットワーク」タブを開けば確認できます — YAMLを貼り付けてもリクエストは一切発生しません。
YAML入力にファイルサイズの制限はありますか?
ハードな上限はありませんが、200KBを超える大きな入力はリアルタイム変換から手動モードに自動で切り替わります。手動モードでは「変換」ボタンが表示され、クリックしたときのみ変換が実行されます — これにより各キー入力のたびにブラウザのメインスレッドがブロックされるのを防ぎます。非常に大きなYAMLファイル(数MBクラス)には、yqなどのコマンドラインツールの使用をお勧めします。完全なKubernetesネームスペースのエクスポート・大きなOpenAPI仕様・マルチサービスのHelm chart valuesファイルなど、典型的な実際のペイロードを効率的に処理できます。

Base64エンコーダー&デコーダー

エンコーディングとフォーマット

Base64のデコード・エンコードが無料でオンラインで行えます。リアルタイム変換、UTF-8・絵文字対応。100%ブラウザ上で動作しデータは外部に送信されません。登録不要。

JSONフォーマッター&バリデーター

エンコーディングとフォーマット

無料オンラインJSON整形ツール。ブラウザ上でJSONのフォーマット、構文検証、圧縮を即座に実行。エラー検出、ワンクリックコピー対応。データは端末外に送信されず、100%プライバシー保護。

JSON to YAML コンバーター

エンコーディングとフォーマット

JSONを貼り付けるだけで即座にYAMLを取得。ブラウザ内でリアルタイム変換。K8s・Compose対応、2/4スペースインデント、Norway問題対応自動クォート。100%プライベート、データは送信されません。

URLエンコーダー&デコーダー — URL構造パーサー内蔵

エンコーディングとフォーマット

URLを貼り付けるだけで即座にエンコード・デコード。内蔵URLパーサーがプロトコル・ホスト・パス・クエリパラメータを編集可能なフィールドに分解。encodeURIとencodeURIComponentの2モード対応。完全ブラウザ動作でデータ送信なし。

進数変換ツール — 2進数・16進数・10進数・8進数

単位変換

無料オンライン進数変換ツール。2進数、8進数、10進数、16進数および任意の基数(2-36)間で数値を瞬時に変換。BigInt対応で桁数制限なし。登録不要・サーバー送信なし、すべての処理がブラウザ内で完結。コピーボタンやコードリテラル出力で開発作業を効率化。

JPEG・PNG・WebP をオンラインで圧縮 — 無料・一括対応

単位変換

無料オンライン画像圧縮ツール。JPEG、PNG、WebP 画像をブラウザ上で最大 80% 縮小。サーバーへのアップロード不要で完全プライベート。最大 20 枚の一括圧縮、品質調整、圧縮前後の比較機能を搭載。登録不要ですぐに使えます。