ConvertText.app LogoConvertText.app

Кодировщик / Декодировщик URL

Кодируйте URL-адреса, строки запроса и специальные символы в процентное кодирование или декодируйте закодированный текст обратно в читаемые URL — мгновенно, прямо в браузере. Этот инструмент работает как процентный кодировщик, процентный декодировщик, кодировщик строки запроса, декодировщик строки запроса и конвертер кодирования URL с поддержкой UTF-8 — всё на одной странице.

Вставьте URL-адрес или любой текст в поле ввода, выберите кодирование или декодирование, а также укажите, работаете ли вы с отдельным компонентом URL или полным URL-адресом, и скопируйте результат. Всё выполняется локально в браузере с использованием нативных функций JavaScript для работы с URL, поэтому ваши данные никогда не покидают устройство.

Параметры преобразования
Выберите, хотите ли вы кодировать или декодировать, и работаете ли вы с одним компонентом URL (например, значением запроса) или полным URL.

Режим Компонента кодирует зарезервированные символы, такие как / ? # & =, в процентное представление, чтобы значение было безопасным в строке запроса или сегменте пути.

Текст для кодирования
Введите текст или URL, который хотите закодировать. Пробелы станут %20, специальные символы будут закодированы в процентное представление.
0 символов
Закодированный результат
Результат в процентном кодировании, безопасный для использования в URL.
0 символов

Это приватный кодировщик и декодировщик URL, работающий в браузере. Он использует нативные функции encodeURIComponent, encodeURI, decodeURIComponent и decodeURI для безопасной обработки текста UTF-8 без передачи данных на сервер.

Что делает этот кодировщик и декодировщик URL?

Кодировщик URL преобразует символы, которые нельзя напрямую использовать в URL, в процентно-кодированные последовательности. Декодировщик URL выполняет обратную операцию, превращая закодированный текст обратно в исходные символы. Эта страница выполняет обе операции в обоих направлениях — для отдельного компонента URL или для полного URL-адреса.

Инструмент использует четыре стандартные функции JavaScript:

  • encodeURIComponent — для кодирования отдельного компонента URL, например значения параметра запроса.
  • encodeURI — для кодирования полного URL-адреса с сохранением зарезервированных символов (: / ? # & =), имеющих структурное значение.
  • decodeURIComponent — для декодирования отдельного компонента URL обратно в исходные символы.
  • decodeURI — для декодирования полного URL без изменения зарезервированных символов.

Все преобразования поддерживают UTF-8: символы с диакритикой, эмодзи и символы нелатинских алфавитов обрабатываются корректно. Никакие данные не загружаются на сервер, не сохраняются и не передаются через API.

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

Несколько практических примеров того, как выглядит кодирование URL:

  • Пробел становится %20: «привет мир» кодируется как %D0%BF%D1%80%D0%B8%D0%B2%D0%B5%D1%82%20%D0%BC%D0%B8%D1%80.
  • Косая черта в значении параметра становится %2F: a/b превращается в a%2Fb.
  • Знак вопроса в значении становится %3F: «что?» превращается в %D1%87%D1%82%D0%BE%3F.
  • Амперсанд в значении становится %26, что предотвращает нарушение структуры строки запроса.
  • Символ решётки в значении становится %23: c# превращается в c%23.
  • Символы за пределами ASCII используют многобайтовые последовательности UTF-8. Например, café становится caf%C3%A9 (é — два байта UTF-8).
  • Эмодзи также используют многобайтовый UTF-8: 😀 становится %F0%9F%98%80.

Переключите инструмент в режим «Декодировать» и вставьте любую из этих закодированных строк, чтобы получить исходный текст в точности.

Компонент URL или полный URL: выбор режима

Выбор правильного режима важен, так как два кодировщика по-разному обрабатывают зарезервированные символы.

Используйте режим «Компонент» (encodeURIComponent / decodeURIComponent), когда кодируете отдельное значение для вставки в URL — например, значение параметра запроса, сегмент пути или значение фрагмента. В этом режиме зарезервированные символы (: / ? # [ ] @ ! $ & ' ( ) * + , ; =) кодируются процентной кодировкой, чтобы они не могли случайно нарушить структуру окружающего URL.

Используйте режим «Полный URL» (encodeURI / decodeURI), когда у вас есть готовый URL-адрес вида https://example.com/path?query=value#fragment и нужно лишь экранировать небезопасные символы (пробелы, символы не-ASCII), не затрагивая зарезервированные структурные символы.

Распространённая ошибка — применение encodeURI к значению, которое должно стать параметром запроса. Зарезервированные символы останутся нетронутыми и могут испортить окружающий URL. При сомнениях кодируйте каждое значение через encodeURIComponent, а затем собирайте URL.

Что такое процентное кодирование?

Процентное кодирование (другое название — URL-кодирование) — это способ представления в URL зарезервированных символов (имеющих структурное значение) или символов, вообще недопустимых в URL. Каждый небезопасный байт записывается как знак процента, за которым следуют две шестнадцатеричные цифры: например, %20 для пробела, %2F для косой черты или %3F для знака вопроса.

Кодирование работает на уровне байтов, а не символов напрямую. Современные URL используют UTF-8 для предварительного преобразования символов в байты, поэтому один символ с диакритикой может давать два закодированных байта, а эмодзи — четыре. Инструмент всегда использует UTF-8, что обеспечивает совместимость закодированных строк с остальной частью веба.

Процентное кодирование определено в RFC 3986. Нативные функции JavaScript, используемые здесь, реализуют эту спецификацию, поэтому значение, закодированное через encodeURIComponent в любом современном браузере, корректно декодируется через decodeURIComponent везде.

Когда использовать этот инструмент

Этот кодировщик-декодировщик URL пригодится всякий раз, когда нужно безопасно переместить текст в URL или из него. Типичные сценарии:

  • Кодирование текста для строки запроса перед вставкой в API-запрос, строку лога или адресную строку браузера.
  • Декодирование параметров URL из лога запросов или экспорта аналитики для чтения исходных значений.
  • Проверка длинного закодированного URL путём декодирования — посмотреть, что реально передаётся.
  • Экранирование специальных символов в URL перед публикацией в чате, документации или JSON-payload.
  • Изучение того, как процентное кодирование и байтовые последовательности UTF-8 соответствуют символам.

Поскольку инструмент работает полностью в браузере, он подходит и для конфиденциальных URL (внутренние ссылки, токены, подписанные URL), которые нежелательно вставлять в сторонние сервисы.

Кодирование URL и очистка URL — в чём разница

Кодирование URL и очистка URL — это две разные операции, которые часто путают.

Кодирование URL (этот инструмент) преобразует символы в процентно-кодированную форму и обратно. Структура URL при этом сохраняется: ничего не добавляется и не удаляется.

Очистка URL (отдельный тип инструмента) удаляет трекинговые параметры — utm_source, utm_medium, fbclid, gclid и подобные ключи запроса, — чтобы итоговая ссылка не содержала метаданных отслеживания. Очистка URL изменяет параметры в адресе — кодирование этого не делает.

Если нужно удалить трекинговые параметры, используйте специализированный очиститель URL. Если нужно закодировать или декодировать текст в процентную кодировку или из неё — это нужный инструмент.

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

Что такое кодировщик и декодировщик URL?

Кодировщик URL преобразует зарезервированные или небезопасные символы в URL в процентно-кодированные последовательности (например, пробел становится %20). Декодировщик URL выполняет обратную операцию, восстанавливая исходные символы. Страница поддерживает оба направления и работает как с отдельным компонентом URL, так и с полным адресом — всё в браузере.

Что такое кодирование URL?

Кодирование URL — это процесс замены символов, имеющих специальное значение в URL или недопустимых в них, на процентно-кодированные последовательности. Каждый небезопасный байт записывается как знак процента и две шестнадцатеричные цифры. Кодирование URL также называется процентным кодированием и определено в RFC 3986.

Что такое процентное кодирование?

Процентное кодирование — схема кодирования, которую используют URL для представления небезопасных или зарезервированных символов. Символ преобразуется в один или несколько байтов (UTF-8 для современных URL), каждый из которых записывается как знак процента и его двузначное шестнадцатеричное значение. Например, пробел — это байт 0x20, он записывается как %20.

Когда использовать encodeURIComponent вместо encodeURI?

Используйте encodeURIComponent, когда кодируете отдельное значение для вставки в URL — как правило, значение параметра запроса, сегмент пути или значение фрагмента. Функция кодирует зарезервированные символы /, ?, #, & и =, чтобы они не могли случайно нарушить структуру окружающего URL. Используйте encodeURI, если у вас уже есть готовый URL и нужно лишь экранировать небезопасные символы (пробелы, символы не-ASCII), не затрагивая структурные зарезервированные символы.

В чём разница между %20 и +?

Оба символа могут обозначать пробел, но в разных контекстах. %20 — стандартное процентное кодирование пробела, допустимое в любом месте URL. Символ + интерпретируется как пробел только внутри данных application/x-www-form-urlencoded — обычно в теле HTML-формы или в строках запроса, которые генерирует устаревший код. Нативные функции decodeURIComponent и decodeURI НЕ конвертируют + в пробел, и этот инструмент придерживается того же строгого поведения: + сохраняется в точности так, как введён. Если вы декодируете данные формы и + должен означать пробел — замените + на пробел вручную перед декодированием.

Может ли этот инструмент декодировать строки запроса?

Да. Вставьте закодированную строку запроса (или отдельное закодированное значение) в поле ввода и переключите направление на «Декодировать». Для отдельного значения параметра используйте режим «Компонент», для декодирования всего URL — режим «Полный URL». Обратите внимание: инструмент не разбивает строку запроса на пары «ключ / значение» — он декодирует процентно-кодированные символы в введённом тексте.

Поддерживает ли этот декодировщик URL символы UTF-8?

Да. Нативные функции JavaScript обрабатывают процентно-кодированные последовательности как байты UTF-8, поэтому символы с диакритикой, эмодзи и символы нелатинских алфавитов корректно декодируются в исходную форму. Например, caf%C3%A9 декодируется в café, а %F0%9F%98%80 — в 😀. Если последовательность не является допустимым UTF-8, декодировщик выдаёт ошибку некорректного ввода, а не создаёт символы-заменители молча.

Передаётся ли мой текст на сервер?

Нет. Кодировщик и декодировщик работают полностью в браузере с использованием нативных функций JavaScript. Введённые данные никогда не отправляются на сервер, не сохраняются и не логируются. При закрытии вкладки всё удаляется. Это делает инструмент подходящим для конфиденциальных URL (внутренние ссылки, токены, подписанные URL), которые нежелательно вставлять в сторонние сервисы.

Является ли кодирование URL тем же, что и очистка URL?

Нет. Кодирование URL преобразует символы в процентно-кодированную форму и обратно, не изменяя набор параметров в адресе. Очистка URL — отдельная операция: она удаляет трекинговые параметры utm_source, utm_medium, fbclid, gclid и другие. Если нужно удалить трекеры из ссылки — используйте специализированный очиститель URL; эта страница только кодирует и декодирует.

Почему некоторые декодированные URL всё ещё содержат знаки процента?

Если исходный URL был закодирован дважды (двойное кодирование), один проход декодирования снимет только один слой. Например, %2520 декодируется в %20, а %20 при повторном декодировании становится пробелом. Запустите результат через декодировщик ещё раз, если он по-прежнему выглядит закодированным. Буквальный знак процента, не являющийся частью допустимой escape-последовательности (например, abc%), — это недопустимое процентное кодирование, и декодировщик выдаст ошибку вместо попытки угадать.

Другие текстовые инструменты

Бесплатные онлайн-инструменты для конвертации, кодирования и преобразования текста

Преобразование регистра

Изменяйте регистр текста — ВЕРХНИЙ, нижний, Заголовок и другие

Переводчик азбуки Морзе

Конвертируйте текст в код Морзе и обратно

Аудио-декодер кода Морзе

Декодирование кода Морзе из аудиофайлов или микрофона

Переводчик двоичного кода

Конвертируйте текст в двоичный код и обратно

Кодировщик/Декодировщик Base64

Кодируйте и декодируйте текст Base64

Hex Converter

Преобразуйте текст в шестнадцатеричный и обратно

Кодировщик/Декодировщик ROT13

Кодировать и декодировать текст с помощью шифра ROT13

Генератор верхнего индекса

Преобразует текст в надстрочный Unicode там, где это поддерживается.

Генератор нижних индексов

Конвертировать текст в нижний индекс Unicode там, где поддерживается

Генератор зачёркнутого текста

Мгновенно генерируйте Unicode зачёркнутый текст для копирования и вставки

Изображение в Base64

Конвертировать изображения в строки Base64 и URI данных