JSONをBase64にエンコード
JSONファイルを1行のBase64テキストに変換します。引用符や波かっこ、改行が問題になる環境変数、YAMLのフィールド、APIのリクエスト本文でも、そのまま扱えます。デコードすれば元とまったく同じバイト列に戻ります。
データ変換
またはCSV, TSV, TXT … ファイルをここにドロップ ·
1ファイルあたり最大95 MB· 最大20ファイルまで· 30分後に削除
ファイルは当社のサーバーで処理され、30分後に削除されます。
CSVやテキストファイルで列を区切る文字です。読み込みと書き出しの両方に使われます。自動は入力から判別し、書き出しはカンマにします。
UTF-8はあらゆる言語に対応します。WindowsのExcelでCSVを開いたときにアクセント文字や日本語などが文字化けする場合は、BOM付きUTF-8を選んでください。
Excel、ODS、Numbersの入力用です。最初のシートだけ、またはすべてのシートを変換します(CSVはシートごとに1ファイルをZIPにまとめ、JSONはシートごとに1つのキーになります)。
新しいスプレッドシートのシートタブの名前です。31文字までです。
オブジェクトの配列は、各行で列名をキーにします。配列の配列はよりコンパクトで、ヘッダーを最初の配列として保持します。
すべての行を囲む外側の要素の名前です。各行はその中で<row>になります。
CREATE TABLE文とINSERT文で使われます。英字、数字、アンダースコアのみ使えます。
引用符の付け方や列の型はデータベースごとに少しずつ異なります。インポート先に合わせて選んでください。
日付のセルを1つの形式に書き換えます。ISO(2026-10-18)はデータベースやコードに最も安全です。そのままは元の表記を保ちます。
このツールの使い方
- 1
JSONファイルをアップロード
サービスアカウントキーや設定ファイルなどの .json、.jsonl、.ndjson ファイルを追加します。1回に最大20ファイル、1ファイルあたり95 MBまで処理できます。
- 2
プレフィックスの有無を選ぶ
標準では通常のBase64になっています。HTMLやCSSの属性など、data: URLが必要な場所にテキストを入れる場合だけ、詳細設定のデータURIプレフィックスをオンにしてください。
- 3
エンコードしてコピー
Base64テキストに変換を押し、結果をダウンロードして、文字列をシークレットストア、マニフェスト、リクエストボディに貼り付けます。
JSONをBase64にエンコードしても、データの内容は変わりません。波括弧、引用符、改行が壊れてしまう場所でも送れるように、英数字だけの文字列に詰め替えるだけです。
JSONファイルをBase64にエンコードする理由
代表的なのは認証情報ファイルです。クラウドプロバイダーからサービスアカウントキーをJSONファイルで渡されても、CIシステム、ホスティングのダッシュボード、コンテナプラットフォームには、シークレット用の1行テキスト欄しかないことがあります。生のJSONを貼り付けると、最初の改行やエスケープされていない最初の引用符で壊れてしまいます。Base64にすれば、同じキーが途切れのない1本の文字列になり、アプリケーションが起動時にデコードして使えます。
Base64自体の起源はメールにあります。1996年にRFC 2045で定義されたMIMEが、7ビットのテキストしか扱えないメールサーバーを添付ファイルが通過できるように採用しました。その後、2006年にRFC 4648で文字セットが単独で標準化されています。代償はサイズで、3バイトごとに4文字になります。画像などのバイナリファイルには、同じエンコードで対応するデータURIも作れる画像をBase64に変換をご利用ください。受け取る側がBase64欄ではなくYAMLを読むなら、JSONをYAMLに変換だけで足りるかもしれません。
JSONからBase64への変換例
{"env":"prod","retries":3}
eyJlbnYiOiJwcm9kIiwicmV0cmllcyI6M30=Base64形式のJSONが求められる場面
| 機関 | 要件 | 出典 |
|---|---|---|
| Kubernetes Secrets | data 配下の値はすべてBase64である必要があります。JSONキーファイルをマウントするには、先にエンコードします。 | kubernetes.io |
| GitHub REST API | ファイル内容の作成・更新エンドポイントでは、.json ファイルを含むファイルを、Base64で content に指定します。 | docs.github.com |
| JSON Web Tokens (RFC 7519) | JSONのヘッダーとクレームは、それぞれbase64urlでエンコードし、ドットでつなげます。 | — |
| メールの添付ファイル(MIME) | .json の添付ファイルは、テキストのみ対応のメールサーバーを通過できるよう、Base64の転送エンコードで送信されます。 | — |
- Base64Base64エンコード · RFC 4648エンコード
- 任意のバイト列を、A–Z、a–z、0–9、+、/ の64種類の安全な文字と、パディング用の = で表す方法です。入力3バイトごとに4文字が出力されるため、テキストは元のファイルより約3分の1長くなります。元に戻せて鍵も使わないため、セキュリティ対策ではなく、転送用の形式です。
JSONとBase64の形式データ
JSON
JavaScriptオブジェクト表記
JSONは構造化データ用の軽量なテキスト形式で、2000年代初めにDouglas Crockfordが広め、RFC 8259とECMA-404として標準化されました。オブジェクト、配列、文字列、数値、真偽値、nullを、シンプルで読みやすい構文で表現します。ウェブAPI、設定ファイル、ほぼあらゆるプログラミング言語でのアプリ間のデータ交換における標準的な形式です。コメント、日付、スキーマは標準では含まれず、深くネストした大きなファイルはビューアなしでは読みにくくなります。
- 圧縮方式
- –
- 透過
- –
- アニメーション
- –
- 登場時期
- 2001 · Douglas Crockford
BASE64
Base64エンコードされたテキスト
Base64は、RFC 4648で定義されたエンコード方式で、あらゆるバイナリデータを64種類の安全なテキスト文字の文字列に変換します。HTMLやCSSへのデータURIとしての画像埋め込み、メールへのファイル添付、JSONやXMLでのバイナリデータ送信に使われます。エンコードは完全に元へ戻せますが、データは約33%大きくなります。Base64は暗号化ではなく、セキュリティもありません。誰でもデコードできます。
- 圧縮方式
- 可逆
- 透過
- –
- アニメーション
- –
- 登場時期
- –
生の引用符や改行を扱えない1つの文字列フィールドに、構造化データを入れる必要があるときに、JSONはBase64にエンコードされます。たとえばCIのシークレット、Kubernetesのマニフェスト、APIの content フィールド、ヘッダー値などです。
JSONのBase64変換に関するよくある質問
Base64にしたJSONは暗号化されていますか?
いいえ。Base64は暗号化ではなくエンコードで、誰でも1つのコマンドでデコードできます。Kubernetesのドキュメントでも、Secretは既定ではBase64エンコードされただけで暗号化されずに保存されると警告されています。エンコードした文字列も、元のキーと同じように厳重に管理してください。
トークンやURLにはBase64とbase64urlのどちらを使いますか?
ここで出力する標準のBase64は、+ と / を使い、末尾を = で埋めます。JWTやURLパラメータでは、RFC 4648のbase64urlが使われ、- と _ に置き換わり、パディングは通常省かれます。変換先がbase64urlを求める場合は、これら3つの文字を置き換えてください。
エンコード前にJSONを圧縮(minify)すべきですか?
多くの場合は小さくなります。スペース、インデント、改行も他と同じ1バイトで、3バイトごとに4文字の出力になります。整形済みの設定ファイルを先に jq -c などで圧縮しておくと、その分エンコード後の文字列も短くなります。
Base64の文字列をJSONに戻すには?
macOSやLinuxでは base64 --decode、PowerShellでは [Convert]::FromBase64String を使います。ブラウザでは、atob の結果を TextDecoder に通すと、UTF-8の文字も正しく元に戻ります。
kubectlで「illegal base64 data」と表示されるのはなぜですか?
Secretマニフェストの data には、1行の正しいBase64を指定する必要があります。このエラーは、貼り付け時に改行が混入した場合や、data に通常のJSONを入れた場合によく起こります。通常の値は stringData に入れると、Kubernetesがエンコードしてくれます。
エンコードでJSONの中身は変わりますか?
いいえ。Base64はバイト列とテキストを欠落なく相互変換するため、キー、値、アクセント付き文字、ファイル先頭のバイトオーダーマークまで、デコード時にそのまま復元されます。
- 画像をBase64に変換PNG・JPG・GIF・WebP・SVG画像をBase64テキストに変換。data:image接頭辞付きでHTMLのsrc、CSSのurl()、JSONにそのまま使えます。最大20枚を一括変換。
- JSONをTXTに変換JSONをプレーンテキストに変換。1行に1レコード、項目はタブまたは任意の区切り文字で分割。メモ帳、Excel、コマンドラインツールで開けます。
- JSONをYAMLに変換JSONをYAMLにオンラインで変換。Kubernetes、GitHub Actions、Compose、Ansible向けに、インデント付きで引用符も安全なYAMLを出力。1回20ファイルまで、登録不要です。
- JSONをXMLに変換JSONをXMLにオンライン変換。キーは要素に、配列は繰り返し要素になり、全体を任意の名前のルートタグで囲みます。整形済みで出力、アカウント不要です。
- JSONをCSVに変換JSON・JSON LinesをCSVに変換。1オブジェクト1行、ネストした項目は列に展開、BOM付きUTF-8でExcelでも文字化けしません。20ファイル同時対応。