Кодировщик URL

Сделайте текст безопасным для использования внутри URL.

Работает в браузере. То, что вы вводите, никуда не отправляется.

Как закодировать текст в URL

  1. Вставьте текст или URL.
  2. Выберите кодирование компонента для одного значения или полного URI для целого адреса.
  3. Скопируйте закодированный результат.

Что кодируется

СимволыКодируются?Пример
Буквы и цифрыНетa-z, A-Z, 0-9 остаются как есть
- _ . ~НетОстаются как есть в обоих режимах
ПробелДа%20, или + при включённой опции
/ ? # & =Только в режиме компонентаВ режиме полного URI остаются как есть

Режим компонента против режима полного URI

РежимКодирует / ? # & =Использовать для
КомпонентДаОдно значение запроса или сегмент пути
Полный URIНетЦелый адрес, который вы собираетесь использовать как есть

Когда нужно percent-кодирование

  • Значение строки запроса с пробелами или специальными символами, например поисковый запрос.
  • Не-ASCII текст в URL, например буквы с акцентами или другой алфавит, после перевода в байты UTF-8.
  • Создание ссылки перенаправления или обратного вызова, которая несёт другой полный URL внутри одного параметра.

Частые вопросы о URL кодировать

В чём разница между кодированием компонента и полного URI?

Кодирование компонента экранирует каждый специальный символ, включая / и &, для использования внутри одного параметра запроса. Кодирование полного URI оставляет символы структуры URL вроде :, / и ? как есть, ведь они часть корректного адреса.

Когда использовать "плюс для пробела"?

Только для классической отправки форм (application/x-www-form-urlencoded), где пробел записывается как + вместо %20.

Какие символы кодируются?

Буквы, цифры и - _ . ~ остаются как есть. Всё остальное превращается в знак процента, за которым следует двузначный hex-код.

Это следует какому-то веб-стандарту?

Да. RFC 3986 определяет, какие символы URI зарезервированы и как percent-кодировать остальные. Этот инструмент использует встроенные функции JavaScript encodeURIComponent и encodeURI, обе следующие этому стандарту.

Как кодируются буквы с акцентами или эмодзи?

Сначала они переводятся в байты UTF-8, затем каждый байт записывается как %XX. Буква e с акцентом становится %C3%A9, ведь она занимает два байта UTF-8.

Можно закодировать целый адрес, включая https://?

Используйте режим полного URI. Он оставляет схему, хост и /, разделяющий сегменты пути, как есть, и кодирует только символы, которые никогда не безопасны нигде в URL.

Кодирование меняет буквы и цифры?

Нет. A-Z, a-z и 0-9 никогда не кодируются ни в одном из режимов, ведь их всегда безопасно использовать прямо внутри URL.

В чём разница между двумя функциями JavaScript, на которых основан этот инструмент?

Режим компонента использует encodeURIComponent, который экранирует всё, кроме незарезервированных символов, предназначен для одного значения вроде параметра запроса. Режим полного URI использует encodeURI, который также оставляет зарезервированные символы структуры URL как есть, ведь ожидает целый адрес.

Похожие инструменты