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

Конвертер кодировок: текст в Base64, Base64url, Hex и обратно, попарный выбор «из → в». Проверка входа с позицией битого символа.

Результат можно передать дальше:Открыть результат в JWT-декодере

Формат входаИз:
Формат выводаВ:

Результат (Base64)

Байты проходят через UTF-8; конвертация считается в браузере.

-

Позиции ошибок — в знаках, а не в байтах

Нумерация позиции ведётся по Unicode-кодпоинтам: эмодзи и другие суррогатные пары считаются одним знаком, как их видит редактор. Base64url принимает вывод без паддинга «=», а при декодировании обычным Base64 допустимы оба варианта.

Последние результаты

Введённые данные остаются в истории этого браузера только до закрытия вкладки и не попадают в экспорт на странице «Закладки». Значения скрыты по умолчанию — раскрываются кнопкой «Показать».

Готовые примеры

Найдено: 7 из 7

Что это и как пользоваться

Конвертер работает с четырьмя представлениями одних и тех же байтов: текст, Base64, Base64url и Hex. Форматов два поля — «из» и «в», поэтому направление задаётся парой, а не отдельной кнопкой: base64 → hex тоже допустим.

Base64url отличается от Base64 алфавитом: вместо + и / идут - и _, а хвостовые = опускаются, поэтому строка безопасна в адресе и имени файла. Hex записывает каждый байт двумя символами 0-9A-F и даёт ровно вдвое больше знаков, чем было байтов.

Кодирование идёт по байтам UTF-8, а декодирование проверяет последовательность: набор байтов, не складывающийся в валидный UTF-8, даёт ошибку, а не подставляет символ-заглушку. Поэтому бинарный файл, закодированный в base64, обратно в текст может не раскодироваться — для него нужен режим hex.

Ошибка разбора указывает позицию в знаках, а не в байтах: для кириллицы это разные числа, и по сообщению видно, какой именно символ выпадает из алфавита.

Ввод ограничен 2 млн знаков — на больших файлах страница не пытается закодировать всё в памяти вкладки.

Когда пригодится

  • Вставить двоичные данные в текстовое поле: base64 проходит там, где протокол разрешает только текст.
  • Получить значение для URL: base64url не содержит символов, которые браузер или сервер трактует как разделитель.
  • Разобрать hex-дамп: перевести пары символов в читаемый текст или обратно.
  • Проверить, что строка действительно base64: неверный символ или лишний = дают ошибку с позицией.
  • Проверить, что сегмент base64url из токена раскодируется в тот же JSON, что и обычный base64.
  • Разложить значение на байты, когда нужно сверить его с дампом памяти или чужим логом.

Чего инструмент не делает

  • Кодирование не скрывает данные: base64 и hex раскодируются одной кнопкой, ключа нет.
  • Размер растёт: base64 примерно на треть (3 байта → 4 знака), hex вдвое.
  • Вложенные форматы не разбираются: страница не определяет, что закодировано — картинка, архив или обычная строка.
  • Невалидный ввод не прощается: пробел или перенос внутри base64-строки даёт ошибку, а не тихое игнорирование.
  • Промежуточное состояние не нужно: текст → hex, hex → base64url и обратные пары считаются напрямую, без ручной цепочки через base64.

Примеры

Вход
                    Hello
                  
Выход
                    SGVsbG8= (Base64)
                  
Вход
                    SGVsbG8=
                  
Выход
                    Hello (раскодировано)
                  

Частые вопросы

Чем Base64 отличается от Base64URL?

Base64URL — вариант Base64 для URL и имен файлов. Вместо + и / используются - и _, а хвостовые = опускаются. Обычный Base64 ломает ссылки, потому что + и / имеют специальное значение в адресе.

Зачем нужно кодирование, если оно не шифрует?

Кодирование меняет форму данных для безопасной передачи, например бинарных файлов в текстовом протоколе, но не скрывает содержимое. Любой может раскодировать Base64 обратно. Для настоящей защиты секретов используйте шифрование.

Почему Base64 увеличивает размер примерно на треть?

Каждые 3 байта исходных данных превращаются в 4 символа, потому что один символ Base64 несёт 6 бит вместо 8. Это цена представления произвольных байтов алфавитом из 64 символов.

Что такое символ дополнения =?

Хвостовые = дополняют последний блок до кратности 4 символам. Base64URL их обычно опускает, а классический Base64 требует. Лишние или недостающие = — частая причина ошибок декодирования.

Чем отличаются hex и Base64?

Hex кодирует каждый байт двумя символами 0-9 и A-F, увеличивая размер вдвое. Base64 эффективнее — примерно в 1,33 раза. Hex проще читать и отлаживать вручную, Base64 компактнее для передачи по сети.

Можно ли закодировать произвольный текст в URL-encode?

Да, процентное кодирование заменяет небезопасные символы на %XX. Это не сжатие и не шифрование: пробелы и спецсимволы просто становятся корректными для URL. Раскодировать их обратно можно тем же инструментом.