URL Encoder
Войдите или зарегистрируйтесь, чтобы сохранять инструменты в избранное
URL кодирование и декодирование онлайн. Преобразование спецсимволов, кириллицы и пробелов в URL-безопасный формат
URL-кодирование заменяет специальные символы на %XX последовательности.
Это необходимо для корректной передачи параметров в URL, работы с API и обработки строк с кириллицей.
Кнопка «Encode» использует encodeURI (сохраняет структуру URL), «encodeURIComponent» — кодирует все спецсимволы включая /, ? и &.
URL кодирование и декодирование онлайн
URL-кодирование (percent-encoding) — это механизм представления спецсимволов в URL-адресах. Символы, не входящие в набор допустимых (RFC 3986), заменяются на %XX, где XX — шестнадцатеричный код символа в UTF-8. Это необходимо для корректной передачи кириллицы, пробелов и спецсимволов в адресной строке браузера.
Зачем нужно URL-кодирование
URL-адрес может содержать только символы ASCII (латинские буквы, цифры и несколько спецсимволов). Кириллица, иероглифы, пробелы и символы вроде &, =, ? имеют специальное значение в URL и должны быть закодированы для корректной интерпретации сервером.
Таблица кодирования спецсимволов
| Символ | Код | Описание |
|---|---|---|
| Пробел | %20 или + | В path — %20, в query — может быть + |
| & | %26 | Разделитель параметров в query |
| = | %3D | Разделитель ключ=значение |
| ? | %3F | Начало query string |
| # | %23 | Начало фрагмента (anchor) |
| / | %2F | Разделитель пути |
| кириллица (а) | %D0%B0 | 2–3 байта UTF-8 на символ |
encodeURI vs encodeURIComponent
| Функция | Не кодирует | Применение |
|---|---|---|
encodeURI() | : / ? # [ ] @ ! $ & ' ( ) * + , ; = | Кодирование полного URL |
encodeURIComponent() | - _ . ~ ! ' ( ) * | Кодирование отдельного параметра |
Используйте encodeURIComponent() для значений параметров и encodeURI() для полных URL с путём и query string.
Часто задаваемые вопросы
Почему кириллица в URL выглядит как %D0%...
Каждая кириллическая буква занимает 2 байта в UTF-8. Каждый байт кодируется как %XX, отсюда 6 символов вместо одной буквы. Браузер отображает декодированную версию в адресной строке.
Чем отличается %20 от +?
В стандарте RFC 3986 пробел всегда кодируется как %20. Знак + для пробела используется только в формате application/x-www-form-urlencoded (HTML-формы). В URL-пути всегда используйте %20.
Нужно ли кодировать русские домены?
Да, для технической передачи русские домены кодируются через Punycode (xn--), а не URL-encoding. Но путь и параметры с кириллицей кодируются через percent-encoding.
Безопасно ли вставлять данные?
Да, все операции выполняются в браузере. Данные не покидают ваш компьютер.
Для работы с HTML-сущностями используйте HTML Entities, а для кодирования в Base64 — Base64 кодер.
Полезные статьи
WCAG контрастность: доступность цветов в веб-дизайне
Как проверить контрастность цветов по стандарту WCAG 2.1. Уровни AA и AAA, формула расчёта, рекомендации.
CSS Border Radius: скругление углов элементов
Как использовать border-radius: синтаксис, сокращённая запись, эллиптические углы. Генератор border-radius онлайн.