Пробелы, символы и специальные знаки ломают URL — процентное кодирование решает эту проблему. Закодируйте любой URL для безопасной передачи или декодируйте его обратно в читаемый текст, мгновенно.
Загрузка калькулятора...
Этот инструмент вам помог?
Что такое Кодировщик/декодировщик URL?
Кодировщик/декодировщик URL преобразует обычный текст в безопасный для URL формат процентного кодирования и обратно. Незаменим для веб-разработчиков, работающих с параметрами запроса, вызовами API и маршрутизацией URL.
Когда использовать этот калькулятор
Вы создаёте URL с параметрами запроса, содержащими пробелы, символы или не-ASCII знаки
Вам нужно декодировать процентно закодированный URL, чтобы прочитать его реальное содержимое
Вы отлаживаете API, который отклоняет ваш URL из-за незакодированных специальных символов
Вы обрабатываете отправленные пользователями URL, которые нужно очистить перед использованием
Вам нужно закодировать или декодировать сразу несколько сегментов URL
Вы создаёте редиректы или callback-URL, в которых параметры должны быть правильно закодированы
Шаги:
Введите или вставьте текст/URL, который нужно закодировать или декодировать.
Выберите режим «Кодировать» или «Декодировать».
Нажмите кнопку «Преобразовать».
Скопируйте результат для использования в своём приложении.
Формула
Кодирование: небезопасные символы → % + 2-значный шестнадцатеричный код ➡ Декодирование: %XX → исходный символ
Варианты использования
Создание безопасных строк запроса для URL
Обработка параметров запросов API
Отладка закодированных URL
Создание URL-дружественных слагов и путей
Основные преимущества
Мгновенное кодирование и декодирование
Обработка всех специальных символов
Полностью работает в браузере
Бесплатно, без регистрации
Советы профессионалов
Всегда кодируйте созданные пользователем параметры URL
Используйте encodeURIComponent() для параметров запроса в JavaScript
Декодируйте URL перед отображением пользователям для читаемости
Распространенные ошибки
Случайное двойное кодирование URL
Использование неверного кодирования в неверном контексте (URL вместо HTML)
Забывание, что + обозначает пробел в строках запроса, но не в сегментах пути
Объяснение ключевых терминов
Кодирование URL: процентное кодирование для безопасных URL
Процентное кодирование: % с последующим шестнадцатеричным кодом
Строка запроса: параметры после ? в URL
Зарезервированные символы: символы с особым значением в URL
Связанные понятия
Процентное кодирование: механизм замены небезопасных символов знаком % с последующим двузначным шестнадцатеричным ASCII-кодом для безопасной передачи URL
Строка запроса: часть URL после символа ?, содержащая пары ключ-значение, разделённые символами &
Зарезервированные символы: символы вроде :, /, ?, #, [, ], @, !, $, &, (, ), *, +, ,, ;, =, имеющие особое значение в синтаксисе URL согласно RFC 3986
Безопасные для URL символы: незарезервированные символы (буквы, цифры, -, _, ., ~), не требующие кодирования в URL
encodeURIComponent против encodeURI: функции JavaScript, где encodeURIComponent для отдельных значений кодирует всё, кроме букв, цифр и _*-.~, а encodeURI сохраняет символы структуры URL для полных URL
Кодировщик преобразует небезопасные символы URL (пробелы, &, ?, #, не-ASCII и т. д.) в формат процентного кодирования, где каждый символ становится % с последующим двузначным шестнадцатеричным кодом. Декодировщик обращает этот процесс, восстанавливая исходный читаемый текст. Количество символов помогает убедиться, что кодирование не продублировало и не обрезало ваш ввод непредвиденно.
Режим компонента кодирует более широкий набор символов и предназначен для кодирования отдельных значений параметров запроса. Режим URL строже в том, что кодируется, и предназначен для кодирования полных путей URL или целых URL. Используйте режим компонента при построении строк запроса и режим URL при кодировании полного URL.
Пакетный режим позволяет кодировать или декодировать сразу несколько строк, что удобно, когда у вас есть список URL или параметров для обработки. Каждая строка рассматривается как отдельный ввод, и все результаты отображаются вместе для удобного копирования.
Часто задаваемые вопросы
Почему URL нужно кодировать?
URL могут содержать только определённые символы ASCII. Такие символы, как пробелы, &, ?, # и не-ASCII символы, должны быть закодированы (процентно закодированы), чтобы обеспечить безопасную передачу через интернет.
Что такое процентное кодирование?
Процентное кодирование заменяет небезопасные символы знаком % с последующим двузначным шестнадцатеричным кодом. Например, пробел превращается в %20, а & — в %26.
Одинаково ли кодирование URL и кодирование HTML?
Нет. Кодирование URL (процентное кодирование) предназначено для URL. HTML-кодирование использует сущности вроде & для & или < для <. Они выполняют разные задачи в веб-разработке.
Когда использовать режим URL вместо режима компонента?
Используйте режим компонента при кодировании одного значения параметра запроса (например, поискового запроса). Используйте режим URL при кодировании полного пути URL или когда нужно, чтобы вся строка была безопасна для URL. Режим компонента кодирует больше символов, поскольку предполагает, что значение будет помещено внутри структуры URL.
Почему кодирование 'Hello World' даёт 'Hello%20World', а не 'Hello+World'?
В сегментах пути URL пробелы кодируются как %20. Кодирование пробелов знаком + используется только в данных application/x-www-form-urlencoded (отправка HTML-форм). Современная лучшая практика — последовательно использовать %20 в URL. Калькулятор использует %20 для кодирования URL.
Можно ли кодировать не-ASCII символы, такие как эмодзи или буквы с диакритикой?
Да. Не-ASCII символы сначала преобразуются в байты UTF-8, затем каждый байт процентно кодируется. Например, эмодзи ☺ (U+1F600) превращается в %F0%9F%98%80. Буквы с диакритикой, например é (U+00E9), превращаются в %C3%A9. Это стандартный подход, определённый в RFC 3986.
В чём разница между этим и HTML-кодированием сущностей?
Кодирование URL (процентное кодирование) предназначено для URL — оно преобразует символы в шестнадцатеричные коды %XX. HTML-кодирование сущностей преобразует символы в именованные или числовые сущности, такие как & для & или € для €. Они служат совершенно разным целям и не взаимозаменяемы.
Почему некоторые URL работают без кодирования, даже если содержат специальные символы?
Современные браузеры автоматически кодируют URL при переходе по ним или отправке форм. Однако при программном построении URL (в коде, вызовах API или серверных редиректах) кодировать нужно вручную, потому что сервер не сделает это за вас.
Есть ли риск двойного кодирования?
Да. Если закодировать URL, который уже был закодирован, %20 превратится в %2520, что неверно. Всегда проверяйте, не закодирован ли уже ваш ввод, перед повторным кодированием. Этот калькулятор показывает декодированный вывод, чтобы вы могли убедиться в правильности результата.
Как работать с закодированными URL в JavaScript?
Используйте decodeURIComponent() для декодирования и encodeURIComponent() для кодирования отдельных значений. Для полных URL используйте decodeURI() и encodeURI(), которые сохраняют символы структуры URL (/, ?, # и т. д.). Никогда не используйте escape() или unescape() — они устарели и некорректно обрабатывают Unicode.