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-параметров для удобного чтения.
Лиана Арифметова
Создатель

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

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

Был ли этот калькулятор полезен?

⚖️

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

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

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

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

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

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

🧮

Калькулятор зарплаты (гросс/нет)

Зарплата на руки из оклада. НДФЛ 13%/15%/30%, страховые взносы, районные коэффициенты. Россия 2024-2025.

🏗️

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

Расчёт имитации бруса на обшивку дома: панели, крепёж, обрешётка, стоимость

🏠

Конвертер размеров одежды (RU/EU/US/UK)

Перевод размеров между российской, европейской, американской и британской системами. Мужская, женская, детская.

💰

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

Перерасчёт алиментов в твёрдой денежной сумме по изменению прожиточного минимума. СК РФ ст. 117, данные по регионам 2018–2025.

🏗️

Калькулятор подпорной стенки

Расчёт подпорной стенки: объём материалов (бетон, ФБС, кирпич, камень, габионы), фундамент, дренаж, гидроизоляция, армирование. Ориентировочная смета.

⚙️

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

Расчёт ременной передачи: длина ремня, натяжение, передаточное число, обороты.

💻

Калькулятор расстояния между координатами (геокодер)

Рассчитайте точное расстояние между двумя точками по широте и долготе. Формула Хаверсина. Поддержка поиска адресов.

💻

JSON форматтер и валидатор

Онлайн форматирование, валидация и минификация JSON с русским интерфейсом. Подсветка синтаксиса, древовидный просмотр, статистика и проверка ошибок.

⚙️

Калькулятор целлюлозно-бумажного производства

Расчёты ЦБП: выход целлюлозы, свойства бумаги, варка, отбелка, энергобаланс, себестоимость

💰

Калькулятор дивидендов (доходность и DRIP)

Рассчитайте дивидендную доходность, чистый доход после НДФЛ, прогноз роста с реинвестированием (DRIP). Сравнение с депозитом.

💻

Калькулятор битрейта видео

Расчёт размера видеофайла по разрешению, FPS, кодеку и длительности. Рекомендации YouTube, Telegram, VK.

🏥

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

Справочный калькулятор суточных норм витаминов (RDA) по полу и возрасту. Витамин D, C, железо и другие.

💻

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

Расчёты микросервисов: ресурсы, сеть, надёжность, API Gateway, очереди, стоимость

💰

Налоговый калькулятор (НДС, НДФЛ, зарплата)

Универсальный калькулятор налогов: выделите или начислите НДС, рассчитайте «чистую» зарплату и взносы, оцените налоги ИП (УСН, Патент).

⚙️

Калькулятор пищевого производства

Расчёты пищевого производства: пастеризация, сушка, холодильная цепь, рецептура, ХАССП