calcal.ru
Инструмент для веб-разработчиков

URL Encode / Decode

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

128
ASCII-символов
Базовый набор кодирования
66
Безопасных символов
Не требуют кодирования по RFC 3986
%D0%
Кириллица
Каждая буква = 2 байта в UTF-8
3
Метода кодирования
encodeURI, encodeURIComponent, full

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

URL-кодирование (percent-encoding) — это механизм преобразования символов в формат, безопасный для передачи через URL. Любой символ, не входящий в набор допустимых, заменяется на последовательность %XX, где XX — шестнадцатеричный код байта. Этот механизм описан в стандарте RFC 3986 и является основой работы всех веб-приложений.

%

Percent-encoding

Каждый байт символа преобразуется в %HH, где HH — шестнадцатеричное значение. Например, пробел становится %20, а кириллическая буква занимает 2 байта в UTF-8: «П» превращается в %D0%9F. Это гарантирует корректную передачу данных через HTTP-протокол.

RFC

RFC 3986

Стандарт определяет синтаксис URI и правила кодирования. Безопасные (unreserved) символы: A-Z, a-z, 0-9, дефис, точка, подчёркивание, тильда. Зарезервированные символы (:, /, ?, #, &, = и другие) имеют особое значение в URL и должны кодироваться при использовании в качестве данных.

UTF

UTF-8 и кириллица

Современные браузеры используют UTF-8 для кодирования не-ASCII символов в URL. Кириллические буквы занимают 2 байта (диапазон %D0%80–%D1%BF), что важно учитывать при ограничениях длины URL. Максимальная длина URL в большинстве браузеров составляет около 2000 символов.

Где используется URL-кодирование

URL-кодирование — фундаментальная часть веб-технологий. Понимание его работы необходимо каждому разработчику и маркетологу.

</>

API-разработка

Передача параметров в REST и GraphQL API. Корректное кодирование query-параметров критически важно для работы API: незакодированные спецсимволы (&, =, ?) разрушают структуру запроса.

🔍

Веб-скрапинг

Формирование URL для парсинга страниц. При автоматическом сборе данных необходимо правильно кодировать поисковые запросы, фильтры и пагинацию в параметрах URL.

📊

Аналитика и UTM

UTM-метки (utm_source, utm_medium, utm_campaign) требуют кодирования значений с пробелами, кириллицей и спецсимволами. Некорректное кодирование приводит к потере данных в Яндекс Метрике и Google Analytics.

🌐

SEO и Cyrillic URL

Яндекс поддерживает кириллические URL (ЧПУ), но при копировании они автоматически кодируются. Понимание percent-encoding помогает корректно настраивать канонические адреса, редиректы и карту сайта.

📧

Mailto и протоколы

Ссылки вида mailto:, tel:, и пользовательские схемы URI требуют кодирования специальных символов в теле письма, теме и других параметрах, иначе ссылка не откроется корректно.

🔗

Deep Links и OAuth

Callback URL в OAuth-потоках, deep links в мобильных приложениях и redirect_uri параметры требуют двойного кодирования (URL внутри URL), что является частым источником ошибок.

Таблица кодирования/ справочник символов

Какие символы кодируются, а какие передаются без изменений. Безопасные символы по RFC 3986 не требуют кодирования. Зарезервированные символы имеют специальное значение в структуре URL.

Безопасные (unreserved) — НЕ кодируются

A-Za-z0-9-._~

Зарезервированные — кодируются в данных

СимволКодНазначение в URL
:%3AРазделитель протокола (http:)
/%2FРазделитель пути (/path/to)
?%3FНачало query-строки
#%23Начало фрагмента (якоря)
&%26Разделитель параметров
=%3DПрисвоение значения параметру
+%2BПробел (в form-urlencoded)
@%40Разделитель userinfo и хоста
пробел%20Пробел (или + в формах)

Кириллица (UTF-8)

СимволURL-кодUTF-8 байты
А%D0%900xD0 0x90
Б%D0%910xD0 0x91
Я%D0%AF0xD0 0xAF
а%D0%B00xD0 0xB0
я%D1%8F0xD1 0x8F
ё%D1%910xD1 0x91

encodeURI vs encodeURIComponent

Две самые популярные функции JavaScript для URL-кодирования работают по-разному. Понимание их различий критически важно для корректной работы с URL в веб-приложениях.

URI

encodeURI()

Кодирует строку как целый URI. Не кодирует зарезервированные символы, которые являются частью структуры URL: : / ? # [ ] @ ! $ ' ( ) * + , ; =

Пример:

encodeURI("https://example.com/путь?q=запрос")

Результат:

https://example.com/%D0%BF%D1%83%D1%82%D1%8C?q=%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81

Когда использовать: когда нужно закодировать целый URL, сохранив его структуру (протокол, хост, путь, параметры).

Comp

encodeURIComponent()

Кодирует строку как компонент URI. Кодирует все зарезервированные символы, включая : / ? # & =. Оставляет только: A-Z a-z 0-9 - _ . ~ ! ' ( ) *

Пример:

encodeURIComponent("ключ=значение&другой")

Результат:

%D0%BA%D0%BB%D1%8E%D1%87%3D%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D0%B5%26%D0%B4%D1%80%D1%83%D0%B3%D0%BE%D0%B9

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

Сводная таблица различий

СимволencodeURIencodeURIComponent
Пробел%20%20
// (не кодирует)%2F
?? (не кодирует)%3F
&& (не кодирует)%26
== (не кодирует)%3D
## (не кодирует)%23
@@ (не кодирует)%40
Кириллица%D0%XX%D0%XX

Советы по работе с URL

Практические рекомендации, которые помогут избежать распространённых ошибок при кодировании и декодировании URL.

1Используйте encodeURIComponent для параметров

Самая частая ошибка — использование encodeURI для кодирования значений query-параметров. Если значение содержит & или =, структура URL будет нарушена. Всегда используйте encodeURIComponent для отдельных значений.

2Избегайте двойного кодирования

Двойное кодирование превращает %20 в %2520. Это происходит, когда уже закодированная строка кодируется повторно. Проверяйте, не закодирован ли текст перед кодированием. Признак: наличие %25 в результате.

3Пробел: %20 или +?

В стандарте RFC 3986 пробел кодируется как %20. Но формат application/x-www-form-urlencoded (HTML-формы) использует + вместо %20. JavaScript-функции encodeURI и encodeURIComponent используют %20. Используйте URLSearchParams для формата с плюсами.

4Ограничение длины URL

Спецификация HTTP не ограничивает длину URL, но браузеры имеют свои лимиты: Chrome — около 2 МБ, IE — 2083 символа, серверы (Apache, Nginx) обычно 8 КБ. Кириллица увеличивает длину в 3-6 раз, учитывайте это при формировании URL.

5URL в URL (redirect_uri)

При передаче URL в качестве параметра другого URL (например, redirect_uri в OAuth) необходимо полностью закодировать вложенный URL через encodeURIComponent. Иначе символы ?, & и = вложенного URL будут интерпретированы как часть внешнего.

6Серверная сторона

Серверные языки имеют свои аналоги: Python — urllib.parse.quote(), PHP — urlencode() и rawurlencode(), Java — URLEncoder.encode(). Убедитесь, что кодировка на клиенте и сервере совпадает (UTF-8 — стандарт де-факто).

Как пользоваться инструментом

Четыре режима работы для решения разных задач: кодирование, декодирование, разбор URL и генерация query-строк.

1

Кодирование

Выберите метод (encodeURIComponent для параметров, encodeURI для целого URL). Введите текст — результат появится мгновенно. Скопируйте одним нажатием.

2

Декодирование

Вставьте закодированную строку с %XX последовательностями. Инструмент автоматически определит и декодирует все percent-encoded символы, включая кириллицу.

3

Разбор URL

Вставьте полный URL — инструмент разложит его на компоненты: протокол, хост, путь, query-параметры и фрагмент. Удобно для анализа сложных ссылок.

4

Query Builder

Добавляйте пары ключ-значение — инструмент автоматически сформирует закодированную query-строку. Идеально для построения API-запросов и UTM-меток.

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

URL-кодирование — это механизм замены небезопасных символов в URL на последовательности вида %XX, где XX — шестнадцатеричный код байта. Например, пробел становится %20, а кириллическая буква «А» — %D0%90. Это необходимо, потому что URL может содержать только ограниченный набор ASCII-символов (буквы, цифры и несколько спецсимволов).
encodeURI() предназначена для кодирования целого URL и не трогает структурные символы (://?#[]@!$&'()*+,;=). encodeURIComponent() кодирует всё, кроме букв, цифр и символов -_.~!'()*. Используйте encodeURIComponent для кодирования значений отдельных параметров, а encodeURI — только когда нужно закодировать весь URL целиком.
Кириллические символы в UTF-8 занимают 2 байта, поэтому каждая буква кодируется двумя %XX последовательностями. Например, буква «Ы» в UTF-8 имеет байты 0xD0 и 0xAB, что в URL выглядит как %D0%AB. Это значит, что кириллический текст в URL увеличивается в размере примерно в 6 раз.
Это зависит от контекста. По стандарту RFC 3986 пробел кодируется как %20. Но в формате application/x-www-form-urlencoded (при отправке HTML-форм методом POST или GET) используется +. JavaScript-функции encodeURI и encodeURIComponent всегда используют %20. Для совместимости с формами используйте класс URLSearchParams.
Двойное кодирование происходит, когда уже закодированная строка кодируется повторно. Символ % (код %25) кодируется снова, и %20 превращается в %2520. Чтобы избежать этого, перед кодированием проверяйте, не содержит ли строка уже закодированные последовательности. Признак двойного кодирования — наличие %25 в строке.
Стандарт HTTP не ограничивает длину URL, но на практике существуют ограничения: Chrome поддерживает URL до ~2 МБ, Safari — до ~80 000 символов, старые версии IE — до 2083 символов. Серверы по умолчанию: Apache — 8190 байт, Nginx — 4096 байт. Для передачи больших объёмов данных используйте POST-запросы.
Query Builder позволяет визуально добавлять пары ключ-значение и автоматически формирует закодированную query-строку. Каждый ключ и значение кодируются через encodeURIComponent, а пары соединяются символом &. Результат можно скопировать и использовать в URL. Это особенно удобно для создания UTM-меток и API-запросов с кириллическими значениями.
Вставьте закодированный URL в поле декодирования — инструмент автоматически распознает и декодирует все %XX последовательности обратно в читаемый текст. Используется функция decodeURIComponent, которая корректно обрабатывает многобайтовые символы UTF-8, включая кириллицу, иероглифы и эмодзи.
Да, Яндекс поддерживает и индексирует кириллические URL (ЧПУ). В адресной строке браузера они отображаются в читаемом виде, но при копировании автоматически кодируются. Google также поддерживает кириллические URL, хотя некоторые SEO-специалисты предпочитают транслитерацию для универсальности.
Разбор (парсинг) URL — это разделение адреса на составные части: протокол (https), хост (example.com), порт (443), путь (/page), query-параметры (?key=value) и фрагмент (#section). Наш инструмент использует встроенный JavaScript объект URL для точного разбора и дополнительно декодирует значения query-параметров для удобного чтения.
Лиана Арифметова
Создатель

Лиана Арифметова

Миссия: Демократизировать сложные расчеты. Превратить страх перед числами в ясность и контроль. Девиз: «Любая повторяющаяся задача заслуживает своего калькулятора».

⚖️

Отказ от ответственности

Только для информационных целей. Все расчёты, результаты и данные, предоставляемые данным инструментом, носят исключительно ознакомительный и справочный характер. Они не являются профессиональной консультацией — медицинской, юридической, финансовой, инженерной или иной.

Точность результатов. Калькулятор основан на общепринятых формулах и методиках, однако фактические результаты могут отличаться в зависимости от индивидуальных условий, исходных данных и применяемых стандартов. Мы не гарантируем полноту, точность или актуальность приведённых расчётов.

Медицинские, финансовые и профессиональные решения должны приниматься исключительно на основании консультации с квалифицированными специалистами — врачом, финансовым советником, инженером или другим профессионалом в соответствующей области. Не используйте результаты данного инструмента как единственное основание для принятия важных решений.

Ограничение ответственности. Авторы и разработчики сервиса не несут никакой ответственности за прямой или косвенный ущерб, возникший в результате использования данных расчётов. Пользователь принимает на себя всю ответственность за интерпретацию и применение полученных результатов.

Похожие инструменты

🧮

Калькулятор оценок и GPA

Расчёт среднего балла (GPA), перевод оценок между системами (5-балльная, ECTS, GPA 4.0, ЕГЭ). Компонентное оценивание и условия красного диплома.

🏗️

Калькулятор сантехника: трубы, поток, давление

Расчет объема воды в трубе, скорости потока и потерь давления. Выбор материала (пластик, медь, сталь) и диаметра.

⚗️

Калькулятор биохимии

Кинетика Михаэлиса-Ментен, уравнение Хендерсона-Хассельбальха, концентрация ДНК/РНК по OD260, молекулярная масса белка, ферментативные единицы.

💰

Калькулятор международного налогообложения (СИДН, КИК)

Расчёт налога у источника по СИДН, налогообложение КИК (ст. 25.13 НК РФ), тест налогового резидентства и зачёт иностранного налога.

🧮

Конвертер систем счисления с объяснением

Конвертация между двоичной, восьмеричной, десятичной и шестнадцатеричной системами с пошаговым объяснением.

💻

Калькулятор DPI и размера печати

Пересчёт пикселей в размер печати при заданном DPI. Форматы A4-A0, фотопечать, полиграфия.

💻

ETL Калькулятор: тайминг, ресурсы, Incremental vs Full, SLA, ошибки

Комплексный калькулятор ETL (Extract-Transform-Load). Оценка времени извлечения, трансформации и загрузки, подбор CPU/RAM/диска, сравнение Incremental и Full Load, расчёт SLA, анализ ошибок и Dead Letter Queue.

🧮

Калькулятор стоимости обучения и налогового вычета

Расчёт полной стоимости обучения в российских вузах, налоговый вычет 13% (лимит 150 000 руб./год с 2024), сравнение вузов и перевод на бюджет.

🏥

Калькулятор Child-Pugh (цирроз печени)

Рассчитайте класс тяжести цирроза по шкале Чайлд-Пью. Прогноз выживаемости, хирургический риск. Для гепатологов и хирургов.

🏗️

Калькулятор энергоэффективности здания: класс, теплопотери, паспорт

Расчёт класса энергоэффективности по Приказу 399/пр, удельного расхода энергии, теплопотерь и энергетического паспорта здания.

🏠

Калькулятор кухни

Расчёт кухонного гарнитура: модули, столешница, фартук. Линейная, угловая, П-образная кухня. Стоимость в рублях.

⚙️

Калькулятор сечения провода (ПУЭ)

Сечение кабеля по мощности и току. Падение напряжения, медь/алюминий. По ПУЭ 7 для 220В и 380В.

💰

Калькулятор субсидии на ЖКХ

Расчёт субсидии на оплату ЖКХ: право на субсидию, размер по доходу.

⚙️

Калькулятор управления автопарком

Расчёты автопарка: TCO, расход топлива, размер парка, ТО, водители, лизинг vs покупка

🧮

Калькулятор расхода ткани на обивку мебели

Расчёт расхода ткани на перетяжку дивана, кресла, стула. По типу мебели или размерам.