URL エンコーダー/デコーダー | クエリ文字列のパーセントエンコード

エンコードブラウザ内で処理(アップロードなし)

URL を安全なパーセントエンコード(%XX)に変換したり、エンコード済みの URL を元の文字列へデコードしたりできます。クエリ文字列、リダイレクト URL、API パラメータ、日本語を含む UTF-8 文字列のデバッグに便利です。処理はすべてブラウザ内で行われます。

Loading…

このツールの使い方

  1. 1

    エンコードまたはデコードを選びます。

  2. 2

    URL もしくはクエリ文字列を貼り付けます。

  3. 3

    Live モードなら即時に変換されます(大きい入力は Manual 推奨)。

  4. 4

    変換結果をコピーして API リクエストやリンクへ貼り付けます。

このツールを使う場面

クエリ文字列の安全な作成

クエリ値をエンコードして、スペースや日本語が入っても壊れない URL を作れます。

ログ/エラーの URL を読みやすくする

ログやエラー画面に出てくるエンコード済み URL をデコードして、実際の値を確認します。

OAuth/OIDC リダイレクトのデバッグ

redirect_uri や state など、OAuth/OIDC のパラメータを正しく組み立てるのに役立ちます。

二重エンコードの切り分け

API のパラメータが二重エンコードされていないかを検証し、%25 問題を切り分けます。

よくあるミス

URL 全体を一括でエンコードする

クエリ値だけをエンコードすべき場面で URL 全体をエンコードすると、: や / まで変換されて壊れることがあります。どの部分を対象にするか確認してください。

二重エンコードを見落とす

%25 が増える場合は二重エンコードの可能性があります。まず 1 回デコードしてから状態を確認してください。

+ とスペースの扱いを混同する

+ は application/x-www-form-urlencoded の文脈でスペースを意味することがあります。URL(RFC 3986)とフォームエンコードの違いに注意してください。

クエリ文字列をパーセントエンコードする

日本語やスペース、記号を含むクエリ値を安全にエンコードして、API リクエストやリンクで壊れないようにします。

入力
q=東京 ラーメン&sort=人気
出力
q=%E6%9D%B1%E4%BA%AC%20%E3%83%A9%E3%83%BC%E3%83%A1%E3%83%B3&sort=%E4%BA%BA%E6%B0%97

リダイレクト URL をデコードして確認する

ログに出てくるエンコード済み URL をデコードして、元の値を人間が読める形で確認します。

入力
redirect=https%3A%2F%2Fexample.com%2Fcallback%3Ferror%3Daccess_denied
出力
redirect=https://example.com/callback?error=access_denied

パーセントエンコードの要点

URL のパーセントエンコードは予約文字や非 ASCII 文字を %XX 形式で表現します(UTF-8 bytes を 16 進で表現)。

「URL 全体」ではなく、クエリ値やパスの一部など対象範囲を意識すると壊れにくくなります。

フォームエンコード(+ をスペースとして扱う)と URL のエンコードは文脈が異なるため注意が必要です。

よくある質問

Q.URL 全体をエンコードすべきですか?

A. クエリ値やパスの一部など「部品」をエンコードするのが一般的です。URL 全体をエンコードするとスキームやスラッシュまで変換され、期待通り動かないことがあります。

Q.%25 がたくさん出ます。何が起きていますか?

A. %25 は '%' 自体がエンコードされている状態です。二重エンコードが起きると %25 が増えます。まず 1 回デコードしてから、どこで二重化したか確認してください。

Q.%20 と + の違いは?

A. URL のパーセントエンコード(RFC 3986)ではスペースは %20 が基本です。一方、フォームエンコード(application/x-www-form-urlencoded)ではスペースが + になることがあります。

Q.日本語や絵文字を含む URL でも使えますか?

A. はい。UTF-8 を前提にエンコード/デコードするため、日本語や絵文字なども扱えます。サーバー側が別の文字コードを想定している場合は結果が異なることがあります。

Q.入力はアップロードされますか?

A. いいえ。変換はブラウザ内で実行され、入力はアップロードされません。

関連ツール

他の開発者ツールも確認できます

すべてのツールを見る