URL-кодирование (percent-encoding) — это стандартный механизм преобразования символов, которые не разрешены или имеют специальное значение в URL-адресах. Браузеры и серверы понимают только ограниченный набор ASCII-символов в адресной строке: любой символ за этими границами — кириллица, пробел, «&», «=», «#» и другие — должен быть закодирован в формат %XX, где XX — шестнадцатеричный код символа по UTF-8.
Как пользоваться инструментом
Работа с инструментом занимает несколько секунд:
- Вставьте текст или ссылку в поле ввода.
- Нажмите «Закодировать», чтобы превратить символы в %XX-последовательности, или «Декодировать», чтобы восстановить читаемый текст из уже закодированной строки.
- Скопируйте результат одним кликом.
Инструмент работает целиком в браузере — никакие данные не передаются на сервер.
Зачем кодировать URL
Необходимость появляется в нескольких типичных сценариях:
- Пробелы в параметрах. Пробел не является допустимым символом URL. Он превращается в
%20(или+в query-строках). Если передать пробел «как есть», сервер может обрезать параметр или вернуть ошибку. - Кириллица и национальные символы. Русские буквы в GET-параметрах или slug-адресах должны быть закодированы: «Москва» становится
%D0%9C%D0%BE%D1%81%D0%BA%D0%B2%D0%B0. Иначе ссылка сломается в части браузеров и почтовых клиентов. - Спецсимволы в значениях параметров. Символы
&,=,?,#разделяют части URL. Если они встречаются внутри значения параметра, их нужно кодировать. - UTM-метки с пробелами и слэшами. Значения вроде
utm_content=banner top/heroсломают ссылку — пробел и слэш требуют кодирования перед вставкой в рекламный кабинет.
Частые вопросы
Почему пробел превращается в %20?
Пробел имеет ASCII-код 32, что в шестнадцатеричной системе равно 20. По стандарту RFC 3986 он не входит в допустимые символы URI, поэтому кодируется как %20. В формах application/x-www-form-urlencoded пробел иногда заменяется знаком + — это отдельное соглашение для тела форм, не для произвольных URL.
Чем encode отличается от decode?
Encode преобразует обычный текст в безопасную для URL строку. Decode делает обратное — разворачивает %XX-последовательности обратно в читаемый текст. Используйте decode, чтобы расшифровать непонятную ссылку из письма или лога.
Зачем кодировать кириллицу в ссылке?
HTTP-протокол и многие серверы принимают только ASCII в пути запроса. Кириллические символы передаются в UTF-8, и каждый байт этой последовательности записывается через %XX. Без кодирования ссылка может работать в одном браузере, но сломаться при копировании в мессенджер, email-рассылку или рекламный трекер.
Нужно ли кодировать весь URL целиком?
Нет. Кодировать нужно только значения параметров и части пути, содержащие небезопасные символы. Служебные символы URL — ://, /, ?, & между параметрами — кодировать не надо, иначе ссылка перестанет работать. Если не уверены, вставьте только значение параметра, а не URL целиком.
Если вы работаете с рекламными ссылками, попробуйте также генератор UTM-меток — он автоматически кодирует значения. Остальные утилиты собраны в разделе все инструменты.