Кодирование и декодирование Base64 онлайн

Преобразуйте текст, шестнадцатеричные байты или файлы в Base64 и декодируйте Base64 обратно в читаемый текст. Поддерживаются Base64URL, перенос строк по стандарту MIME и более десятка кодировок, а вся обработка выполняется локально в вашем браузере.

Работает полностью в браузере. Данные никуда не загружаются.

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

  1. Выберите «Кодировать» или «Декодировать» в верхней части инструмента.
  2. Введите или вставьте текст либо нажмите «Открыть файл», чтобы закодировать любой файл.
  3. При необходимости измените параметры «Вариант» (стандартный или безопасный для URL), «Дополнение», «Перенос строк» и «Кодировка текста». Результат обновляется по мере ввода.
  4. Скопируйте или скачайте результат либо нажмите «Поменять ввод и вывод местами», чтобы обработать его в обратном направлении.

Что такое Base64?

Base64 — это способ записать двоичные данные в виде текста. Любая последовательность байтов представляется 64 печатными символами ASCII: A-Z, a-z, 0-9, + и /, а символ = служит для дополнения. Благодаря этому двоичные данные, например изображения, ключи или архивы, можно без потерь передавать через системы, рассчитанные на текст: электронную почту, JSON, XML, URL и HTML.

Кодировщик читает входные данные по три байта (24 бита) и делит их на четыре группы по 6 бит. Каждое 6-битное значение от 0 до 63 выбирает один символ алфавита. Если длина входных данных не кратна трём, последняя группа дополняется одним или двумя знаками =. Поэтому результат Base64 всегда примерно на 33% больше исходных данных.

Base64 — это кодирование, а не шифрование. Декодировать его может кто угодно, поэтому никогда не используйте Base64, чтобы скрыть пароли или другие секреты.

Base64 и Base64URL

В стандартном Base64 используются символы + и /, которые имеют особое значение в URL и именах файлов. Base64URL, описанный в разделе 5 RFC 4648, заменяет их на - и _ и обычно обходится без дополнения. Он применяется в JSON Web Token, OAuth и везде, где значение должно находиться внутри URL. Декодер на этой странице автоматически принимает оба варианта.

Стандартный Base64Base64URL
Символы 62 и 63+ /- _
ДополнениеОбязательно, =Необязательно, обычно опускается
Безопасен в URL и именах файловНетДа
Типичное применениеЭлектронная почта (MIME), data URI, JSON, ключи PEMJWT, OAuth, параметры URL

Где применяется Base64

  • Почтовые вложения. MIME кодирует вложения в Base64 и разбивает их на строки по 76 символов. Чтобы получить такой формат, используйте параметр «Перенос строк».
  • Встраивание изображений и файлов. Data URI позволяют вставлять небольшие изображения, шрифты или значки прямо в HTML и CSS. См. Изображение в Base64 и Base64 в изображение.
  • API и конфигурация. В JSON нет двоичного типа, поэтому API передают файлы, подписи и ключи в виде строк Base64. Значения в Kubernetes Secrets тоже хранятся в Base64.
  • Аутентификация. При базовой HTTP-аутентификации (Basic) строка username:password передаётся в Base64, а JSON Web Token состоит из трёх сегментов Base64URL.
  • Сертификаты и ключи. Файлы PEM содержат данные DER в кодировке Base64, разбитые на строки по 64 символа.

Base64 в языках программирования

ЯзыкКодированиеДекодирование
JavaScript (браузер)btoa(binaryString)atob(base64)
Node.jsBuffer.from(str).toString('base64')Buffer.from(b64, 'base64').toString()
Pythonbase64.b64encode(data)base64.b64decode(data)
PHPbase64_encode($str)base64_decode($b64)
JavaBase64.getEncoder().encodeToString(bytes)Base64.getDecoder().decode(b64)
C#Convert.ToBase64String(bytes)Convert.FromBase64String(b64)
Gobase64.StdEncoding.EncodeToString(b)base64.StdEncoding.DecodeString(s)
Командная строкаbase64 file.binbase64 -d file.txt

В браузерах btoa принимает только символы до U+00FF. Чтобы закодировать текст Unicode, например кириллицу, сначала преобразуйте его в байты UTF-8, скажем с помощью TextEncoder, или воспользуйтесь этим инструментом: по умолчанию он кодирует текст в UTF-8.

Не только Base64

На Base64.is есть и остальные кодировки семейства Base-N: Base32, Base58, Base62, Base85, Ascii85, basE91, Base45, шестнадцатеричная и двоичная. Если вы не уверены, какая кодировка используется в строке, попробуйте определитель кодировки или сравните все варианты сразу на странице Все кодировки.

Спецификация

АлфавитA-Z a-z 0-9 + /
Размер результата4 символа на каждые 3 байта (около 133%)
Дополнение= до длины, кратной 4 символам
СтандартRFC 4648, раздел 4
Учёт регистраДа

Примеры

Исходные данные (UTF-8)Результат
Hello, World!SGVsbG8sIFdvcmxkIQ==
Base64.isQmFzZTY0Lmlz
你好5L2g5aW9

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

Загружаются ли мои данные на сервер?

Нет. Кодирование и декодирование выполняются полностью в вашем браузере с помощью JavaScript. Введённый текст и файлы не покидают ваше устройство, а после загрузки страницы инструмент продолжает работать даже без подключения к интернету.

Почему декодированный текст выглядит как набор непонятных символов?
Либо данные двоичные (например, изображение или архив), а не текстовые, либо они были закодированы в другой кодировке. Выберите другое значение в списке «Кодировка текста» (например, Windows-1251 или KOI8-R), переключите вывод в Hex или откройте Base64 в файл, чтобы скачать байты и определить их тип.
Что означают знаки равенства в конце?

Это дополнение (padding). Base64 работает блоками по четыре символа, и знак = заполняет последний блок, если длина входных данных не кратна трём байтам. Один знак = означает, что последний блок кодирует два байта, два знака — что он кодирует один байт.

Насколько увеличиваются данные после кодирования?

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

Является ли Base64 шифрованием?

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

Все инструменты Base64 и кодирования

Кодировки Base-N

Двоичный код (Base2)Текст в двоичный код и обратно, 8 бит на байт Восьмеричный код (Base8)Текст в восьмеричные значения байтов и обратно, от 000 до 377 Десятичный код (Base10)Текст в десятичные значения байтов (коды ASCII) и обратно Hex (Base16)Текст в Hex и Hex в текст, с разделителями и префиксами Base32Base32 по RFC 4648, Base32hex, Crockford и z-base-32 Base32hexBase32 по RFC 4648 с сортируемым алфавитом 0-9 A-V Crockford Base32Удобочитаемый Base32 без I, L, O и U с терпимым к опечаткам декодером z-base-32Удобный для людей Base32 в нижнем регистре без дополнения Base36Цифры и a-z: кодирование большим числом без учёта регистра Base45Base45 по RFC 9285 для QR-кодов и COVID-сертификатов Base58Base58 с алфавитами Bitcoin, Flickr и Ripple и поддержкой Base58Check Base58CheckBase58 с контрольной суммой на основе двойного SHA-256, как в адресах Bitcoin Base62Только цифры и буквы, для коротких ссылок и идентификаторов Base85Base85 с набором символов RFC 1924, как в Git и Python Ascii85Ascii85 от Adobe с сокращением z и необязательными ограничителями Z85Base85 из ZeroMQ (RFC 32), безопасный в строках исходного кода Base91basE91 Иоахима Хенке — компактная кодировка в ASCII UuencodeКодирование Unix-to-Unix со строками begin и end XxencodeВариант uuencode с алфавитом из букв и цифр

Инструменты для изображений

Изображение в Base64Любое изображение в виде data URI, тега img, CSS или Markdown Base64 в изображениеДекодирование Base64 и data URI в изображение с предпросмотром и скачиванием PNG в Base64PNG без потерь и с прозрачностью в виде Base64 data:image/png JPG в Base64Фотографии JPEG в виде Base64 data:image/jpeg с настройкой качества WebP в Base64Компактные изображения WebP в виде Base64 data:image/webp GIF в Base64Статичные и анимированные GIF в виде Base64 data:image/gif SVG в Base64Векторная графика SVG в виде Base64 data:image/svg+xml BMP в Base64Изображения BMP в Base64 с возможностью преобразования в PNG ICO в Base64Значки favicon и файлы .ico в виде Base64 data URI AVIF в Base64Изображения AVIF со сжатием AV1 в виде Base64 data:image/avif TIFF в Base64Сканы и изображения для печати в формате TIFF в виде текста Base64 Base64 в PNGСохранение строк Base64 и data:image/png в файлы PNG вместе с прозрачностью Base64 в JPGДекодирование Base64 в фото .jpg с ползунком качества при преобразовании Base64 в WebPДекодирование WebP из Base64 или преобразование изображений в компактный WebP Base64 в GIFСохранение GIF из Base64 вместе с анимацией или преобразование изображений в GIF Base64 в SVGДекодирование значков и графики SVG из Base64 обратно в файлы .svg Base64 в BMPДекодирование Base64 в .bmp или преобразование изображений в 32-битный BMP Base64 в ICOДекодирование значков из Base64 или создание favicon.ico из изображений Base64 Base64 в AVIFДекодирование AVIF из Base64 или преобразование в AVIF, где это поддерживается Base64 в TIFFСохранение сканов из Base64 в TIFF или преобразование изображений в несжатый TIFF