URL Encoder / Decoder онлайн

Кодирование и декодирование URL по стандарту percent-encoding мгновенно, прямо в браузере. Кириллица, спецсимволы, пробелы. Три режима на выбор.

Мгновенный результат RFC 3986 Бесплатно Без регистрации
Исходный текст
0 символов
URL-кодированный текст
0 символов
Скопировано!

Возможности инструмента

Три режима

encodeURIComponent для параметров, encodeURI для полных адресов, decode для расшифровки.

Мгновенный результат

Кодирование происходит прямо при вводе без нажатия кнопок и ожидания.

Кириллица и Unicode

Корректно обрабатывает русские буквы, иероглифы, эмодзи и любые Unicode-символы.

Работает офлайн

Вся обработка в вашем браузере. Данные никуда не отправляются.

Как пользоваться

1

Выберите режим

Текст URL для кодирования; URL Текст для декодирования; Полный URL когда нужно безопасно передать весь адрес.

2

Введите текст

Вставьте или напишите нужный текст в левое поле. Результат появится справа моментально в реальном времени.

3

Скопируйте результат

Нажмите Скопировать для получения результата. Кнопка позволяет поменять ввод и вывод местами для обратной операции.

Когда это нужно

Разработка APIКодирование параметров запроса перед отправкой через fetch или axios.
SEO и ссылкиПреобразование URL с кириллицей в читаемый вид и обратно.
ОтладкаРасшифровка непонятных ссылок вида %D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80.
HTML-формыКорректное кодирование данных форм для передачи через URL.
Bash / curlПодготовка закодированных параметров для командной строки и скриптов.
Работа с логамиЧтение закодированных URL-строк в логах веб-сервера nginx, Apache.

Как работает percent-encoding

Percent-encoding (URL-кодирование) стандарт RFC 3986, описывающий правила замены небезопасных символов в URI на последовательность %XX, где XX шестнадцатеричный код байта символа в UTF-8. Такая техника нужна потому, что URL может содержать только ограниченный набор символов ASCII, а всё остальное кириллица, японские иероглифы, эмодзи должно быть закодировано.

Алгоритм прост: каждый байт символа (в кодировке UTF-8) заменяется символом % и двумя шестнадцатеричными цифрами. Например, буква п в Unicode U+043F, в UTF-8 байты 0xD0 0xBF, поэтому в URL она выглядит как %D0%BF. Пробел один байт 0x20 превращается в %20.

Ключевое различие между encodeURI и encodeURIComponent в JavaScript:

ФункцияСохраняетКодируетКогда использовать
encodeURIComponent Буквы, цифры, - _ . ! ~ * ' ( ) Всё остальное, включая / ? # & = Кодирование значения параметра
encodeURI Структурные символы URL (: / ? # [ ] @ ! $ & ' ( ) * + , ; =) Пробелы, кириллица, Unicode вне ASCII Кодирование всего URL целиком
decodeURIComponent Декодирует всё закодированное Расшифровка параметров и строк

Выбор режима зависит от задачи. Если нужно передать в качестве параметра строку, содержащую / или &, используйте encodeURIComponent. Если нужно подготовить полный адрес страницы encodeURI. Для расшифровки любых %XX-последовательностей decodeURIComponent.

Нужна Base64-кодировка?

Кодируйте текст и файлы в формате Base64 другой популярный стандарт для передачи данных.

Base64 Encoder

Часто задаваемые вопросы

URL-кодирование (percent-encoding) это механизм замены небезопасных символов в URL на последовательность вида %XX, где XX шестнадцатеричный байт символа в UTF-8. Например, пробел %20, А кириллицы %D0%90. Стандарт описан в RFC 3986.
encodeURIComponent кодирует все символы кроме букв, цифр и - _ . ! ~ * ' ( ) то есть кодирует даже / ? # & =. Используется для кодирования значения параметра. encodeURI сохраняет структурные символы URL (:/?#[]@!$&'()*+,;=), поэтому подходит для кодирования полного адреса.
Знак + вместо пробела это устаревший формат application/x-www-form-urlencoded, используемый в HTML-формах (например, Google-поиск). Стандарт RFC 3986 требует кодировать пробел как %20. Большинство современных API принимают оба варианта, но %20 считается предпочтительным.
Выберите режим URL Текст в нашем инструменте и вставьте зашифрованную строку вида %D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80 в левое поле. Результат декодирования появится справа немедленно.
По RFC 3986 безопасные (unreserved) символы латинские буквы AZ и az, цифры 09, а также знаки - _ . ~. Они разрешены везде в URL без кодирования. Зарезервированные символы (: / ? # [ ] @ ! $ & ' ( ) * + , ; =) кодируются только при использовании encodeURIComponent.
Символы кириллицы в UTF-8 занимают 2 байта, поэтому каждый символ превращается в две последовательности %XX. Например: п = %D0%BF, р = %D1%80, и = %D0%B8. Это стандартное поведение всех браузеров и серверов.
%2B это закодированный символ +, а %2F закодированный /. Если нужно получить читаемый вид, используйте режим URL Текст он декодирует все %XX-последовательности обратно в символы.
Режим использует encodeURI: сохраняет структурные символы URL (:/?#&= и др.) нетронутыми и кодирует только кириллицу и спецсимволы. Используйте его, когда нужно безопасно передать полный адрес страницы.
Знак + в качестве пробела допустим только в строке запроса (?key=hello+world) при передаче HTML-форм с application/x-www-form-urlencoded. В остальных частях URL пути, хосте, якоре пробел нужно кодировать как %20.