最近使用したツールはありません
お気に入りはまだありません

無料URLエンコーダ・デコーダ - オンラインURLエンコード変換

1.2K 回使用

URLエンコード参照表

文字エンコード説明
スペース%20 / +最も一般的なURLエスケープ文字
!%21感嘆符
#%23ハッシュ、URLアンカー記号
%%25パーセント記号(エスケープ必須)
&%26URLパラメータ区切り
=%3DURLパラメータ代入
?%3Fクエリ文字列の開始
/%2Fパス区切り

URLエンコードの知識

URLエンコードとは?
URLエンコードは特殊文字を%XX形式に変換し、URLがWeb上で安全に送信されることを保証します。
URLの非ASCII文字
非ASCII文字(日本語等)はUTF-8バイトに変換されてからパーセントエンコードされます。
encodeURIComponent
: / ? # を含むすべての特殊文字をエンコード。URLパラメータ値に最適です。
encodeURI
URL構造文字(://?#@)を保持。完全なURLをエンコードする場合に使用します。
URL安全文字
英字A-Z、a-z、数字0-9、-_.~ はURL安全文字で、エンコード不要です。
スペースのエンコード
スペースは%20または+にエンコード可能。パスには%20が標準、フォーム送信には+が使用されます。

よくある質問

Q URLエンコードとHTMLエンティティエンコードの違いは?
A まったく別物です。URLエンコードはスペースを%20に変えますが、HTMLエンティティは や を使います。混同するとリンクが壊れたり、生のコードがページに表示されたりします。このツールはURLエンコード専用です。JSON APIのレスポンスに&が含まれていたら、それはHTMLエンコードの混入であり、URLの問題ではありません。
Q 誤って2回エンコードされたURLをデコードできますか?
A 二重エンコードは、すでにパーセントエンコードされた文字列を再度エンコードしてしまうと発生します。%20ではなく%2520になっているのが特徴です。一度デコーダーにかけ、結果にまだ%記号があれば、もう一度デコードしてください。3回やる必要はまずありません。決済ゲートウェイのコールバックが文字化けしているなら、これが原因です。
Q URLエンコードはデータを暗号化して安全に共有できるようにするのですか?
A いいえ、まったく違います。URLエンコードは単なるフォーマット変換です。空白を%20に、特殊文字をパーセントコードに変えるだけ。誰でもこのツールで即座にデコードできます。透明ラップでサンドイッチを包むようなもので、きれいですが中身は丸見えです。パスワードやAPIキーをURLで共有するなら、本当の暗号化(HTTPSが通信を保護)かハッシュを使ってください。エンコードだけではゼロ・プライバシーです。
Q メルマガのリンクをエディタからコピーすると、なぜ壊れてしまうのですか?
A メールエディタはスペースや特殊文字をいい加減にエンコードすることがあります。エディタ上では問題なく見えても、送信後にスペースが%20に変わったり、最初のスペースでリンクが切れたりします。このデコーダーにリンクを貼り付けて、実際に含まれている文字を確認してください。`&`ではなく生の`&`が見つかったら、それはURLエンコードではなくHTMLエンコードです。コツ:テンプレートに挿入する前に、クエリ文字列全体を`encodeURIComponent`でエンコードしておきましょう。
Q すでにエンコードされた文字を含むURLをデコードするとどうなりますか?
A デコーダーは元のパーセントエンコードバイトをそのまま表示するだけで、それ以上は何も処理しません。例えば、`%2520`は最初の実行では`%20`にデコードされ、スペースにはなりません。二重エンコードが疑われる場合は、もう一度実行してください — 2回目でようやくスペースが現れます。実際のデータパイプラインでクエリ文字列が誤って三重エンコードされるのを見たことがあるので、APIログがおかしいなら2回確認しましょう。スプレッドシートのエクスポートを掃除するなら、1回デコードしてから残った`%`記号を検索するのがおすすめです。
Q URLエンコードとBase64エンコードは同じものですか?
A いいえ、混同すると大きな問題になります。URLエンコードは%記号と16進数を使い、スペースは%20になります。Base64はA-Z、a-z、0-9、プラス、スラッシュという全く別の文字セットでバイナリデータをテキスト化します。このツールでBase64文字列をデコードしようとすると、文字化けかエラーが出ます。見分け方のコツ:Base64は末尾に=のパディングが付きやすく、元データよりかなり長くなります。APIの署名付きリンクを作る場合は、+と/を-と_に置き換えたBase64urlを要求するシステムもあるので、ドキュメントを必ず確認してください。その形式は当ツールでも正しく処理できません。
Q é が %E9 ではなく %C3%A9 とエンコードされるのはなぜ?
A それは Latin-1 ではなく UTF-8 のバイト表現だからです。現代のWeb標準は UTF-8 を前提にしており、このツールは é を2バイト %C3%A9 としてエンコードします。古い %E9 はレガシーシステム専用です。2005年以前に作られたAPIと通信するなら Latin-1 が必要かもしれませんが、今では稀です。受信側でアクセントが文字化けするなら、サーバーのcharsetヘッダーを確認してください。ほとんどの場合、ブラウザとJSONパーサーはUTF-8を想定しているので、それを使い続けるのが無難です。
Q 大量のURLをエンコードするのにどれくらい時間がかかりますか?
A 貼り付けられるものなら一瞬です。1件のURLでも1万文字のブロックでも、JavaScriptでブラウザ内処理なので1秒以内に終わります。アップロードも待ち行列もサーバー往復もありません。表計算ソフトから50件のURLを列ごと貼り付ければ、結果はすぐ表示されます。10万行のような巨大データなら、数千件ずつに分割して流してください。ボトルネックはあなたのマシンの速度だけです。
Q 特殊文字を含むテキストは一瞬でSQLインポートを失敗させます。移行スクリプトを実行する前に、ここにCSVの列を貼り付けてください。危険な記号が安全なパーセントエンコードに変換されます。後でデータベースの修復に何時間も費やす必要はありません。まず文字列を整えて安全にインポートしましょう。
A
Q URLのクエリパラメータにJSONオブジェクトを渡すことはできますか?
A はい、ただし事前にJSONを文字列化してエンコードする必要があります。例えば `{"id": 42}` は `%7B%22id%22%3A%2042%7D` に変換されます。そのままでは括弧がURLパーサーを壊します。APIリクエストに追加する前にここでペイロードを処理しましょう。これで無駄なルーティングエラーを防げます。

使い方

関連ツール