URLエンコード・デコード
日本語(UTF-8)対応の無料URLエンコード・URLデコード変換ツール。URL・Base64・HTML実体参照・Unicodeエスケープ の 4 形式を 1 画面で相互変換できます。 1 行モードで即結果、複数行モードで最大 100 行の一括変換 + CSV 出力(Excel 対応)。 エンコード↔デコードの自動判定・差分ハイライト・4 形式併走プレビューで、SEO / GA4 / 開発現場の作業を効率化します。
ファンアウト分析と一次データ活用で、AIに引用される記事を継続制作。全プランに AIO / AIモード引用率ダッシュボードを標準装備し、毎月の改善提案まで伴走します。
「LLMO Branding」は株式会社はちのす制作の登録商標です(登録第7027594号)。
URLエンコード(パーセントエンコーディング)とは
URLエンコード(パーセントエンコーディング)は、URLで直接使えない文字を「%XX」形式の英数字表記に置き換える仕組みです。RFC 3986 で標準化されており、URL のパス・クエリ文字列・フラグメント(#以降)に含める非ASCII文字(日本語など)や予約文字(? & = / : # 空白 など)を安全に扱うために使います。
例えば「検索」という日本語は UTF-8 エンコード後のバイト列 E6 A4 9C E7 B4 A2 に変換され、URL 上では %E6%A4%9C%E7%B4%A2 と表現されます。ブラウザのアドレスバーで日本語を貼り付けた際に文字化けするように見えるのは、この変換結果が表示されているためです。
エンコードが必要な文字・不要な文字
RFC 3986 は、URLでそのまま使える文字(unreserved)を厳格に定義しています。
- 変換不要(unreserved): A-Z / a-z / 0-9 / - / _ / . / ~
- 予約文字(reserved): : / ? # [ ] @ ! $ & ' ( ) * + , ; = — 用途によりエンコードが必要
- その他の記号・非ASCII: 空白・日本語・全角文字など — 必ずエンコードが必要
本ツールは入力の形を見て変換方式を自動で振り分けます。クエリ値などの文字列単体は encodeURIComponent 準拠(unreserved 4 記号以外を全てエンコード)、https:// などで始まるフルURLは encodeURI 相当(区切り記号 : / ? # & = を保持して日本語・空白のみエンコード)で処理するため、.htaccess のリダイレクト設定用にフルURLを貼っても区切りが壊れません。
URLエンコード変換表(よく使う文字の一覧)
URLエンコードでよく変換される文字の一覧表です。「この %XX は何の文字?」という逆引きにも使えます。
記号・空白の変換一覧
| 元の文字 | エンコード後 | 備考 |
|---|---|---|
| (半角スペース) | %20 | フォーム送信では「+」になる場合あり |
| ! | %21 | |
| # | %23 | フラグメント区切り |
| $ | %24 | |
| % | %25 | エンコード記号自体。二重エンコードの目印 |
| & | %26 | クエリパラメータ区切り |
| ' | %27 | |
| + | %2B | フォーム形式では空白と解釈されるため要注意 |
| / | %2F | パス区切り |
| : | %3A | スキーム区切り |
| ; | %3B | |
| = | %3D | キーと値の区切り |
| ? | %3F | クエリ開始 |
| @ | %40 | |
| [ | %5B | |
| ] | %5D |
日本語(UTF-8)の変換例
| 元の文字 | エンコード後(UTF-8) | バイト数 |
|---|---|---|
| あ | %E3%81%82 | 3バイト |
| ア | %E3%82%A2 | 3バイト |
| 検索 | %E6%A4%9C%E7%B4%A2 | 6バイト(3×2文字) |
| 日本語 | %E6%97%A5%E6%9C%AC%E8%AA%9E | 9バイト(3×3文字) |
| 🐝(絵文字) | %F0%9F%90%9D | 4バイト |
文字コードで変わるURLエンコード(UTF-8とShift-JIS)
URLエンコードの結果は元テキストの文字コードによって変わります。同じ「検索」でも、UTF-8 と Shift-JIS では別のバイト列になるため、エンコード結果も異なります。
| 文字コード | 「検索」のエンコード結果 | 主な用途 |
|---|---|---|
| UTF-8 | %E6%A4%9C%E7%B4%A2 | 現在のWeb標準。本ツールはこちら |
| Shift-JIS | %8C%9F%8D%F5 | レガシーCGI・一部の社内システム |
| EUC-JP | %B8%A1%BA%F7 | 古いUNIX系システム |
本ツールは UTF-8 のみ対応です(ブラウザ標準の encodeURIComponent / decodeURIComponent が UTF-8 前提のため)。現在の Web サイト・GA4・Search Console・SNS はすべて UTF-8 なので実務の大半はこれで足りますが、Shift-JIS の古いシステム向け変換が必要な場合は文字コード指定のできる専用ツールをご利用ください。
URLエンコード・デコードの実用シーン
URLエンコード・デコードは、SEO / マーケティング / 開発現場のあらゆる場面で使われます。本ツールが特にフィットするユースケースを整理します。
| シーン | 用途 | 本ツールの活用 |
|---|---|---|
| GA4 のパス集計 | GA4 の Page path 列は URL エンコード状態で記録されがち。可読化して集計する | 複数行モードで一括デコード → CSV → スプレッドシート取り込み |
| Search Console 検索クエリ | GSC の Queries に日本語がエンコード済みで出力される場合がある | 複数行モードで日本語 KW を復元 |
| リダイレクト設定 | .htaccess / nginx conf に日本語 URL を書く際は事前にエンコードが必要 | 1 行モードでエンコード → コピペ |
| Ads / SNS 共有 URL | クエリパラメータに空白や特殊記号を含む値を安全に埋め込む | utm_content・utm_term の値を個別エンコード |
| SNS 経由リファラ | t.co や lnc.li 経由の URL を復元して元のURLを確認する | 1 行モードでデコード |
| 開発デバッグ | APIレスポンスに含まれる エンコード済み文字列を確認 | 差分ハイライト+自動判定で即可読化 |
Base64・HTML実体参照・Unicodeエスケープとの違い
「文字列を別の形式に置き換える」という点で似た仕組みが複数あります。用途と使い分けを整理します。
| 方式 | 目的 | 典型的な用途 | 本ツールでの扱い |
|---|---|---|---|
| URLエンコード | URLで使えない文字を「%XX」に置換 | URL・クエリ文字列・リダイレクト設定 | URLタブ |
| Base64 | 任意バイナリを英数字+3記号(+ / =)に変換 | 画像埋め込み(data URI)・Basic認証・APIトークン | Base64タブ(UTF-8対応) |
| HTML実体参照 | HTML予約文字を「そのままの記号として表示」 | 技術記事のコードサンプル・XSS対策・メール本文 | HTML実体タブ |
| Unicodeエスケープ | 非ASCII文字を「\uXXXX」でソースコード内に表現 | JS/JSON/CSSの文字列リテラル・エディタ互換性 | Unicodeタブ |
Base64 エンコードの仕組みと注意点
Base64 は 3 バイト(24 ビット)を 6 ビットずつ 4 文字に区切って表現する形式です。英数字(A-Z / a-z / 0-9)と「+」「/」の 64 文字に、末尾を 4 文字境界に揃える Padding「=」を組み合わせます。日本語のような UTF-8 マルチバイト文字は、先に UTF-8 バイト列に変換してから Base64 化する必要があり、本ツールはこの処理を自動化しています。
HTML実体参照の主要パターン
HTML実体参照には 3 種類の書き方があります。
- 名前付き実体参照:
&<>" — 5 予約文字を中心に約 250 種類定義 - 数値文字参照(10進):
あ— 「あ」を Unicode コードポイント 12354 で指定 - 数値文字参照(16進):
あ— 同じく「あ」を 16 進で指定
本ツールは 5 予約文字(& < > " ')のみをエンコード対象とし、デコード側では上記 3 パターンをすべて解釈します。XSS 対策目的でユーザー入力を HTML 出力する際は、必ずこの 5 文字のエンコードを通してください。
Unicode エスケープの用途
JavaScript や JSON の文字列リテラル内で非ASCII文字を安全に埋め込むための書式が Unicode エスケープです。「あ」は \u3042、絵文字などのサロゲートペア文字(U+10000 以上)は \ud83d\ude00 のように 2 つの \u で表現されます。本ツールはサロゲートペアの分解のほか、ES2015 以降の \u{1F600} 形式のデコードにも対応しています。
よくある落とし穴
二重エンコード
既にエンコード済みの文字列をもう一度エンコードすると 「%25」で始まる文字列 になります。%25 は「%」自体のエンコード形なので、%E6%A4%9C を再度エンコードすると %25E6%25A4%259C になり、URL としては別物になってしまいます。
%25 の出現は二重エンコードのサインとして疑ってください。本ツールでデコードを 2 回繰り返せば元の文字列に戻せます。「+」の解釈違い
クエリ文字列内の「+」は、URLエンコード仕様と HTML フォーム送信仕様で意味が違います。フォーム送信では「+」= 空白として解釈されますが、RFC 3986 では「+」はそのまま「+」として扱われます。本ツールの encodeURIComponent ベースは RFC 3986 準拠で「+」を保持しますが、フォーム送信データを扱う場合は空白は「%20」で、「+」自体は「%2B」で明示するとトラブルを避けられます。
Base64 の Padding 省略
URL-safe Base64 や JWT では Padding「=」が省略される仕様が多く、標準 Base64 デコーダーではエラーになります。ABC(長さ 3)→ 末尾に = を 1 つ足して ABC= にする、AB(長さ 2)→ AB== にする、と 4 文字境界に揃えてください。
プログラミング言語別のURLエンコード・デコード方法
コードの中で変換したい場合の書き方を言語別にまとめました。単発の確認・一括変換は本ツール、プログラム組み込みは以下のコードをご利用ください。
JavaScript でURLエンコード・デコード
// エンコード(クエリ値などの文字列単体)
encodeURIComponent('はちのす制作')
// => '%E3%81%AF%E3%81%A1%E3%81%AE%E3%81%99%E5%88%B6%E4%BD%9C'
// エンコード(フルURL、区切り記号を保持)
encodeURI('https://example.com/検索?q=はちのす')
// デコード
decodeURIComponent('%E6%A4%9C%E7%B4%A2') // => '検索'
C#(.NET)でURLエンコード・デコード
// エンコード(RFC 3986 準拠、推奨)
Uri.EscapeDataString("はちのす制作");
// デコード
Uri.UnescapeDataString("%E6%A4%9C%E7%B4%A2"); // => "検索"
// ASP.NET 系レガシー(System.Web 参照が必要)
System.Web.HttpUtility.UrlEncode("検索"); // 空白が + になる点に注意
System.Web.HttpUtility.UrlDecode("%E6%A4%9C%E7%B4%A2");
PowerShell でURLエンコード・デコード
# エンコード
[uri]::EscapeDataString("はちのす制作")
# デコード
[uri]::UnescapeDataString("%E6%A4%9C%E7%B4%A2") # => 検索
Python でURLエンコード・デコード
from urllib.parse import quote, unquote
# エンコード
quote('はちのす制作')
# => '%E3%81%AF%E3%81%A1%E3%81%AE%E3%81%99%E5%88%B6%E4%BD%9C'
# デコード
unquote('%E6%A4%9C%E7%B4%A2') # => '検索'
Excel でURLエンコード
Excel には ENCODEURL 関数(Excel 2013 以降)がありますが、デコード関数は標準搭載されていません。デコードは VBA を書くか、本ツールの複数行モードに列を貼り付けて一括変換 → CSV でダウンロード → Excel に戻す、が最短です。
=ENCODEURL("検索")
→ %E6%A4%9C%E7%B4%A2
本ツールならではの特徴
- 4 形式(URL / Base64 / HTML実体 / Unicode)を 1 画面で相互変換
- 入力に応じてエンコード↔デコードを自動判定。手動切替の手間を削減
- 複数行モードで最大 100 行を一括変換 + CSV 出力。GA4 集計・GSC 分析の前処理に最適
- 他形式でも同時プレビュー(横断表示)。「URL でエンコードした後 Base64 でどうなるか」を即比較
- 差分ハイライトで「どの部分が変換されたか」を可視化
- 完全ブラウザ内処理でサーバー送信ゼロ。認証トークン・機密 URL も安心して貼付可能
- 広告なし・登録不要・無料。制作現場・SEO業務の日常ツールとして常用可能
よくある質問
Q.URLエンコード(パーセントエンコーディング)とは何ですか?
URLで使えない文字(日本語、空白、記号など)を「%XX」形式の英数字に置き換える仕組みです。RFC 3986 で標準化されており、URL のパス・クエリ文字列・フラグメントに含める非ASCII文字や予約文字を安全に扱うために使います。例えば「検索」は UTF-8 バイト列に変換されたうえで「%E6%A4%9C%E7%B4%A2」と表現されます。
Q.URLデコードとは何ですか?
「%E6%A4%9C%E7%B4%A2」のようなパーセントエンコードされた文字列を、元の「検索」に戻す処理です。ブラウザのアドレスバーやリファラ、GA4/GSC のログ、Web サーバーのアクセスログには URL エンコード状態のまま記録されることが多いため、人間が読める形に戻したい時に使います。
Q.エンコードすべき文字とすべきでない文字の違いは?
RFC 3986 では英数字(A-Z / a-z / 0-9)と「-」「_」「.」「~」の 4 記号を unreserved(変換不要)と定義しています。それ以外の記号(? & = / : # % 空白 日本語 全角文字など)はコンテキストによって予約文字か非ASCII文字となり、エンコードが必要です。本ツールは文字列単体を encodeURIComponent 準拠で変換し、https:// などで始まるフルURLは区切り記号(:/?#&=)を保持する encodeURI 相当で変換する自動振り分けを行います。
Q.Base64 エンコードとの違いは?
URL エンコードは「URLで使えない文字だけ」を「%XX」に置換する仕様、Base64 は「任意のバイナリデータを英数字+記号3種(+ / =)だけの文字列」に変換する仕様です。用途が異なり、URL エンコードは URL 埋め込み向け、Base64 は画像・ファイル・APIトークンの受け渡し向けです。本ツールはタブ切替で両方に対応しています。
Q.HTML実体参照(& / < など)はどんな時に使う?
HTMLの本文中に「<」「>」「&」「"」「'」のような HTML 予約文字を「そのままの記号として表示したい」時に使います。例えば <script>alert(1)</script> と書くと、実行される JS ではなく文字列として画面に表示されます。XSS 対策・技術記事内のコードサンプル・メール本文などで頻繁に使われます。
Q.Unicode エスケープ(\uXXXX)はどんな用途?
JavaScript や JSON、CSS の文字列リテラル内で非ASCII文字を安全に埋め込むための書式です。例えば「あ」は \u3042、「はちのす」は \u306f\u3061\u306e\u3059 となります。ソースコードを ASCII 範囲だけに収めたい時、絵文字・特殊記号を確実に扱いたい時、旧いエディタやトランスパイラの互換性を保ちたい時に使われます。
Q.入力したテキストは外部に送信されますか?
いいえ、本ツールはすべての変換をブラウザ内(クライアントサイド)で完結させており、入力テキスト・変換結果はサーバーに一切送信されません。未公開の URL・認証トークン・APIキーなどの機密文字列もそのまま貼り付けて利用できます。ネットワーク切断状態でも動作します。
Q.複数行モードでは何ができますか?
1 行 1 URL(または 1 文字列)として、最大 100 行を一括変換します。結果は表形式で表示され、CSV としてダウンロードもできます。記事一覧の URL 一括エンコード、GA4 のパス一括デコード、リダイレクト設定ファイル生成前の前処理などに便利です。デコード失敗行は「エラー」として個別に表示されるため、不正なエンコードの発見にも役立ちます。
Q.自動判定はどのように動作しますか?
入力が「すでにエンコード済み」に見えるパターンを検出し、エンコード↔デコードを切り替えます。URL モードは「%XX」パターン、Base64 モードは「英数字と+/=のみで長さが4の倍数」、HTML モードは「& や { パターン」、Unicode モードは「\uXXXX パターン」の有無で判定します。曖昧な場合は手動でご指定ください。
Q.エンコード後の文字列が「二重エンコード」になっていないか確認するには?
「%25」を含む文字列(%25E6%25A4%259C など)は二重エンコードの疑いがあります。%25 は「%」自体のエンコード形なので、既にエンコード済みの文字列を再度エンコードすると発生します。本ツールでデコード→デコードを繰り返すと元の文字列に戻せる場合があります。GA4 のパス集計やリダイレクト設定でよく発生する落とし穴です。
Q.Base64 の Padding(=)が付かないケースへの対応は?
URL-safe Base64(+ を - に、/ を _ に置換し、Padding = を省略する形式)はそのまま貼り付けると decode に失敗することがあります。本ツールは標準 Base64 形式(+ / = 使用)を想定しています。URL-safe 形式を扱う場合は事前に - → +、_ → /、末尾に = を長さが 4 の倍数になるまで追加してからデコードしてください。
Q.GA4 や Search Console のログを一括デコードする用途に使えますか?
はい、複数行モードに URL や検索クエリを 1 行ずつ貼り付ければ、まとめてデコードできます。CSV でエクスポートすれば、そのまま Google スプレッドシートや Excel に取り込めます。日本語ページの URL・検索クエリ・リファラ URL の可読化に便利です。
Q.URLにある「%20」とは何ですか?
%20 は半角スペースのURLエンコード形です。URL には空白をそのまま含められないため、スペースは %20 に変換されます。なお HTML フォーム送信(application/x-www-form-urlencoded)ではスペースが「+」で表現されることもあり、%20 と + が混在して見えるのはこの仕様差が原因です。
Q.ExcelでURLデコードを一括処理するには?
Excel には ENCODEURL 関数(エンコード)はありますが、デコード関数は標準搭載されていません。VBA でマクロを書く方法もありますが、本ツールの複数行モードに対象の列を貼り付けて一括デコード → CSV ダウンロード → Excel に貼り戻すのが最も手軽です。BOM 付き CSV なので日本語も文字化けしません。
Q.サクラエディタや秀丸のマクロを使わずにデコードできますか?
はい、本ツールに貼り付けるだけで完結します。テキストエディタのマクロ設定は環境構築や共有が面倒ですが、本ツールはブラウザがあればどの PC でも同じ手順で使え、複数行の一括処理と CSV 出力にも対応しています。処理はブラウザ内で完結するためテキストが外部に送信されることもありません。
Q.短縮URL(bit.ly / x.gl など)を元のURLに戻せますか?
短縮URLの展開はエンコードの逆変換ではなくリダイレクト追跡が必要なため、本ツールではなく同じはちのすWebツールの「一括リダイレクトチェッカー」をご利用ください。短縮URLを入力すると、最終到達URLまでのリダイレクトチェーンを一括で確認できます。
Q.Shift-JISやEUC-JPのURLエンコードに対応していますか?
いいえ、本ツールは UTF-8 のみ対応です。ブラウザ標準 API(encodeURIComponent / decodeURIComponent)が UTF-8 前提のためです。現在の Web サイト・GA4・SNS はすべて UTF-8 なので実務の大半はカバーできますが、%8C%9F のような Shift-JIS 由来の文字列はデコードエラーになります。その場合は文字コード指定のできる専用ツールをご利用ください。
Q.Windows のローカル環境だけで安全にデコードしたいのですが?
本ツールは読み込み後の変換処理がすべてブラウザ内(クライアントサイド)で完結するため、実質的にローカル処理と同じです。入力した文字列はネットワークに送信されず、機内モードでも動作します。PowerShell([uri]::UnescapeDataString)や Python での処理例も本ページ内に掲載しています。
ファンアウト分析と一次データ活用で、AIに引用される記事を継続制作。全プランに AIO / AIモード引用率ダッシュボードを標準装備し、毎月の改善提案まで伴走します。
「LLMO Branding」は株式会社はちのす制作の登録商標です(登録第7027594号)。