ユーティリティ

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

URLで使用するためにテキストをエンコード・デコード。特殊文字をモダンブラウザが使用する%XX形式に変換します。

今はAIに聞けば数秒でURLエンコーディングとは何かを説明してくれます。でも誰もが有料プランやトークンをいつでも使えるわけではなく、AIへの聞き方が分からないこともあります。このエンコーダーはそのために存在します:本物の、その場での変換。さらに、何がどのようにエンコードされるのかも下で正確に説明しています。
結果
ここに結果が表示されます。

何が、なぜエンコードされるのか

どの文字がエンコードされ、どの文字がされないのか 「非予約文字」だけがそのまま残る:A〜Z、a〜z、0〜9、ハイフン(-)、アンダースコア(_)、ピリオド(.)、チルダ(~)——それ以外はすべて%XXになる — これはencodeURIComponentが従う正確なルールで、RFC 3986で定義されています。例えば「ñ」は%C3%B1に、記号「&」は%26にエンコードされます。この約66種類の「安全な」文字の集合以外のどの文字も、例外なく変換されます。
絵文字が複数の%XXになる理由 ASCII範囲外の文字(アクセント記号、ñ、絵文字、漢字)はまずUTF-8のバイト列にエンコードされ、各バイトが1つの%XXになる——1文字が1〜4個の%XXになることもある — 例:「café」という単語は caf%C3%A9 とエンコードされます(éは2バイト → %XXが2つ)。一方、🎉のような絵文字はUTF-8で4バイトになるため → %F0%9F%8E%89 になります。そのため、絵文字や非ラテン文字を含む短いテキストでも、見た目よりかなり長いエンコード済みURLになることがあります。

重要な概念

URLエンコード(パーセントエンコーディングとも呼ばれます)は、URLで安全に使えない文字を%XX形式のエスケープシーケンスに変換します(XXは文字の16進数値)。例えば、スペースは%20、@は%40に変換されます。これによりURLがどのブラウザやサーバーでも正しく解釈されます。

URLに自由テキストを含める場合は常に必要です: 特殊文字・スペースを含むGETパラメータ(例: ?q=東京 観光)、ハッシュフラグメント、クエリ文字列内のユーザー入力データなど。エンコードしないと、サーバーが予約文字(&=#)をURL構造の一部として解釈してしまいます。

encodeURIはURL全体をエンコードし、URL構造の予約文字(:/?&#)はそのまま残します。encodeURIComponentはこれらの文字も含めてすべてエンコードします。パラメータの値をエンコードしているためです。このツールは個々の値のエンコードに正しい標準であるencodeURIComponentを使用しています。

スペースの表現には2つの慣例があります: RFC 3986標準は%20を使い、HTMLフォームのapplication/x-www-form-urlencoded形式は+を使います。モダンブラウザとencodeURIComponentはRFC 3986に従って%20を生成します。これが一般的なURLとして正しい形式です。+はHTMLフォームのボディにのみ使用すべきで、一般的なURLには使用しません。

Web・バックエンド開発者は、REST APIの動的パラメーターのエンコード・特殊文字を含むクエリ文字列の構築・クライアントから届く不正なURLのデバッグに毎日活用します。SEO専門家は、検索パラメーター・canonical URL・非ASCII文字を含むUTMパラメーターを正しくエンコードするのに必要です。データアナリストは、アクセントや空白・拡張文字を含むサーバーログやアナリティクスツールのエクスポートから抽出したURLのクリーニングに使います。サイバーセキュリティ専門家は、ペネトレーションテストや入力バリデーション検証でテストペイロードを分析・構築するのに活用します。デザイナー・コンテンツクリエイターは、URLにパーセント記号が現れる理由を理解したり、それを読みやすい形にデコードしたりするために使います。

パソコンでは、Chrome・Firefox・Edgeで Ctrl + D(Windows/Linux)または Cmd + D(Mac)を押すだけで、このページをすぐにブックマークに追加できます。Mac の Safari では Cmd + D を押すか、「ブックマーク」→「ブックマークを追加」で登録します。Android(Chrome)では、右上の3点メニュー(⋮)をタップし「ホーム画面に追加」または「ブックマークに追加」を選択します。iPhone/iPad(Safari)では、共有ボタン(□↑)をタップして「ホーム画面に追加」を選択します。ブラウザのブックマークバーに登録しておけば、エンコードされたURLを解読したいときにすぐ呼び出せます。

WhatsAppの直接リンク(wa.me)はhttps://wa.me/<電話番号>?text=<メッセージ>という形式で、電話番号は国際形式(+記号・スペース・ハイフンなし)、メッセージはURLエンコードされている必要があります。このツールにメッセージを入力し、エンコードされた結果をコピーして、リンクの?text=の後ろに貼り付けてください。こうすることで、誰かがリンクをクリックすると、WhatsAppはすでにメッセージが入力された状態でチャットを開き、そのまま送信または編集できます。注:2026年7月に開始されたWhatsAppのユーザーネーム機能(電話番号を公開しないための機能)により、将来的には電話番号の代わりにユーザーネームでこうしたリンクを作る方法が登場するかもしれませんが、この記事作成時点では、ユーザーネームに基づくwa.me相当の形式についての公式なドキュメントはありません。

はい。mailto:リンクは通常のURLと同様に?subject=&body=といったパラメータを受け付けます。これらの値も、スペース、アクセント記号、&?のような記号を含む場合はエンコードする必要があります。例:mailto:contact@example.com?subject=お問い合わせ&body=こんにちは...——このツールで件名と本文を別々にエンコードし、リンクを手動で組み立ててください。

多くのリンク形式は自由テキストのパラメータを使用しており、エンコードが必要です:SMSリンク(sms:+819012345678?body=...)、SNSシェア用の「インテント」(https://twitter.com/intent/tweet?text=...、Facebookのシェアリンク)、Googleカレンダーのクイック予定作成(.../render?action=TEMPLATE&text=...&details=...)、Googleマップの直接検索(.../maps/search/?api=1&query=...)、そして検索エンジンの検索パラメータ(?q=...)。これらすべての場合において、テキストにスペース、アクセント記号、記号、絵文字が含まれる場合は、リンクが正しく機能するように先にエンコードする必要があります。