URLエンコーダー&デコーダー

URL文字列とコンポーネントを簡単にエンコードまたはデコードします。当社のツールは、安全なブラウザベースの処理のためにencodeURIComponentを使用します。クエリ文字列や特殊文字を扱う開発者に最適です。

広告
広告

URLエンコーダー/デコーダーは、プレーンテキストとURLセーフ形式間でテキストを変換します。URLエンコード(パーセントエンコードとも呼ばれる)は、スペース、アンパサンド、非ASCII文字などの特殊文字をパーセント接頭辞付きの16進コードに置き換えます(例:スペースは%20になります)。これによりURLがブラウザとAPIで正しく動作します。デコードはこのプロセスを逆転させます。このツールは両方の操作をブラウザ内で即時に処理します。

データをどこにも送信せずにURLをエンコード・デコード

最大の安全性のために`encodeURIComponent`を使用。クエリ文字列、パスセグメント、特殊文字を処理 — すべてブラウザ内でローカル処理。アップロード不要、制限なし。

100% クライアントサイド
即時結果
無料・無制限

使い方

  1. 1

    文字列を貼り付け

    「入力文字列」フィールドに処理したいテキストまたは完全なURLを入力します。

  2. 2

    アクションを選択

    「エンコード」ボタンをクリックして特殊文字をパーセントエンコード形式に変換するか、「デコード」ボタンをクリックして元の形式に戻します。

  3. 3

    結果をコピー

    処理された文字列が「出力」フィールドに表示されます。「結果をコピー」ボタンをクリックしてクリップボードに保存します。

なぜURLエンコーディングが必要なのか?

ASCII文字のみ

URLはASCII文字セットの特定の文字しか含むことができません。このセット以外の文字はエンコードする必要があります。

予約文字

URLで特別な意味を持つ文字(`&`や`?`など)は、サーバーによって誤解されるのを避けるためにエンコードする必要があります。

完全性

エンコーディングにより、URLで渡されるパラメータ(検索クエリなど)がURL構造の一部ではなく、データとして正しく解釈されることが保証されます。

広告

URL Encodingについて

URLエンコードとは何か、なぜ必要なのか?

URLは元々インターネット上でASCIIテキストを送信するために設計されました。URL仕様(RFC 3986)は特定の文字を特殊目的のために予約しています:'?'はパスとクエリ文字列を分離し、'&'はパラメータを分離し、'='はキーと値を分離し、'#'はフラグメントをマークし、'/'はパスセグメントを分離します。これらの文字がURLのデータ部分(検索クエリやパラメータ値など)に現れる場合、構造的区切りとして解釈されないようにエンコードする必要があります。

URLエンコード(パーセントエンコード)は、予約文字または非ASCII文字をパーセント記号(%)とその文字のバイト値を表す2桁の16進数で置き換えます。例えば、スペースは%20、アンパサンドは%26、スラッシュは%2Fになります。予約されていないセットの文字(A-Z、a-z、0-9、ハイフン、アンダースコア、ピリオド、チルダ)はエンコードされません。JavaScript関数encodeURIComponent()がこのエンコードを処理し、decodeURIComponent()が逆の処理を行います。

現代のURLはUnicode文字(絵文字、CJK文字、アクセント付き文字)も処理する必要があります。これらはまずUTF-8バイトとしてエンコードされ、その後各バイトがパーセントエンコードされます。例えば、コーヒーの絵文字☕(U+2615)はUTF-8バイトE2 98 95としてエンコードされ、URLでは%E2%98%95になります。ブラウザとサーバーはURLを入力したりフォームを送信したりする際にこのエンコードを自動的に処理しますが、開発者はAPIエンドポイント、リダイレクトURL、データURIを構築する際に手動でURLをエンコードまたはデコードする必要がよくあります。

広告

URLエンコードの一般的なユースケース

URLエンコーディングは、ウェブアプリケーションでURLを通じてデータを渡す際に不可欠です。一般的なシナリオには、APIクエリパラメータの構築(検索語、フィルタ値のエンコード)、元のURLをパラメータとして含むリダイレクトURLの作成(例:/login?redirect=%2Fdashboard)、埋め込み画像やフォント用のデータURIの生成、件名と本文パラメータ付きのメールリンクのエンコード(mailto:?subject=...&body=...)があります。OAuthフローもstateパラメータとコールバックURLのURLエンコーディングに大きく依存しています。

よくあるバグは二重エンコード — すでにエンコードされた文字列をさらにエンコードすることです。例えば、'%20'をエンコードすると'%2520'になります(パーセント記号自体が%25にエンコードされます)。文字列の現在の状態が不明な場合は、再エンコード前に必ずデコードしてください。もう一つの一般的な問題は、encodeURIComponent()の代わりにencodeURI()を使用することです — encodeURI()は?、&、=などの予約文字をエンコードしないため、パラメータ値のエンコードには適していません。個別のパラメータ値にはencodeURIComponent()を使用し、完全なURLにのみencodeURI()を使用してください。

広告

他のURL encodersとの比較

人気のURL encoding toolsの比較。

機能NovaToolsURL-Encoder.ioMeyerWeb
エンコード+デコード統合両モードエンコードのみ
入力中のリアルタイム変換即時送信ボタン
Unicode/絵文字対応UTF-8制限あり
プライバシー(アップロードなし)100% localサーバー側
Copy with ワンクリック
オフライン動作(静的ページ)

当社のツールはブラウザ内ですべてのエンコードとデコードを実行します — テキストはサーバーに送信されず、トークンやセッションIDを含む機密パラメータのあるURLに安全です。

よくある質問

URLエンコーディングとは何ですか?
URLエンコーディングは、パーセントエンコーディングとも呼ばれ、URLで特別な意味を持つ文字(スペース、'&'、'?'、'#'など)を、インターネット上で安全に送信できる形式に変換するメカニズムです。各特殊文字は、「%」記号の後にその2桁の16進コードが続くものに置き換えられます。
私のデータはサーバーに送信されますか?
いいえ。このツールは完全にウェブブラウザ内で動作します。あなたのデータがサーバーにアップロードされたり保存されたりすることはなく、100%のプライバシーとセキュリティを保証します。
encodeURI()とencodeURIComponent()の違いは何ですか?
このツールは、より安全で徹底的な`encodeURIComponent()`を使用します。これは、URL構造にとって重要な予約文字(`/`、`?`、`&`、`#`など)をエンコードして、それらがリテラルテキストとして扱われるようにしますが、`encodeURI()`はそれらを保持します。
URLエンコーディングはいつ使用すべきですか?
URLエンコーディングは、URLにASCII文字セット外の文字やURL構文で特別な意味を持つ文字を含める場合に必要です。一般的なシナリオには、検索クエリパラメータのエンコード(例:`?q=hello world` → `?q=hello%20world`)、URL内のメールアドレスやユーザー名のエンコード、クエリ文字列でのJSONやbase64データの受け渡し、国際文字(UTF-8)のエンコード、ネストされたパラメータを持つリダイレクトURLの構築があります。JavaScriptでプログラム的にURLを構築する場合は、動的な値に常に`encodeURIComponent()`を使用してください。
どの文字をエンコードする必要がありますか?
エンコードが必要な文字には以下が含まれます:URLで特別な意味を持つ予約文字(`;`、`,`、`/`、`?`、`:`、`@`、`&`、`=`、`+`、`$`、`#`)、誤解される可能性のある安全でない文字(`<`、`>`、`"`、`{`、`}`、`|`、バッククォート、`^`、`~`、`[`、`]`)、および非ASCII文字(基本ASCII範囲0-127外の任意の文字)。スペースは常に`%20`としてエンコードされます(`+`ではない — これは一般的な誤解です。`+`は`application/x-www-form-urlencoded`データでのみスペースとして使用され、URLでは使用されません)。パーセント記号自体(`%`)は`%25`としてエンコードする必要があります。
このツールはUnicodeや国際文字に対応していますか?
はい。ツールは`encodeURIComponent()`を使用し、UTF-8パーセントエンコーディングでUnicode文字を適切にエンコードします。例えば、中国語の文字`你`は`%E4%BD%A0`(UTF-8で3バイト)としてエンコードされ、絵文字`🎉`は`%F0%9F%8E%89`(4バイト)としてエンコードされます。これにより、国際テキスト、絵文字、その他の非ASCII文字がURL内で正しく送信されます。デコード時、ツールは`decodeURIComponent()`を使用し、パーセントエンコードされたバイトを元のUTF-8文字に変換します。
デコードされたURLが元のURLと異なって見えるのはなぜですか?
これはいくつかの理由で発生する可能性があります。第一に、入力内の`+`文字は`decodeURIComponent()`によってスペースに変換されません — そのままリテラルの`+`記号として残ります。`+`がスペースを表すフォームエンコードデータをデコードする必要がある場合は、`decodeURIComponent(input.replace(/\+/g, '%20'))`を使用してください。第二に、元のURLが異なる文字セット(例:UTF-8ではなくLatin-1)でエンコードされていた場合、デコードされた文字が文字化けする可能性があります。第三に、二重エンコード(すでにエンコードされた文字列をさらにエンコード)は`%20`の代わりに`%2520`を生成します — 必要に応じて最初にデコードしてから再エンコードしてください。
このツールはBase64エンコーディングにも対応していますか?
このツールはURLエンコードに焦点を当てており、Base64エンコードではありません。ただし、両者はよく一緒に使用されます:バイナリデータ(画像やトークンなど)をBase64エンコードし、その結果をURLエンコードしてURLに安全に含めます。Base64エンコードが必要な場合は、専用のBase64エンコーダー/デコーダーツールを使用してください。`+`、`/`、`=`文字を含むBase64文字列をURLに含めたい場合は、ここに貼り付けてエンコードをクリックしてください — それらの文字はそれぞれ`%2B`、`%2F`、`%3D`にパーセントエンコードされます。

あなたのプライバシーが私たちの優先事項です

このツールは完全にブラウザ内で実行されます。ファイルはサーバーにアップロード、保存、分析されません。

  • ファイルをアップロード、保存、分析することはありません。
  • 処理するすべてのものはデバイスに残ります。
  • サーバー側処理、クラウドストレージ、分析はありません。

インターネット接続が切断されても、ファイルは安全です。

こちらもおすすめ

役立つガイド

広告