Base64変換(エンコード・デコード)

「Hello」をBase64にエンコードすると SGVsbG8=、「日本語」は 5pel5pys6Kqe になります。

結果
問題は解決しましたか?
Googleで優先表示

使い方

  1. テキストをBase64にするならエンコード、Base64を文字に戻すならデコード、端末のファイルを変換するならファイルを選びます。
  2. 入力欄に入力または貼り付けます。結果は入力しながら表示されます。
  3. URLやファイル名に使うならURLセーフにチェックを入れます。小さな画像をHTMLやCSSに埋め込むなら、ファイルを変換してdata URLにチェックを入れます。

計算方法

Base64は3バイト(24ビット)ずつ区切り、AからZ、aからz、0から9、+ と / の64文字から4文字に置き換えます。最後のまとまりが3バイトに満たないときは、= を1つか2つ付けて埋めます。

テキストは先にUTF-8でバイトに変換するので、ひらがな、漢字、é、絵文字のような英語以外の文字もエラーにならず正しくエンコード、デコードできます。

URLセーフ形式は + と / を - と _ に置き換え、末尾の = を省きます。リンクの中にそのまま置けます。デコードはどちらの形式も、改行や = の欠けも受け付けます。

よくある質問

Base64は暗号化ですか?

いいえ。誰でもデコードできるので、何も隠せません。JSON、メール、URLのようなテキストしか通らない経路でバイナリを運べるようにするための形式です。秘密の保護には使わないでください。

Base64にすると元より大きくなるのはなぜ?

3バイトが4文字になるので、約33%大きくなります。さらにパディングや改行の分が少し増えます。

デコードすると「テキストではない」と出るのは?

Base64自体は正しいものの、中のバイトがUTF-8のテキストではありません。画像やPDFなどのバイナリでよく起こります。ファイルからBase64を作るときはファイルモードを使い、デコードしたバイナリの保存は専用のツールで行ってください。

ファイルはアップロードされますか?

いいえ。ファイルはブラウザが読み込み、端末の中で変換します。大きなBase64文字列はページを固まらせることがあるため、ファイルは5MBまでです。