本文へスキップ
  • 画像圧縮画像ツール · 写真や画像をJPGまたはWebPで再エンコードして軽くします。画質スライダーと縮小オプション付きです。
  • 画像サイズ変更画像ツール · 画像の幅と高さをピクセル単位またはパーセントで変更します。高品質な縮小に対応しています。
  • 画像形式変換画像ツール · 1枚または複数の画像の形式をJPG・PNG・WebPに変更します。画質や透明部分の扱いも調整できます。
  • 画像切り抜き画像ツール · ドラッグできる選択範囲、縦横比のプリセット、正確なピクセル入力で画像の一部を切り抜きます。
  • 画像の回転・反転画像ツール · 画像を90°または180°回転し、左右・上下に反転します。結果はリアルタイムでプレビューできます。
  • EXIF確認・削除画像ツール · 写真のEXIF情報(カメラ、日時、位置情報)を表示し、すべて削除するかGPS位置情報だけを削除します。画質は落ちません。
  • HEIC JPG変換画像ツール · iPhoneやiPadで撮ったHEIC・HEIF写真を、どこでも開けるJPGまたはPNGファイルに変換します。
  • 画像ぼかし・モザイク画像ツール · 写真の顔、名前、ナンバープレートなどの情報を、モザイク、ぼかし、塗りつぶしで隠します。
  • ファビコン作成画像ツール · 画像、テキスト、絵文字から、ICO・PNGアイコン・Webマニフェストを含むファビコン一式を作成します。
  • PDF結合PDFツール · 複数のPDFファイルを好きな順番で1つの文書にまとめます。ファイルごとにページ範囲も指定できます。
  • PDF分割PDFツール · ページを抜き出して新しいPDFを作るか、ページ・範囲・一定のページ数ごとに文書を複数のファイルに分割します。
  • PDFページ並べ替えPDFツール · ドラッグ&ドロップでPDFのページ順を変更し、不要なページを削除して結果を保存します。

Base64エンコード・デコード

テキストやファイルをBase64(標準またはURLセーフ)にエンコードし、Base64やdata: URLをテキストまたはダウンロードできるファイルにデコードします。

ブラウザ内で処理 – データはアップロードされません

ツールを読み込み中…

Base64エンコード・デコードについて

Base64は、任意のバイト列を64種類の印字可能な文字(A–Z、a–z、0–9、+、/)で書き表す方式です。これにより、JSONやXMLの文書、メール、HTTPヘッダー、環境変数、HTMLやCSSのdata: URLなど、テキストしか扱えない経路でもバイナリデータを送れます。3バイトごとに4文字になるため、エンコードした形は元のデータより約3分の1大きくなります。

このツールは、テキスト(UTF-8でエンコード)やファイルをBase64に変換し、元に戻します。Base64urlと呼ばれるURLセーフな形式、パディングの有無、MIME形式の改行に対応し、data: URLも扱えます。デコードでは、読み取れるテキストはすぐに表示し、それ以外はファイルとして扱い、可能な場合はデータから種類を判定します。

変換はすべてブラウザ内で行われます。ファイルはお使いのデバイス上で読み込まれ、何もアップロードされません。

使い方

  1. 「方向」で「エンコード」または「デコード」を選びます。
  2. エンコードする場合は、「テキスト」を選んで「エンコードするテキスト」に入力または貼り付けるか、「ファイル」を選んで25 MBまでのファイルを選択します。「data: URLの接頭辞を付ける」にチェックを入れると、そのまま使えるdata: URLが得られます。
  3. 必要に応じて、「URLセーフな文字セット(-と_)」「パディング(=)」「76文字で改行」のオプションを調整します。
  4. デコードする場合は、Base64または完全なdata: URLを欄に貼り付けるか、「テキストファイルを開く」を使います。読み取れるUTF-8テキストは「デコードしたテキスト」に、それ以外のデータはサイズ、種類、16進数プレビューとともに「デコードしたファイル」に表示されます。
  5. 結果は「結果をコピー」「テキストをコピー」「.txtをダウンロード」「ファイルをダウンロード」で保存できます。「入れ替え」で結果を逆方向の入力に送り、「クリア」で最初からやり直せます。

主な機能

  • テキストとファイル: テキストはUTF-8として変換されるので、アクセント付きの文字、日本語などラテン文字以外の文字、絵文字も扱えます。25 MBまでのあらゆる種類のファイルに対応し、ブラウザのbtoa関数にあるサイズやUnicodeの問題もありません。
  • 標準とURLセーフのBase64: どちらの文字セットでも、=によるパディングの有無を選んで出力できます。デコーダーは両方の文字セット、パディングの省略、スペースや改行を受け付けます。
  • わかりやすい検証: 無効な入力については、どの文字が何文字目で使えないのか、Base64としてあり得ない長さなのか、パディングの位置が誤っているのかを正確に説明します。
  • 双方向のdata: URL: ファイルをそのMIMEタイプを使ったdata: URLに変換できます。data: URLを貼り付ければ、そこで宣言された種類でデコードできます。
  • テキストまたはファイルで出力: デコードしたバイト列が有効なUTF-8ならテキストとして表示します。それ以外のデータはダウンロード用に提供し、PNG、JPEG、GIF、WebP、PDF、ZIPは先頭のバイトから判定します。可能な場合は画像のプレビューと、先頭64バイトの16進ダンプも表示します。

使用例

Basic認証のヘッダーを作る

テキスト user:pa55word をエンコードすると dXNlcjpwYTU1d29yZA== になり、これをヘッダー Authorization: Basic dXNlcjpwYTU1d29yZA== に入れます。ヘッダーを見た人は誰でもデコードし直せることを覚えておいてください。

JSON Web Tokenのペイロードを読む

JWTの真ん中の部分は、パディングなしのBase64urlです。eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkFkYSBMb3ZlbGFjZSJ9 をデコードすると {"sub":"1234567890","name":"Ada Lovelace"} が表示されます。デコードではトークンの署名は検証されません。

小さなアイコンをCSSに埋め込む

「ファイル」を選んで小さなPNGを選択し、「data: URLの接頭辞を付ける」にチェックを入れます。結果は data:image/png;base64, で始まり、background-image: url(…) や <img> のsrc属性にそのまま使えます。

APIが返したファイルを保存する

APIによっては、文書をJSON内のBase64文字列として返します。その文字列をデコードモードで貼り付けると、PDFであればapplication/pdfと判定され、「ファイルをダウンロード」でdecoded.pdfとして保存できます。

制限事項と注意点

  • エンコードできるファイルは25 MBまで、デコード用に開けるテキストファイルは40 MBまでです。非常に長い結果は欄内にプレビューとして表示されますが、コピーとダウンロードでは常に結果全体が使われます。
  • 内容から種類を判定できるのは、PNG、JPEG、GIF、WebP、PDF、ZIPだけです。それ以外のバイナリデータは、data: URLで種類が指定されていない限り.binファイルとして保存されます。
  • テキストは常にUTF-8として扱われます。UTF-16やWindows-1252など別のエンコードのテキストをBase64にしたものは、テキストとしては表示されず、ファイルとして提供されます。
  • テキスト欄に入力または貼り付けた改行は、ブラウザによってLFに正規化されます。そのため、Windows(CRLF)の改行を含むテキストはLFでエンコードされます。正確なバイト列が重要な場合は、ファイルそのものをエンコードしてください。
  • 改行を入れた出力ではLFの改行を使います。厳密なMIMEではCRLFを使いますが、このツールを含むデコーダーはどちらも受け付けます。
  • Base64は暗号化ではなくエンコードです。データを保護するものではなく、誰でもデコードできます。

よくある質問

Base64は暗号化の一種ですか?

いいえ。Base64はバイト列の書き表し方を変えるだけで、デコードに鍵は必要ありません。テキストしか扱えない経路でデータを運ぶために使い、パスワードなどの秘密情報を隠す目的には決して使わないでください。

Base64の末尾がよく=や==になるのはなぜですか?

Base64は3バイトずつ処理します。入力の長さが3の倍数でない場合、テキストの長さが4の倍数になるように、最後のグループを1つまたは2つの=で埋めます。JWTなど多くの形式ではこのパディングを省略しますが、このデコーダーはどちらの形も受け付けます。

Base64とBase64urlの違いは何ですか?

Base64url(RFC 4648の第5節)は、+を-に、/を_に置き換えたもので、URLやファイル名にエスケープなしで使えます。この2文字と、通常パディングを省略することを除けば、エンコード方式は同じです。

デコードすると「長さが正しくありません」と表示されるのはなぜですか?

1文字は6ビットしか表せず、1バイトに足りないため、パディングのないBase64テキストの長さが4n + 1文字になることはありません。たいていは、コピーの際にテキストが途中で切れたか、文字が加わったことが原因です。

Base64テキストが元のファイルより大きいのはなぜですか?

3バイトごとに4文字で書き表すため、エンコードしたテキストは元のデータより約33%大きくなります(改行を入れる場合はその分も加わります)。安全な印字可能文字だけを使うための代償です。

ファイルやテキストはアップロードされますか?

いいえ。エンコードとデコードはこのページのJavaScriptで行われ、ファイルはローカルで読み込まれます。サーバーには何も送信されません。

その他の無料ツール