Base32 кодер / декодер

Кодирование и декодирование Base32 с алфавитами RFC 4648, Crockford и z-base-32, паддингом и регистром — для текста и файлов, прямо в браузере.

Введённые данные и файлы остаются в браузере

Введите текст для кодирования или вставьте Base32 для декодирования — или перетащите файл ниже.

Перетащите файл сюда

Если выбран файл, он будет использован вместо текстового ввода.

Опции декодирования

Здесь появится результат кодирования или декодирования.

На этой странице

Кодируйте текст и файлы в Base32 и декодируйте обратно в одном из трёх алфавитов: RFC 4648, Crockford или z-base-32. Всё выполняет модуль WebAssembly, собранный из Rust, в вашем браузере — вставленные секреты никуда не отправляются.

Подробное описание функциональности

Base32 хранит 5 бит в каждом символе и использует только буквы и цифры, поэтому результат не портится при смене регистра, его легко набрать или продиктовать. Алфавит RFC 4648 (A–Z, 2–7) используется в секретах TOTP для приложений-аутентификаторов и в onion-адресах Tor. Crockford (0–9, A–Z без I, L, O и U) сделан для людей: при декодировании I и L читаются как 1, O — как 0, а дефисы пропускаются. z-base-32 — строчный алфавит, упорядоченный для удобства чтения, без паддинга.

Паддинг = до длины, кратной 8 символам, может быть обязательным, опциональным или отсутствовать. Регистр задаёт верхний или нижний регистр вывода, а Авто оставляет привычный для алфавита. Декодирование во всех алфавитах не зависит от регистра, а с опцией Разрешить пробелы/переводы строк пропускает пробелы и переносы.

Текст переводится в байты в выбранной кодировке (UTF-8, UTF-16LE, UTF-16BE, ASCII или ISO-8859-1). Файлы можно выбрать или перетащить на страницу; они читаются в Web Worker с индикатором прогресса и кнопкой Отмена. Если декодированные байты не являются текстом, инструмент сообщит об этом, а Скачать всё равно сохранит сырые байты.

Практические примеры

Три алфавита: hello кодируется в NBSWY3DP (RFC 4648), D1JPRV3F (Crockford) и pb1sa5dx (z-base-32).

Паддинг и регистр: Hi превращается в JBUQ==== при паддинге Обязательный и в JBUQ при Без паддинга; с Регистр = Нижний получится jbuq====.

Регистр не важен при декодировании: и JBSWY3DPEE======, и jbswy3dpee====== дают Hello!; строка без паддинга JBSWY3DPEE тоже декодируется, если паддинг Опциональный.

Терпимость Crockford: в алфавите Crockford и DIJPRV3F (буква I вместо 1), и d1jp-rv3f (строчные с дефисом) декодируются в hello.

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

  1. Введите текст или выберите файл

    Вставьте текст в поле Ввод (текст) либо перетащите файл на страницу или нажмите Выбрать файл.

  2. Выберите алфавит и паддинг

    В поле Алфавит выберите RFC 4648 (A-Z2-7), Crockford (0-9A-Z) или z-base-32. Настройте Паддинг, Регистр и Кодировка текста, если текст не в UTF-8.

  3. Закодируйте или декодируйте

    Нажмите Кодировать, чтобы получить Base32, или Декодировать, чтобы восстановить текст или байты. Используйте тот же алфавит, которым строка была закодирована.

  4. Скопируйте или скачайте

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

Советы и лучшие практики

  • Base32 примерно на 60% длиннее исходных данных (8 символов на каждые 5 байт); если регистронезависимость не нужна, Base64 компактнее.
  • Секреты TOTP из QR-кодов otpauth:// — это Base32 RFC 4648, часто без паддинга: выберите паддинг Опциональный. JBSWY3DPEHPK3PXP декодируется в 10 сырых байт — сохраните их через Скачать.
  • Строка без паддинга вроде JBSWY3DPEE отклоняется при паддинге Обязательный; переключите на Опциональный.
  • Алфавиты не взаимозаменяемы: pb1sa5dx даёт hello только в z-base-32, а как RFC 4648 это недопустимая строка.
  • Пробелы и переносы во вставленных ключах игнорируются, пока включено Разрешить пробелы/переводы строк.