DevTools Japan トップへ

URLエンコード・デコード

URLのパーセントエンコーディングを変換。日本語URL対応。

サンプルを選択:

日本語URL クエリパラメータ 絵文字テキスト
入力(テキスト/URL)0文字
出力(エンコード済み)0文字

URLエンコード・デコードツールの使い方

URLに含められない文字(日本語、スペース、特殊記号等)をパーセントエンコーディングに変換する無料ツールです。検索パラメータの生成、API呼び出しのURL構築、リダイレクトURLの作成などに使います。

URLエンコードとは

URLにはASCII文字の一部しか使用できないため、日本語やスペース、一部の記号はパーセントエンコーディング(%XX形式)に変換する必要があります。例えば「東京」は「%E6%9D%B1%E4%BA%AC」になります。このツールでは、エンコードとデコードの両方向に対応しています。

開発での活用

APIのクエリパラメータに日本語を含める場合や、リダイレクトURLをパラメータとして渡す場合に必須の処理です。すべてブラウザ内で処理されます。

URLエンコードとは(パーセントエンコーディング)

URL(Webアドレス)で安全に使える文字は、英数字(A〜Z、a〜z、0〜9)と一部の記号(- _ . ~)に限られています。それ以外の文字、たとえば日本語・スペース・記号などをURLにそのまま含めると、ブラウザやサーバーが正しく解釈できなかったり、別の意味に取られてしまったりします。そこで使われるのがパーセントエンコーディング(URLエンコード)です。

パーセントエンコーディングでは、対象の文字を一度UTF-8のバイト列に変換し、各バイトを「%」+16進数2桁(%XX)の形式で表現します。たとえばひらがなの「あ」はUTF-8で3バイトになるため、「%E3%81%82」という3つの%XXに変換されます。半角スペースは「%20」に置き換えられます。こうして変換しておくことで、どんな文字を含むURLでも壊れずに送受信できるようになります。

URLエンコードが必要になる代表的な場面は、検索フォームの送信やAPIのクエリパラメータの組み立てです。「?q=東京タワー」のように日本語を含む検索条件をURLに載せる場合、日本語部分をエンコードしないとリンクが正しく機能しません。逆に、ログやリダイレクトURLに含まれる「%E6%9D%B1%E4%BA%AC」のような文字列を人が読めるようにするには、デコード(復号)して元の文字に戻します。本ツールはエンコードとデコードの両方向に対応しており、用途に応じてモードを切り替えられます。

主要文字の変換例(UTF-8基準)

文字説明encodeURIComponentencodeURI
(半角スペース)スペース%20%20
ひらがな(3バイト)%E3%81%82%E3%81%82
漢字(3バイト)%E6%9D%B1%E6%9D%B1
漢字(3バイト)%E4%BA%AC%E4%BA%AC
&アンパサンド%26&
?クエスチョン%3F?
/スラッシュ%2F/
=イコール%3D=

日本語などの非ASCII文字は、encodeURIComponentでもencodeURIでも同じ%XX列に変換されます。違いが出るのは「&」「?」「/」「=」のようなURLの区切りに使う記号で、encodeURIComponentはこれらも変換するのに対し、encodeURIはURL全体の構造を壊さないようそのまま残します。値(パラメータの中身)だけをエンコードしたいときはencodeURIComponent、URL全体を一括でエンコードしたいときはencodeURIを使うのが基本です。

よくある質問

URLエンコードとは何ですか?
URLで安全に使えない文字(日本語・スペース・一部の記号など)を、UTF-8のバイト列に基づいて「%XX」という形式に変換する仕組みです。パーセントエンコーディングとも呼ばれ、検索フォームの送信やURLパラメータの組み立てに使われます。
スペースは何にエンコードされますか?
パーセントエンコーディングでは半角スペースは「%20」になります。本ツールのエンコードも%20を出力します。ただしHTMLフォームのapplication/x-www-form-urlencoded形式では、スペースが「+」で表現される場合があり、デコード時はこの違いに注意が必要です。
日本語をパーセントエンコーディングできますか?
はい。日本語はUTF-8のバイト列に変換されてから%XX形式になります。たとえば「あ」は「%E3%81%82」、「東京」は「%E6%9D%B1%E4%BA%AC」になります。本ツールに日本語を入力すれば正しく変換できます。
エンコードとデコードの両方ができますか?
はい。本ツールはエンコードとデコードの両方向に対応しています。上部のモード切替で「エンコード」「デコード」「encodeURIComponent」を選べ、すべてブラウザ内で処理されサーバーには送信されません。
encodeURIとencodeURIComponentの違いは何ですか?
どちらも日本語などはエンコードしますが、対象とする記号の範囲が異なります。encodeURIComponentは「&」「?」「/」「=」などURLの区切り記号も変換するため、パラメータの値をエンコードするのに向きます。encodeURIはこれらの区切り記号を残すため、URL全体を一括変換する用途に向きます。

関連ツール

Base64変換ツール HTML特殊文字変換ツール JSON整形ツール
コピーしました