Кодирование выполняется по мере ввода и остается на вашем устройстве - текст никогда не загружается на сервер, что делает его безопасным для токенов, URI перенаправления и приватных строк запроса. Выберите Component для отдельного значения запроса или сегмента пути, Full URL если входные данные уже являются полным URL с не-ASCII-текстом, и Form для отправки HTML-форм, где пробел - это +.
Кодировать и декодировать URL
Работает прямо в браузере - без загрузки файлов и регистрации.
Что такое URL-кодирование?
URL-кодирование (также называемое процентным кодированием) заменяет небезопасные для URL символы - пробелы, акценты, эмодзи, амперсанды - на `%` с последующими значениями байт UTF-8. Этот инструмент кодирует текст в URL-безопасный формат и декодирует его обратно прямо в браузере, с тремя режимами: отдельное значение, полный URL или строка запроса HTML-формы.
Как пользоваться
- 1Выберите направление. Выберите Кодировать для преобразования текста в URL-безопасный формат, или Декодировать для обратного преобразования процентно-кодированного текста.
- 2Выберите режим. Component кодирует отдельное значение (наиболее распространенный случай), Full URL сохраняет структуру URL, а Form использует + для пробела.
- 3Вставьте входные данные. Введите или вставьте текст в поле ввода - результат обновляется в реальном времени в соседней панели.
- 4Скопируйте результат. Скопируйте результат и вставьте его туда, где нужно. Некорректные процентные последовательности показывают понятное сообщение вместо искаженного текста.
Кому пригодится
- Построение строк запроса - преобразуйте имя вроде
cafe & coвcaf%C3%A9%20%26%20co, чтобы оно корректно передавалось в URL. - Чтение серверных логов - вставьте строку запроса и декодируйте её, чтобы увидеть читаемый запрос и путь.
- OAuth и перенаправления - кодируйте значение
redirect_uriилиstate, чтобы оно передавалось через провайдера без изменений. - Данные HTML-формы - декодируйте тело
application/x-www-form-urlencoded, где пробелы представлены как+.
Вопросы и ответы
Этот URL-кодировщик бесплатный?
Да - он полностью бесплатный, без регистрации и без ограничений использования. Кодирование и декодирование работают в браузере.
Мои данные загружаются на сервер?
Нет. Текст обрабатывается локально в браузере и никогда не отправляется на сервер, поэтому он безопасен для токенов, значений OAuth-перенаправления и приватных строк запроса.
В чем разница между режимами Component, Full URL и Form?
Component (encodeURIComponent) кодирует отдельное значение запроса или сегмент пути - также процентно-кодирует <code>& = ? /</code>. Full URL (encodeURI) оставляет эти структурные символы как есть, что нужно для полного URL. Form - как Component, но пробел становится <code>+</code> вместо <code>%20</code> - правило HTML <code>application/x-www-form-urlencoded</code>.
Работает с эмодзи, ударениями и не-латинскими символами?
Да. Символы за пределами ASCII кодируются как байты UTF-8 - например, буква с ударением становится <code>%C3%A9</code>, <code>🌍</code> - <code>%F0%9F%8C%8D</code> - и декодируются обратно в исходный текст.
Почему пробел иногда %20, а иногда +?
<code>%20</code> - это универсальное процентное кодирование для пробела. Форма со знаком плюс (<code>+</code>) используется только внутри данных <code>application/x-www-form-urlencoded</code> - то есть в теле POST HTML-формы или строке запроса при отправке формы. Используйте режим Form для таких случаев; Component или Full URL - для всех остальных.
Почему появляется 'Некорректное URL-кодирование'?
Входные данные содержат <code>%</code>, за которым не следуют два шестнадцатеричных символа (например <code>%G1</code> или завершающий <code>%</code>), или байты процентной кодировки не образуют валидный UTF-8. Исправьте некорректную последовательность или снова вставьте исходную закодированную строку.
Можно ли кодировать уже закодированную строку?
Можно, но каждый <code>%</code> во входных данных становится <code>%25</code>, и результат будет дважды закодирован. Сначала декодируйте, если входная строка уже содержит процентное кодирование - или используйте направление Декодировать.