Перейти к содержимому
PulsarKit

Конвертировать Base64

Закодируйте текст или файл в Base64 или декодируйте его обратно. Поддерживаются URL-безопасный алфавит, Data URI и перенос строк по MIME.

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

.txt, .b64, .base64 · до 150 МБ

Как закодировать и раскодировать Base64

  1. 1

    Выберите кодирование или декодирование

    Один и тот же экран работает в обе стороны. Сначала задайте направление, чтобы по ошибке не закодировать уже закодированные данные.

  2. 2

    Вставьте текст или перетащите файл

    Можно закодировать файл любого типа. Для декодирования вставьте строку, Data URI или текстовый файл, который содержит такую строку.

  3. 3

    Скопируйте результат или скачайте его

    Декодированный результат автоматически определяется как текст или двоичные данные и получает имя с правильным расширением.

Зачем нужен Base64 и чего он не умеет

Base64 появился потому, что некоторые каналы передают только печатный текст: тело письма, строковые поля JSON, атрибуты HTML, заголовки HTTP. Он отображает каждые три байта в четыре символа из алфавита из 64 символов. Поэтому выход всегда примерно на треть больше входа. Это кодирование, а не шифрование: его можно полностью обратить без ключа, алфавит открыт. Если содержимое — секрет, Base64 никак его не защищает. Токен, вставленный в поле Base64, после кодирования остается таким же открытым, как и до него.

Data URI и URL-безопасный алфавит

Data URI оборачивает закодированные байты в префикс с указанием медиатипа. Так строку вида data:image/png;base64,… можно сразу использовать как источник изображения или CSS-фон. При кодировании файла медиатип берется из самого файла. При кодировании вставленного текста медиатип указываете вы. В URL-безопасном алфавите символы + и / заменяются на - и _, а завершающий знак выравнивания отбрасывается. У этих трех символов есть собственный смысл внутри URL или имени файла. При декодировании принимается любой алфавит, выбирать ничего не нужно, а переводы строк игнорируются. Поэтому строки с переносами в стиле MIME или PEM можно вставлять как есть.

Точные ошибки вместо бессмысленного результата

Строку Base64 с символом вне алфавита или с длиной, которая при делении на четыре дает остаток один, корректно декодировать нельзя. Вместо того чтобы возвращать усеченные байты, инструмент показывает позицию проблемного символа, чтобы его было легко найти в длинной строке. Data URI, где вместо Base64 использовано процентное кодирование, распознается отдельно. Случай частый и запутанный, потому что обе строки начинаются с префикса data: и на первый взгляд неразличимы. Такая строка отправляется в инструмент для декодирования URL, а не читается как Base64 с бессмысленным результатом.

Кодирование в браузере, а не на сервере

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

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

Base64 — это шифрование?

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

Что такое Data URI?

Это строка, которая одновременно несет медиатип файла и его содержимое в Base64, например data:image/png;base64,iVBOR… Ее можно использовать напрямую как источник изображения или CSS-фон и не делать отдельный сетевой запрос за маленьким ресурсом.

Зачем нужен URL-безопасный алфавит?

Потому что символы + и / имеют значение внутри URL и имен файлов, а = играет свою роль в строках запроса. В URL-безопасном варианте вместо них используются - и _, а выравнивание опускается. Такой формат ожидают JWT и многие API.

Почему результат длиннее исходных данных на треть?

Три байта по определению превращаются в четыре символа, поэтому размер вывода — 4/3 от исходного до любых переносов строк. Это накладные расходы за использование только печатных символов.

Как декодировать в файл, а не в текст?

В автоматическом режиме это уже так: если декодированные байты не образуют корректный текст UTF-8, вы получаете файл. Можно также принудительно выбрать режим файла и задать имя. Расширение исправляется по медиатипу, если он был указан в Data URI.

Почему появляется ошибка про недопустимый символ?

В строке есть что-то вне алфавита Base64, часто это случайная кавычка или HTML-сущность, попавшая при копировании. Либо строка оборвана. В сообщении об ошибке указывается точная позиция символа, на который нужно посмотреть.

Мой файл загружается на сервер?

Нет. Кодирование и декодирование выполняются локально в вашем браузере встроенными функциями, без сторонних библиотек и без сервера. После закрытия вкладки данные не сохраняются.

Похожие инструменты

Хеш файлаПолучите все контрольные суммы файла или строки за один проход и вставьте ожидаемое значение, чтобы сразу увидеть, совпадает ли оно.Форматер JSONРасставьте отступы, минифицируйте или только проверьте JSON-файл. Ошибки укажем по строке и столбцу, скрытые проблемы назовем прямо.URL EncodeЗакодируйте текст для URL через проценты или декодируйте его обратно. Три разные схемы кодирования и построчная обработка списка.Создать ZIPУпакуйте файлы или целую папку в один архив. Структура папок сохраняется, а уже сжатые фото и видео не пережимаются зря.Распаковать ZIPРаспакуйте архив прямо в браузере, в том числе с паролем. Опасные пути очищаются, поврежденные элементы показываются отдельно, а не скрываются.Изображение в Base64Конвертируйте изображение в строку Base64 или data URI для CSS, HTML или JSON — или вставьте строку Base64, чтобы вернуть файл изображения.