URLEncoder.tools is a free online URL encoder and decoder that converts special characters in URLs to their percent-encoded equivalents as defined by RFC 3986. It supports five encoding modes: Standard URL Encode (encodeURIComponent), Full URL Encode (encodeURI), URL Decode, Batch Mode for multiple URLs, and Form Data Encode. All processing happens client-side in the browser with zero data sent to any server. The tool supports 12 languages and works with Unicode characters including emoji.
無料オンラインURLエンコーダー&デコーダーツール
任意のURL文字列を瞬時にエンコードまたはデコード — RFC 3986準拠、ブラウザで動作、サーバーへのデータ送信なし。
ヒント:Ctrl+Enterでエンコード、Escでクリア
関連ツール
URLエンコードとは?
URL encoding (also called percent-encoding) is a method of converting special characters in a URL into a format that can be safely transmitted over the internet. It replaces unsafe ASCII characters with a percent sign (%) followed by two hexadecimal digits representing the character's byte value, as defined by RFC 3986.
For example, a space character becomes %20, an ampersand (&) becomes %26, and a question mark (?) becomes %3F. The unreserved characters that do not require encoding are: A-Z, a-z, 0-9, hyphen (-), underscore (_), period (.), and tilde (~).
URLエンコードの仕組み
URL encoding works by converting each character to its UTF-8 byte sequence, then representing each byte as a percent sign followed by two hexadecimal digits. Single-byte ASCII characters like a space produce one percent-encoded triplet (%20), while multi-byte Unicode characters produce multiple triplets.
RFC 3986 divides characters into two groups: reserved characters (: / ? # [ ] @ ! $ & ' ( ) * + , ; =) that have special meaning in URL syntax, and unreserved characters (A-Z, a-z, 0-9, -, _, ., ~) that can appear in URLs without encoding. Reserved characters must be percent-encoded when used as data rather than as delimiters.
URLエンコードが必要な場合
URLにスペース、アンパサンド(&)、等号(=)、または非ASCII文字などの特殊文字が含まれている場合にエンコードが必要です。一般的なシナリオには、API呼び出し用のクエリ文字列の構築、フォームデータのエンコード、メールやメッセージで特殊文字を含むURLの共有、国際化ドメイン名の処理が含まれます。
Query Strings & API Calls
When building REST API requests, query parameters containing special characters like &, =, or spaces must be percent-encoded to avoid breaking the URL structure.
Form Data Submission
HTML forms submitted via GET method encode field values as query parameters. Spaces become + or %20, and special characters are percent-encoded.
Email & Messaging Links
URLs shared in emails or chat messages often contain special characters that need encoding to remain clickable and functional.
JavaScript fetch() & AJAX
When constructing URLs dynamically in JavaScript, always use encodeURIComponent() for parameter values to prevent XSS and malformed requests.
一般的なURLエンコード文字
| Character | Encoded | Unicode |
|---|---|---|
| (space) | %20 | U+0020 |
| ! | %21 | U+0021 |
| # | %23 | U+0023 |
| $ | %24 | U+0024 |
| & | %26 | U+0026 |
| + | %2B | U+002B |
| , | %2C | U+002C |
| / | %2F | U+002F |
| : | %3A | U+003A |
| ; | %3B | U+003B |
| = | %3D | U+003D |
| ? | %3F | U+003F |
| @ | %40 | U+0040 |
| [ | %5B | U+005B |
| ] | %5D | U+005D |
プログラミング言語でのURLエンコード
JavaScript
encodeURIComponent('hello world')
// → "hello%20world"
decodeURIComponent('hello%20world')
// → "hello world"
encodeURI('https://example.com/search?q=hello world')
// → "https://example.com/search?q=hello%20world"Python
from urllib.parse import quote, unquote
quote('hello world')
# → "hello%20world"
unquote('hello%20world')
# → "hello world"PHP
urlencode('hello world');
// → "hello+world"
rawurlencode('hello world');
// → "hello%20world"
urldecode('hello%20world');
// → "hello world"Java
URLEncoder.encode("hello world", "UTF-8");
// → "hello+world"
URLDecoder.decode("hello+world", "UTF-8");
// → "hello world"C#
Uri.EscapeDataString("hello world");
// → "hello%20world"
Uri.UnescapeDataString("hello%20world");
// → "hello world"Ruby
require 'uri'
URI.encode_www_form_component('hello world')
# → "hello+world"
URI.decode_www_form_component('hello+world')
# → "hello world"よくある質問
どの文字をURLエンコードする必要がありますか?
URLエンコードが必要な文字には、スペース、&、=、?、#、%などの特殊文字、およびすべての非ASCII文字が含まれます。エンコード不要の非予約文字は:A-Z、a-z、0-9、ハイフン(-)、アンダースコア(_)、ピリオド(.)、チルダ(~)です。
URLにおける%20と+の違いは何ですか?
%20はURLパス内のスペースを表し、標準的なパーセントエンコードです。+記号はapplication/x-www-form-urlencoded形式を使用する場合のクエリ文字列パラメータでのみスペースを表します。
URLエンコードとBase64エンコードは同じですか?
いいえ。URLエンコードはURL内の特殊文字を%XXの16進数形式に変換します。Base64エンコードはバイナリデータを64個の印刷可能ASCII文字を使用したテキスト文字列に変換します。それぞれまったく異なる目的で使用されます。
JavaScriptでURLをデコードするには?
URLコンポーネントをデコードするにはdecodeURIComponent()を、完全なURLをデコードするにはdecodeURI()を使用します。例:decodeURIComponent('%20')はスペース文字を返します。
RFC 3986とは?
RFC 3986は、統一資源識別子(URI)の構文を定義する標準です。URLで許可される文字と、特殊文字をどのようにパーセントエンコードするかを指定します。
なぜURLに%3Dや%26が含まれているのですか?
%3Dは等号(=)のURLエンコード形式で、%26はアンパサンド(&)のエンコード形式です。これらの文字はURLで特別な意味を持つため、データ値として使用する場合はエンコードする必要があります。
URLエンコードについてもっと学ぶ
URLエンコードのベストプラクティスに関する詳細なガイドとチュートリアルをお読みください。
ブログを見る