Base64: кодирование и декодирование
Base64 для текста и файлов: обычный и URL-safe вариант, перенос строк, data: URI, предпросмотр картинок, кодировки.
Данные обрабатываются в браузере и никуда не отправляются
Ввод
Результат
Здесь появится результат
Введите данные слева - результат появится сразу
Как пользоваться
Выберите действие и вставьте данные - результат появляется сразу. «Кодировать» превращает текст или файл в строку Base64: можно выбрать обычный или URL-safe вариант (с «-» и «_», как в JWT и ссылках), убрать выравнивание «=», разбить на строки по 76 (MIME) или 64 (PEM) символа и получить готовый data: URI для вставки картинки в HTML или CSS. «Декодировать» принимает и обычный Base64, и Base64URL, и data: URI, пропускает пробелы и переносы строк.
Если в Base64 лежит не текст, а файл, инструмент определит тип по сигнатуре (PNG, JPEG, GIF, WEBP, PDF, ZIP и другие), покажет картинку и начало данных в hex и даст скачать файл. Для текста можно выбрать кодировку: UTF-8, windows-1251, KOI8-R или ISO-8859-1.
Частые ошибки
Вот что чаще всего идёт не так с Base64:
Base64 - это не шифрование
Base64 лишь записывает байты буквами и цифрами, чтобы их можно было передать в тексте (JSON, XML, письмо). Раскодировать его может любой, поэтому пароли и секреты в Base64 не защищены.
Кириллица превращается в кракозябры
Base64 кодирует байты, а не буквы. Если текст закодирован в windows-1251, а декодируется как UTF-8 (или наоборот), получатся нечитаемые символы. Выберите кодировку, в которой текст кодировали.
Обычный Base64 или Base64URL
В обычном Base64 используются «+» и «/», в Base64URL - «-» и «_», а выравнивание «=» часто отбрасывают. В URL и JWT нужен URL-safe вариант: «+» и «/» в адресе ломаются.
Потерянное выравнивание
Длина Base64 должна быть кратна четырём, недостающее добирается знаками «=». Многие системы их отбрасывают, и строгий декодер ругается. Этот инструмент принимает обе записи и сообщает о недостающих «=».
Переносы строк и пробелы
В письмах (MIME) и PEM Base64 разбит на строки по 76 или 64 символа, а при копировании могут добавиться пробелы. Инструмент их пропускает, но для JSON и HTTP-заголовков нужна строка без переносов.
Размер вырастает на треть
Base64 увеличивает данные примерно на 33 процента (3 байта превращаются в 4 символа). Для больших файлов в JSON это заметно: лучше отдавать файл отдельным запросом или по ссылке.
Частые вопросы
Отправляются ли мои данные на сервер?
Нет - 100%. Сайт целиком статический, у него нет серверной части. Кодирование и декодирование выполняются в вашем браузере; выбранные файлы читаются локально и никуда не загружаются.
Что такое data: URI?
Это способ вставить файл прямо в адрес: data:image/png;base64,.... Так картинки встраивают в HTML и CSS без отдельного запроса. Включите «Как data: URI» при кодировании файла, а при декодировании инструмент сам распознаёт такую запись.
Чем отличается Base64URL от обычного Base64?
Только двумя символами и необязательным выравниванием: «+» и «/» заменены на «-» и «_». Это нужно, чтобы строка безопасно помещалась в адрес, имя файла и токены JWT. Остальной алгоритм тот же.
Как закодировать картинку в Base64?
Выберите «Кодировать», затем «Файл», выберите картинку и при желании включите «Как data: URI». Готовую строку можно вставить в src тега img или в url() в CSS.
Как узнать, что внутри Base64?
Вставьте строку и выберите «Декодировать»: если это текст, он появится в поле, если файл - инструмент определит его тип, покажет картинку или начало данных и даст скачать результат.
Какой максимальный размер файла?
Для кодирования - до 10 МБ, для декодирования - до 5 МБ текста Base64. Всё происходит в браузере, поэтому на больших данных возможна короткая пауза.
Почему результат декодирования не похож на текст?
Скорее всего, это двоичные данные (картинка, архив, подпись) или текст в другой кодировке. Инструмент в этом случае показывает hex-дамп, а для текста можно выбрать windows-1251, KOI8-R или ISO-8859-1.
Похожие инструменты
Курс «Проектирование API и интеграций»
Глубокое погружение в REST, gRPC, SOAP, проектирование баз данных и брокеры сообщений (Kafka, RabbitMQ). Делегирование рутины нейросетям (ИИ). Перестанете бояться технических собеседований и начнете говорить с разработчиками на одном языке. Курс собран так, чтобы пробить зарплатный потолок и вырасти в грейде - ученики тому подтверждение.
Перейти к курсу на Stepik