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準拠、ブラウザで動作、サーバーへのデータ送信なし。

100% クライアントサイドログイン不要GDPR準拠
文字数: 0エンコード済みシーケンス: 0

ヒント: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エンコード文字

CharacterEncodedUnicode
(space)%20U+0020
!%21U+0021
#%23U+0023
$%24U+0024
&%26U+0026
+%2BU+002B
,%2CU+002C
/%2FU+002F
:%3AU+003A
;%3BU+003B
=%3DU+003D
?%3FU+003F
@%40U+0040
[%5BU+005B
]%5DU+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エンコードのベストプラクティスに関する詳細なガイドとチュートリアルをお読みください。

ブログを見る