URLエンコード・デコードツール
テキストをURLエンコード(%エンコーディング)、またはデコードできます。クエリパラメータの日本語を確認・変換するのにすぐ使えます。
最終更新:2026年9月9日 / 運営:sesebox(運営者情報)
テキストを入力すると、URLエンコードした結果がここに表示されます。
① このツールの使い方
- •1. 変換方向を選ぶ:「エンコード」(テキスト→%記号の形式)か「デコード」(%記号の形式→テキスト)かを切り替えます。
- •2. テキストを入力する:入力するとリアルタイムで下の結果欄に変換結果が表示されます。
- •3. コピーする:結果欄のコピーボタンでそのままクリップボードにコピーできます。
たとえば「東京 天気」というキーワードをエンコードすると、%E6%9D%B1%E4%BA%AC%20%E5%A4%A9%E6%B0%97という文字列になります。この形式であれば、日本語や空白を含んでいてもURLの一部として安全に送れます。
② URLエンコードとは何か
URL(Webアドレス)は、本来半角英数字と一部の記号だけで構成することを前提にした仕組みです。日本語や「&」「=」「?」のようにURLの構造そのものに使われている記号を、そのままURLに含めることはできません。URLエンコード(パーセントエンコーディング)は、これらの文字を「%」+16進数2桁という安全な形式に変換する方式です。
日本語のようなマルチバイト文字は、まずUTF-8のバイト列に変換されたうえで、各バイトが「%XX」という形式で表現されます。「あ」という1文字は3バイトのデータになるため、エンコード後は%E3%81%82という3組の「%XX」に変換されます。
③ どんな場面で使われるか
| 場面 | 使われ方 |
|---|---|
| 検索キーワードの受け渡し | https://example.com/search?q=東京 のようなURLで、日本語のキーワードを安全に渡す |
| SNSのシェアリンク | 共有するページのタイトルやURLを、シェア用リンクのクエリパラメータに埋め込む |
| フォームの値の送信 | GETリクエストで日本語や記号を含む入力値をサーバーに渡す |
④ スペースの扱いに注意
このツールではencodeURIComponentという関数を使っており、半角スペースは%20に変換されます。一方で、HTMLフォームを送信するときの標準的な形式(application/x-www-form-urlencoded)では、スペースが「+」に変換されるという別のルールが使われることがあります。どちらの形式で送られてきたデータかによって、スペースの表現が変わりうる点は覚えておくと混乱しにくくなります。
⑤ デコードでエラーが出るとき
「デコードに失敗しました」と表示される場合は、「%」の後ろに正しい16進数2桁が続いていない、あるいはエンコードされた文字列が途中で切れていないかを確認してください。URLをコピーする際に一部が欠けてしまっていることがよくある原因です。
⑥ encodeURIとencodeURIComponentの違い
JavaScriptには似た名前の関数が2つあり、混同されがちです。encodeURIComponentは、クエリパラメータの値(キーワードなど)をエンコードするための関数で、「&」「=」「?」「/」「:」といったURLの構造そのものに使われる記号もすべて変換します。一方encodeURIは、URL全体をエンコードするための関数で、こうした構造上の記号は「壊してはいけないもの」としてそのまま残します。このツールはencodeURIComponentと同じ挙動のため、クエリパラメータの値だけをエンコードしたい場合に向いています。URL全体をコピーしてそのままエンコードすると、「https://」の「//」まで変換されてリンクとして機能しなくなってしまうので注意してください。
HTMLのタグそのものを安全に表示したい場合はHTMLエスケープツールをお使いください。URLエンコードとは変換対象・目的が異なる、似て非なる処理です。
⑦ クエリパラメータを組み立てるときの注意点
複数のパラメータを含むURLを自分で組み立てる場合、キーと値のペアごとにエンコードしてから「&」でつなぐのが基本の手順です。たとえば検索キーワード「東京 天気」とページ番号「1」を渡したい場合、まず「東京 天気」だけをエンコードして%E6%9D%B1%E4%BA%AC%20%E5%A4%A9%E6%B0%97にし、それを?q=…&page=1という構造に組み込みます。「&」や「=」といった構造上の記号までエンコードしてしまうと、パラメータの区切りが認識されなくなり正しく動作しません。このツールはあくまで1つの値を変換する用途なので、複数パラメータを組み立てる際は、値ごとに変換した結果を手動で「&」「=」を使ってつなぎ合わせる必要があります。
⑧ 二重エンコードに注意
すでにエンコードされた文字列を、気づかずもう一度エンコードしてしまう「二重エンコード」もよくあるトラブルです。たとえば「%20」(スペース)をさらにエンコードすると「%2520」という形になり、正しくデコードできなくなります。他のツールやプログラムからコピーしてきたURLを扱うときは、それがすでにエンコード済みかどうかをまず確認し、済んでいるものにはこのツールでの再エンコードをかけないよう注意してください。逆に「デコードしてもエラーにならないが、意味の通らない文字列になる」場合は、二重エンコードが疑わしいサインです。このツールでデコードを2回試してみて、1回目で正しい文字列に戻れば単純なエンコード済みデータ、2回デコードしないと元に戻らない場合は二重エンコードが起きていたと判断できます。原因となっている箇所(プログラムの二重処理か、コピー元がすでにエンコード済みだったか)を特定すれば、再発防止にもつながります。慣れないうちは、変換結果を都度目視で確認する習慣をつけておくと安心です。
URLエンコードとは何ですか?
URLエンコード(パーセントエンコーディング)は、URLに直接使用できない文字(日本語や一部の記号など)を「%」+ 16進数の形式(例:%E3%81%82)に変換する方式です。URLのクエリパラメータなどに日本語を含める際に使われます。
どの関数で変換していますか?
JavaScriptの encodeURIComponent / decodeURIComponent を使用しています。これは「&」「=」「?」「/」「:」などURLの構造に使われる記号も含めて変換するため、クエリパラメータの値(例:検索キーワード)のエンコードに適しています。
日本語はどのように変換されますか?
日本語の文字はUTF-8でバイト列に変換され、各バイトが「%XX」の形式(16進数)で表現されます。例えば「あ」は「%E3%81%82」になります。
スペースは%20になりますか、それとも+になりますか?
このツールではスペースを「%20」に変換します。フォーム送信(application/x-www-form-urlencoded)では「+」に変換される場合もありますが、これは別の仕様によるものです。
デコードでエラーになるのはなぜですか?
「%」の後に正しい16進数2桁が続いていない、または不完全なパーセントエンコーディングが含まれている場合、デコードに失敗します。エンコードされた文字列が途中で切れていないか確認してください。