Кодировщик и декодировщик URL — URL и строки запросов

Процентно кодируйте текст для URL и строк запросов или возвращайте закодированный URL к читаемому виду прямо в браузере.

Выберите режим, вставьте текст и нажмите «Преобразовать». Кодирование компонента подходит для значений запроса, кодирование полного URL сохраняет структуру адреса, а декодирование отменяет процентное кодирование.

Кодировщик и декодировщик URL — URL и строки запросов
Процентно кодируйте текст для URL и строк запросов или возвращайте закодированный URL к читаемому виду прямо в браузере.

Кодирует все зарезервированные символы, включая & = ? / и #. Используйте для отдельного значения запроса или сегмента пути.

Принцип работы: символы вне незарезервированного набора заменяются байтами UTF-8, записанными шестнадцатеричными парами %XX. Используются encodeURIComponent, encodeURI и decodeURIComponent.

О кодировщике и декодировщике URL

URL безопасно передают лишь ограниченный набор символов. RFC 3986 определяет незарезервированные буквы, цифры и знаки - _ . ~, а также зарезервированные символы ? & = / и # со структурным значением. Всё остальное — от пробела до буквы с диакритикой или CJK-символа — нужно кодировать: символ превращается в байты UTF-8, каждый байт записывается знаком процента и двумя шестнадцатеричными цифрами. Инструмент мгновенно выполняет это преобразование в браузере, не отправляя вставленные данные на сервер. Доступны три режима, поскольку JavaScript различает две задачи кодирования. Кодировать компонент использует encodeURIComponent и экранирует каждый зарезервированный символ. Это подходит для поискового запроса, цели перенаправления, токена или значения после знака равенства. Кодирование & и = не даёт разделить значение на несколько параметров. Кодировать полный URL использует encodeURI для уже структурированного адреса. Пробелы, кавычки, угловые скобки и не-ASCII-символы экранируются, но : / ? & = # сохраняются, чтобы не изменить схему, хост, путь и запрос. Кодирование всего URL как компонента разрушило бы его структуру. Декодировать обращается к decodeURIComponent: %20 становится пробелом, %26 — амперсандом, а %C3%BC — буквой ü. Это удобно для чтения ссылок отслеживания, проверки OAuth-перенаправлений и анализа форм. Одиночный % без двух шестнадцатеричных цифр вызывает понятную ошибку. Инструмент полезен для подготовки параметров API, исправления ссылок с пробелами, вложения URL и распутывания цепочек перенаправлений. Процентное кодирование — это синтаксис передачи, а не защита: строки легко обратимы. Не считайте их скрытыми данными и всегда проверяйте декодированный ввод на сервере.

Примеры кодирования URL

Как три режима обрабатывают зарезервированные символы, пробелы и текст не в ASCII.

ВводВыводПримечание
price=1+2 (Кодировать компонент)price%3D1%2B2= и + зарезервированы в строках запросов и превращаются в %3D и %2B.
https://example.com/my files/report 2024.pdf (Полный URL)https://example.com/my%20files/report%202024.pdfПробелы становятся %20, а схема и косые черты сохраняются.
na%C3%AFve (Декодировать)naïveДвухбайтовая UTF-8-последовательность %C3%AF декодируется в букву ï.
50% off (Кодировать компонент)50%25%20offСам знак процента нужно кодировать как %25, иначе декодировщик неверно прочитает продолжение.

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

  1. Выберите режим: компонент для отдельного значения, полный URL для адреса или декодирование для обратного преобразования.
  2. Вставьте текст или URL в поле «Ввод».
  3. Нажмите «Преобразовать» — результат сразу появится в поле «Вывод».
  4. Скопируйте результат или нажмите «Очистить», чтобы начать заново.

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

Чем отличаются encodeURIComponent и encodeURI?
encodeURIComponent экранирует все зарезервированные символы, включая / ? & = и #, поэтому применяется к отдельным значениям. encodeURI сохраняет структурные символы и используется для полного URL. В инструменте это режимы кодирования компонента и полного URL.
Почему пробел превращается в %20, а не в +?
%20 — стандартное процентное представление пробела в URL. Правило + относится к старому формату application/x-www-form-urlencoded для HTML-форм и действует только в строке запроса. Инструмент всегда выдаёт %20, а при декодировании оставляет + как плюс.
Почему при декодировании появляется ошибка?
decodeURIComponent выдаёт ошибку, если после % нет двух допустимых шестнадцатеричных цифр — например, при обычном знаке процента или оборванной последовательности. Убедитесь, что ввод полностью закодирован.
Как кодируются диакритика, CJK и эмодзи?
Сначала символ преобразуется в байты UTF-8, затем каждый байт записывается как %XX. Буква с диакритикой обычно занимает две пары, эмодзи — четыре; декодирование точно восстанавливает символ.
Нужно ли кодировать весь URL как компонент?
Нет. Это экранирует двоеточие, косые черты и вопросительный знак, составляющие структуру адреса. Для полного адреса используйте полный URL, а компонент — только для отдельных значений.
Отправляются ли вставленные данные на сервер?
Нет. Преобразование полностью выполняется в браузере встроенными функциями JavaScript encodeURIComponent, encodeURI и decodeURIComponent. URL с токенами, идентификаторами сеансов и закрытыми путями не покидают устройство.