このツールでできること

URLエンコード・デコードツールは、日本語や特殊文字を含むURLを安全なパーセントエンコーディング形式(%XX)に変換、またはその逆変換を行うブラウザ完結型ツールです。API開発のデバッグ検索クエリの作成日本語URLの共有に最適です。RFC 3986に準拠したUTF-8エンコーディングを採用しています。

  • エンコード: 「検索」→「%E6%A4%9C%E7%B4%A2」のように日本語や記号を変換
  • デコード: パーセントエンコーディングを元の文字列に復元
  • RFC 3986準拠: URL標準規格に準拠した正確な変換

🔤 URLエンコード

🔓 URLデコード

💼 こんな時に便利

  • API開発・デバッグに - URLパラメータに日本語や記号を含む場合に正しくエンコード
  • URLの共有時に - 日本語URLを英数字に変換して安全に送信
  • クエリパラメータの作成に - 検索キーワードなどをURL形式に変換
  • ブラウザのアドレスバー解析に - エンコードされたURLを読みやすく変換
  • Web開発の学習に - URLエンコードの仕組みを理解するのに最適

使い方

📌 基本的な使い方

エンコードまたはデコードしたい文字列を入力し、対応するボタンをクリックするだけで変換が実行されます。

💡 URLエンコードとは

URLエンコード(パーセントエンコーディング)は、URLに使用できない文字や予約文字を安全な形式に変換する方法です。日本語などのマルチバイト文字や特殊文字をURLで使用する際に必要になります。

⚙️ 変換例

  • 日本語: 「検索」 → 「%E6%A4%9C%E7%B4%A2」
  • スペース: 「hello world」 → 「hello%20world」
  • 記号: 「?&=」 → 「%3F%26%3D」

🔍 よくある使用例

  • 検索パラメータ: 検索クエリに日本語を含める場合
  • API呼び出し: URLパラメータに特殊文字を含める場合
  • リンク共有: 日本語を含むURLを共有する場合
  • デバッグ: エンコードされたURLの内容を確認する場合

📝 注意事項

  • URLエンコードはUTF-8文字セットを使用します
  • すでにエンコードされた文字列を再度エンコードしないよう注意してください(二重エンコード)
  • URL全体をエンコードするのではなく、必要な部分のみをエンコードしてください

💼 活用シーン

  • Web APIのクエリパラメータ作成
  • フォームデータのURL送信
  • エンコードされたURLの解読
  • 日本語URLの変換
  • 開発・デバッグ作業

📚 URLエンコードの技術解説

📖 RFC 3986とは - URL標準規格の基礎

RFC 3986(Uniform Resource Identifier: Generic Syntax)は、URLやURIの構文を定義するIETF(Internet Engineering Task Force)の公式標準規格です。1998年のRFC 2396を改訂し、2005年に発行されました。

🔹 RFC 3986で定められた予約文字(Reserved Characters)

以下の文字はURLで特別な意味を持つため、データとして使う場合はエンコードが必要です:

  • : スキームとホストの区切り(例: https://
  • / パスの区切り(例: /tools/url-encoder/
  • ? クエリ文字列の開始(例: ?q=検索
  • # フラグメント識別子の開始(例: #section
  • [ ] @ ! $ & ' ( ) * + , ; = サブコンポーネントの区切り文字

🔹 非予約文字(Unreserved Characters)

以下の文字はエンコード不要でそのまま使用できます:

  • 英数字: A-Z a-z 0-9
  • 記号: - _ . ~(ハイフン、アンダースコア、ピリオド、チルダ)

💡 このツールは、RFC 3986に準拠したエンコード・デコードを実行します。予約文字をデータとして使う場合は、自動的にパーセントエンコーディングに変換されます。

🔧 パーセントエンコーディングの仕組み

パーセントエンコーディング(Percent-Encoding)は、URLで使用できない文字をASCIIコードの16進数表現に変換する手法です。変換は以下の手順で行われます:

📌 エンコードの手順(例:「検索」)

  1. UTF-8バイト列に変換
    • 「検」→ UTF-8: E6 A4 9C(3バイト)
    • 「索」→ UTF-8: E7 B4 A2(3バイト)
  2. 各バイトをパーセント記号 + 16進数に変換
    • E6%E6
    • A4%A4
    • 9C%9C
    • E7%E7
    • B4%B4
    • A2%A2
  3. 結果: 「検索」 → %E6%A4%9C%E7%B4%A2

📌 デコードの手順(逆変換)

  1. パーセント記号の後ろの16進数をバイト値に変換
  2. バイト列をUTF-8として解釈し、元の文字列に復元

⚠️ 注意: エンコード済みの文字列を再度エンコードすると「二重エンコード」になり、正しくデコードできなくなります。例: %E6%A4%9C を再エンコード → %25E6%25A4%259C%%25になる)

🔤 文字エンコーディングと文字化け対策

URLエンコードで最も重要なのは、文字エンコーディング(Character Encoding)の統一です。文字化け(Mojibake)は、エンコード時とデコード時で異なる文字エンコーディングを使用した場合に発生します。

🌐 主な文字エンコーディング

エンコーディング 説明 URLエンコーディング
UTF-8 現在のWeb標準。1〜4バイトで全Unicode文字を表現 ✅ 推奨(このツールで使用)
Shift_JIS 日本語の古い文字コード。1〜2バイト ⚠️ 非推奨(互換性問題あり)
EUC-JP UNIXで使われた日本語コード ⚠️ 非推奨(現在は希少)
ISO-8859-1 西欧言語向け。日本語非対応 ❌ 日本語で使用不可

🛡️ 文字化けを防ぐベストプラクティス

  • UTF-8で統一: HTMLの<meta charset="UTF-8">とサーバー設定(Content-Type)を一致させる
  • URLエンコードはUTF-8を使用: このツールを含む現代のURLエンコーダーはすべてUTF-8を採用
  • 二重エンコードを避ける: JavaScriptのencodeURIComponent()を複数回呼び出さない
  • デコード時も同じ文字コードを使用: UTF-8でエンコードしたURLは必ずUTF-8でデコードする

📌 このツールは常にUTF-8を使用するため、現代のWebアプリケーション・APIと100%互換性があります。古いShift_JISベースのシステムとやり取りする場合のみ、サーバー側で文字コード変換が必要になります。

📅 最終更新: 2025年12月9日 | 💬 フィードバック: ご意見・ご要望