ファイルを選択
  1. base64hub
  2. テキストツール
  3. テキストを Base64 に

テキストを Base64 に:文字列を Base64 に変換

文字列を入力すると、すぐに Base64 が表示されます。結果はバイト列によって決まるので、文字コードを選べるようにし、実際にエンコードしたバイト数も表示しています。

無料 登録不要・制限なし ローカル アップロードなし 更新日 2026/10/27
入力 0 B出力 0 Bサイズ –

ブラウザ内で処理されます。このページがデータをどこかに送信することはできません – その根拠

テキストを Base64 に変換する方法

  1. 入力 · テキスト に文字列を入力するか貼り付けます。スペースや改行も含め、入力したものがそのままエンコードされます。
  2. Base64 は 出力 · Base64 に表示されます。ボタンの下の 入力 の数値は、テキストが何バイトになったかを示します。
  3. 値をデコードする側のシステムが別の文字コードを想定していない限り、文字コード は UTF-8 のままにしてください。
  4. 文字列を URL やトークンに入れる場合は、URLセーフ(- _) と パディングなし(=) にチェックを入れます。
  5. 出力をコピー を押すか、ダウンロード で base64.txt として保存します。

元に戻すには Base64 をテキストに を使うか、入れ替え を押してこの場で結果をデコードしてください。

1 つの文字列から複数の Base64 が生まれる

Base64 がエンコードするのはバイト列で、文字列は文字コードを通して初めてバイト列になります。そのため、同じ 5 文字から 4 通りの答えが出ることがあります。

文字列文字コードバイト数Base64
GrüßeUTF-87R3LDvMOfZQ==
GrüßeWindows-1252 または ISO-8859-15R3L832U=
GrüßeUTF-16LE10RwByAPwA3wBlAA==
GrüßeUTF-16BE10AEcAcgD8AN8AZQ==

目に見えない文字も数に入ります。Hello は SGVsbG8=、末尾にスペースのある Hello は SGVsbG8g、Windows の改行が続く Hello は SGVsbG8NCg== です。複数行の値では改行が典型的な落とし穴になります。line1 と line2 を \n でつなぐと bGluZTEKbGluZTI=、\r\n でつなぐと bGluZTENCmxpbmUy になります。2 つのシステムで値が食い違う場合は、まずバイト数を比べてください。

Base64 文字列の長さ

入力の 3 バイトごとに 4 文字になり、最後に残った 1~2 バイトのグループは = で 4 文字に揃えられます。

入力のバイト数Base64 の文字数例(x の繰り返し)
14eA==
24eHg=
34eHh4
48eHh4eA==
1016eHh4eHh4eHh4eA==

つまり文字列は約 3 分の 1 長くなり、UTF-8 で複数バイトを使う非 ASCII 文字が含まれればさらに長くなります。折り返した出力の正確な数値は Base64 のサイズオーバーヘッド のページにあります。

エンコードした文字列の行き先

文字列を Base64 に変換するのは、たいてい特殊文字を嫌う場所を通すためです。

  • 環境変数と CI のシークレット。 引用符、$、改行を含む値は壊れてしまいます。postgres://app:s3cret@db:5432/app は cG9zdGdyZXM6Ly9hcHA6czNjcmV0QGRiOjU0MzIvYXBw となり、エスケープの要らない 1 行になります。
  • Kubernetes の Secret。 data: の値は Base64 でなければなりません。Kubernetes Secret デコーダー で読み戻せます。
  • HTTP ヘッダー。 たとえば user:password をエンコードした Authorization: Basic です。Basic 認証ヘッダー生成ツール でヘッダー全体を作れます。
  • JSON や XML のフィールド。 エスケープのルールに邪魔されずに任意のテキストを運ぶ必要がある場合です(JSON を Base64 に)。

どれも値を隠すものではありません。文字列を持っていれば誰でもデコードできるので、エンコードしたシークレットも平文のシークレットと同じように扱ってください。エンコードと暗号化の違い を参照してください。

コードで文字列を Base64 に

import base64

base64.b64encode("Grüße".encode("utf-8")).decode("ascii")   # 'R3LDvMOfZQ=='
base64.b64encode("Grüße".encode("cp1252")).decode("ascii")  # 'R3L832U='
// Node.js
Buffer.from("Grüße", "utf8").toString("base64");     // "R3LDvMOfZQ=="
Buffer.from("Grüße", "utf16le").toString("base64");  // "RwByAPwA3wBlAA=="

どちらの言語でも、文字列をバイト列にする手順を明示する必要があり、そこで文字コードを選びます。詳しくは Python と Node.js のページを参照してください。

よくある質問

文字列を Base64 に変換するには?

文字コード(ほぼどこでも UTF-8)で文字列をバイト列にし、そのバイト列を Base64 エンコードします。上のツールは両方を行います。Python なら base64.b64encode(s.encode("utf-8")).decode() です。

同じテキストなら必ず同じ Base64 になりますか?

バイト列が同じ場合に限ります。Grüße は UTF-8 では R3LDvMOfZQ== ですが、Windows-1252 では R3L832U= です。スペースや改行が 1 つ増えるだけでも結果は変わります。

Base64 文字列の長さはどれくらいになりますか?

入力が n バイトなら、改行を除いて 4 × ⌈n / 3⌉ 文字です。10 バイトの文字列なら 16 文字になります。任意の長さについては サイズ計算ツール で計算できます。

Base64 文字列を設定ファイルや環境変数に入れられますか?

はい、それが主な用途の一つです。改行や引用符を含むどんな値も、安全な文字だけの 1 行に変わります。1 行のまま保つには、折り返しを「なし」のままにしておいてください。