開発者

URLエンコーダー / デコーダー

テキストをURLセーフなパーセントエンコード形式にエンコード、またはエンコードされたURLをプレーンテキストにデコードします。完全なURLをスキーム・ホスト・パス・パラメータに解析することもできます。

モード:
URL / テキスト
エンコード結果
エンコードしたいテキストまたはURLを入力または貼り付けてください。
すべてブラウザ内で実行されます。サーバーには何も送信されません。

URLエンコーディングとは

URLエンコーディング(パーセントエンコーディング)は、URLで安全に使えない文字をパーセント記号と16進値で置き換える仕組みです。スペースは%20、アンパサンドは%26、日本語などの非ASCII文字はマルチバイトのエンコードに変換されます。これによってURLが有効で、ブラウザやサーバーが正しく解釈できる形になります。エンコーダーの下に配置されたURLパーサーはURLを構成要素に分解し、確認しやすくします。

encodeURIとencodeURIComponent

encodeURI()はURL全体をエンコードしつつ、URL構文として有効な文字(://?#&=)は残します。encodeURIComponent()はA-Z、a-z、0-9と一部の記号(-_.!~*'())以外のすべてをエンコードします。個々のパラメータ値にはencodeURIComponent()、URL全体にはencodeURI()を使うのが基本です。本ツールは両モードに対応しています。

URLパース

エンコーダーの下のパーサーは、あらゆるURLをプロトコル・ホスト・ポート・パス・クエリパラメータ・フラグメントに分解します。各クエリパラメータはキーと値のペアで表示されます。APIエンドポイントのデバッグ、リダイレクトURLの確認、複雑なクエリ文字列の把握などに便利です。

Base64エンコードには、Base64エンコーダー / デコーダーをご利用ください。

主な用途

  • クエリ文字列の構築:URLに追加する前にユーザーが入力した検索語、フィルター、フォームの入力をエンコードして、インジェクションやリクエストの破損を防げます。
  • WebhookとリダイレクトURLの構築:OAuthやWebhookフローのコールバックURLパラメータをエンコードして、サードパーティのリダイレクトチェーンを通過しても安全に転送されるようにします。
  • メールキャンペーンのリンクトラッキング:UTMパラメータとトラッキングリンク内の宛先URLをエンコードして、メールクライアントがリンクを壊さないようにします。
  • APIエンドポイントのデバッグ:サーバーログやエラーメッセージのパーセントエンコードされたURLをデコードして、元のパラメータを人間が読める形式で確認できます。
  • 国際化URLの作成:国際的なウェブアプリケーションで使用するために、ASCII以外の文字(アクセント付き文字、中国語、アラビア語、ヒンディー語)をURLにエンコードできます。
  • ファイルパスのURLエンコード:スペースや特殊文字を含むファイル名をエンコードして、URLパスセグメントとして正しく機能するようにします。
  • SNSリンクの共有:ソーシャルメディアのメタタグに埋め込む前にURLをエンコードして、プラットフォームがパラメータを削除したり誤解釈したりしないようにします。

FAQ

URLでスペースが%20になるのはなぜ?

スペースはURLで有効な文字ではなく、URLに使えるのは安全なASCIIの一部に限られているためです。%20はスペース(ASCII 0x20)のパーセントエンコード表現です。HTMLフォームのapplication/x-www-form-urlencoded送信ではスペースが+になる場合もありますが、URLのパスやクエリ値の内部では%20が標準です。

URLエンコーディングとBase64の違いは?

URLエンコーディングは特殊文字をエスケープしてテキストをURLで安全に扱えるようにするもので、主にURL構文との互換性のためのものです。Base64はバイナリをASCIIテキストに変換するもので、主にテキスト専用の経路でバイナリを送るためのものです。用途は別ですが、両方を組み合わせることもあります(まずBase64、そのあとURLエンコード)。

URL全体をエンコードすべきですか、パラメータだけで十分ですか?

通常はパラメータだけで十分です。個別のクエリ値には「コンポーネントをエンコード」モード(デフォルト)を使います。「URL全体をエンコード」はパスやホスト名に非ASCII文字を含むURLでURL構造は残したまま文字だけをエスケープしたいときに利用してください。

URLエンコーダーはデータをどこかに送信しますか?

いいえ。すべてのエンコードとデコードはブラウザ内で完結します。URLやテキストデータがデバイスの外に出ることはありません。

encodeURIとencodeURIComponentの違いは何ですか?

encodeURIはURL全体をエンコードしつつ、URLの構造を持つ/、:、?などの文字を保持します。encodeURIComponentは個別の値をエンコードし、それらの文字も置き換えます — クエリ文字列の個々の値にはこちらを使ってください。

数字で見る

参考資料・さらに詳しく

01
あなたのデバイスで動作
ファイルはブラウザの外に出ません。サーバーへのアップロードなし。
02
8 言語対応
EN, ES, HI, PT, FR, DE, ID, JA — すべてのツールで。
03
登録不要
ページを開いて、ツールを使う。それだけ。