Как пользоваться: Base64 кодер / декодер
- Выберите Encode, чтобы превратить текст в Base64, или Decode, чтобы превратить Base64 обратно в текст.
- Введите или вставьте текст в левое поле: результат обновляется сразу. Если в режиме кодирования вставить Base64, инструмент предложит переключиться на декодирование.
- Отметьте URL-safe для токенов и URL (
-и_вместо+и/, без добивки). - Чтобы закодировать файл, перетащите его в область для файлов. Используйте Copy as data URI, чтобы встроить его в HTML или CSS.
- Если декодированные данные двоичные (изображение, PDF и т. п.), вы увидите предпросмотр и кнопку Download file.
Что такое Base64?
Base64 — это способ кодирования двоичных данных с помощью только 64 печатных ASCII-символов: A–Z, a–z, 0–9, + и /, а = используется как дополнение. Он нужен, чтобы произвольные байты — изображения, ключи, сжатые данные — могли передаваться через системы, созданные для текста: электронную почту (MIME), JSON, HTML-атрибуты, HTTP-заголовки и переменные окружения. Base64 не является шифрованием: его может декодировать любой, поэтому не используйте его для защиты паролей и секретов.
Как работает кодирование Base64
Кодировщик берёт входные данные по три байта (24 бита) и делит их на четыре группы по 6 бит. Каждое 6-битное значение (0–63) соответствует одному символу алфавита. Например, текст Man — это байты 4D 61 6E, которые дают 6-битные значения 19, 22, 5, 46 → TWFu. Если длина входных данных не кратна трём, в конце добавляется один или два знака =. Поэтому результат Base64 всегда примерно на 33% больше исходных данных (4 символа на каждые 3 байта).
UTF-8 и проблема «btoa»
Base64 кодирует байты, а не символы, поэтому текст сначала нужно превратить в байты. Этот инструмент всегда использует UTF-8, кодировку веба. Это важно: встроенная в JavaScript функция btoa("é") выдаёт 6Q== (Latin-1), тогда как UTF-8 даёт w6k=, а btoa("👋") вызывает ошибку. Если в декодированной строке видны искажённые символы вроде é, скорее всего, исходные данные были закодированы в другой кодировке.
Стандартный Base64 и Base64URL
| Стандартный (RFC 4648 §4) | URL-safe (RFC 4648 §5) | |
|---|---|---|
| Символы 62 и 63 | + и / | - и _ |
| Дополнение | Требуется = | Обычно опускается |
| Где используется | MIME-почта, data URI, PEM-ключи, Basic Auth | JWT, параметры URL, имена файлов |
Декодер принимает оба варианта, с дополнением и без него, а также с переносами строк, поэтому можно вставлять значения из любого источника, включая полные URI вида data:image/png;base64,….
Типичные случаи использования
- Data URI — встраивание небольших иконок в CSS или HTML (см. также инструмент Image to Base64).
- HTTP Basic Auth — заголовок имеет вид
Basic+ Base64 отuser:password. - JWT — заголовок и полезная нагрузка представляют собой JSON в кодировке Base64URL; их можно проверить с помощью JWT Decoder.
- Секреты Kubernetes — значения в манифесте Secret закодированы в Base64.
Также ищут как: base64url, data uri онлайн, atob btoa.
Инструменты, которые хорошо сочетаются с Base64 кодер / декодер
- Кодирование и декодирование URL — Выполняйте процентное кодирование текста для безопасного использования в URL, декодируйте закодированные строки обратно в читаемый текст и разбирайте любой URL на части и параметры запроса.
- HTML-сущности — Экранируйте < > & ", чтобы текст безопасно отображался в HTML, преобразуйте акценты и символы в именованные или числовые сущности либо декодируйте HTML с сущностями обратно в обычный текст.
- Переводчик азбуки Морзе — Введите текст, чтобы получить код Морзе, или вставьте точки и тире, чтобы расшифровать их.
- Конвертер текста в двоичный код — Введите текст, чтобы увидеть его в виде двоичного кода, или вставьте двоичный код (а также hex, восьмеричный или десятичный), чтобы перевести его обратно в читаемый текст.
Часто задаваемые вопросы
Base64 — это шифрование?
Почему декодированный текст выглядит искажённым?
Почему результат Base64 длиннее исходных данных?
Что означает знак = в конце?
= означает, что последняя группа содержала 2 байта, два == — что 1 байт. URL-safe Base64 часто обходится без дополнения; этот декодер работает в обоих случаях.