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

Текст ввода
0 символов

Бесплатный онлайн-инструмент для кодирования и декодирования Base64 с поддержкой UTF-8 / ASCII / ISO-8859-1 и вариантов Standard / URL-Safe / MIME. Размер и рост объема показываются в реальном времени.

Похожие

Что такое кодирование Base64?

Base64 — это схема преобразования бинарных данных в текст с помощью 64 печатных ASCII-символов. Она позволяет безопасно передавать двоичные данные через текстовые системы вроде HTTP-заголовков, JSON, XML и URL-параметров.

**Base64 не является шифрованием**. Это только изменение формата. Для защиты чувствительных данных нужен настоящий алгоритм шифрования, например AES.

**URL-Safe Base64** заменяет + и / на - и _, а также часто убирает = padding. Такой вариант используют JWT, OAuth PKCE и многие URL-ориентированные сценарии.

**MIME wrapping** добавляет переносы каждые 76 символов по RFC 2045 и нужен в первую очередь для email и некоторых многострочных форматов.

Инструмент использует **btoa / atob** в браузере вместе с безопасной обработкой UTF-8, поэтому все вычисления выполняются локально без отправки данных на сервер.

Варианты использования

  • Отладка JWT
  • Кодирование Basic Auth
  • Разработка OAuth / PKCE
  • Отладка API-полей в Base64
  • Встраивание изображений через Data URI
  • Кодирование почтовых вложений в MIME

Как использовать

  1. Выберите режим Encode или Decode
  2. Выберите вариант Standard, URL-Safe или MIME
  3. Вставьте текст или Base64-строку
  4. Проверьте статистику размера
  5. Скопируйте результат

Функции

  • Переключение Encode / Decode в один клик
  • Поддержка UTF-8, ASCII и ISO-8859-1
  • Три варианта вывода: Standard, URL-Safe и MIME
  • Статистика размера в реальном времени
  • Понятные сообщения об ошибках
  • Перетаскиваемый разделитель на ПК
  • Отдельные вкладки для мобильных устройств

Примеры кода

Кодирование Base64 в JavaScript

// Encode (UTF-8 safe)
function b64Encode(str) {
  return btoa(unescape(encodeURIComponent(str)));
}

// Decode (UTF-8 safe)
function b64Decode(str) {
  return decodeURIComponent(escape(atob(str)));
}

Кодирование Base64 в Python

import base64

encoded = base64.b64encode('Hello мир'.encode('utf-8'))
print(encoded.decode())

Кодирование Base64 в Java

import java.nio.charset.StandardCharsets;
import java.util.Base64;

String encoded = Base64.getEncoder().encodeToString("Hello мир".getBytes(StandardCharsets.UTF_8));

Часто задаваемые вопросы

Base64 — это то же самое, что шифрование?

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

Инструмент AES

Насколько увеличивается размер после Base64?

Обычно примерно на 33%. Каждые 3 байта исходных данных становятся 4 символами Base64, поэтому результат больше оригинала.

Статистика Base64

Чем отличаются Standard, URL-Safe и MIME?

Standard — обычный Base64. URL-Safe заменяет + и / на - и _, поэтому подходит для JWT и URL-параметров. MIME добавляет переносы каждые 76 символов и используется в email-вложениях.

URL-Safe Base64MIME Base64

Как декодировать header или payload JWT?

JWT использует формат Base64URL. Выберите режим URL-Safe и вставьте первый (header) или второй (payload) сегмент JWT. Третий сегмент — это подпись.

Инструмент JWT

Что такое padding (=) в Base64?

Результат Base64 должен иметь длину, кратную 4. Если длина исходных данных не кратна 3 байтам, в конце добавляется = для выравнивания.

Инструмент Base64 Padding

Почему btoa и atob в JavaScript не поддерживают кириллицу напрямую?

Потому что эти API работают с Latin-1 строками, где символ считается одним байтом. Для UTF-8 текста сначала нужно преобразовать строку в безопасное байтовое представление.

Что такое Data URI Scheme и как встроить изображение через Base64?

Data URI позволяет вставить данные прямо в URL в формате `data:[<mediatype>][;base64],<data>`. Это удобно для маленьких иконок и CSS-фонов, но не для больших файлов, потому что Base64 увеличивает размер.

Инструмент Data URIBase64 в изображение

Глоссарий

RFC 4648
Официальный стандарт IETF для Base16 / Base32 / Base64, определяющий стандартный и URL-Safe варианты.URL-Safe Base64Base64 Padding
RFC 2045 (MIME)
Стандарт MIME, который ввел Base64 как формат передачи содержимого электронной почты.MIME Base64
Base64URL
URL-безопасный вариант Base64: + меняется на -, / — на _, а padding часто убирается.URL-Safe Base64JWT
MIME Base64
Вариант Base64 с переносами строк каждые 76 символов по RFC 2045.MIME Base64
Padding
Символ =, который дополняет строку Base64 до длины, кратной 4.Base64 Padding
Алфавит Base64
Набор символов A-Z, a-z, 0-9, + и /, используемый в стандартном Base64.
btoa / atob
Нативные браузерные API для кодирования и декодирования Base64.
Data URI Scheme
Формат URI, в котором данные встраиваются прямо в URL.Data URIBase64 в изображение
HTTP Basic Authentication
Способ HTTP-аутентификации, где username:password кодируется в Base64 и передается в Authorization header.Конструктор Auth Header
Рост размера Base64
Показатель того, насколько данные увеличиваются после кодирования Base64. Обычно около 33%.

Сравнение трех вариантов Base64

ОсобенностьStandardURL-SafeMIME
Спецсимволы+ /- _+ /
Padding (=)ИспользуетсяЧасто опускаетсяИспользуется
Перенос строкиНетНетКаждые 76 символов
СтандартRFC 4648 §4RFC 4648 §5RFC 2045
Типичные случаиData URI, общее кодированиеJWT, URL-параметры, имена файловПочтовые вложения, SMTP

Сравнение кодировок семейства Base

КодировкаЧисло символовОсобенности набора символовУвеличение размераТипичное применение
Base16 (Hex)160-9, A-F100%Отладка, отображение хэшей
Base3232A-Z, 2-760%DNS, ключи TOTP, QR-коды
Base5858Без 0/O/I/l38%Биткоин-адреса, криптовалюты
Base6262A-Z, a-z, 0-934%Короткие URL, кодирование ID
Base6464A-Z, a-z, 0-9, +, /33%Data URI, MIME, JWT (URL-Safe)

Authoritative References