Base64 декодировать и кодировать

Текст, картинки и PDF в обе стороны — прямо в браузере

Исходный
Можно нажать Ctrl V или перетащить файл — результат появится справа
Пусто
Результат

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

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

  1. Вставьте строку Base64 или текст в поле «Исходный» либо перетащите файл
  2. Направление выберется само: «Декодировать» или «Кодировать» — его можно переключить в шапке результата
  3. При декодировании покажем, что внутри: текст, картинку, PDF или другой файл
  4. Скопируйте результат или скачайте его файлом

Примеры

Декодировать строку в текст

Строка 0J/RgNC40LLQtdGCLCDQvNC40YAh после декодирования превращается в «Привет, мир» с восклицательным знаком в конце. Байты здесь в UTF-8; если бы текст был в старой кодировке Windows-1251, мы бы это заметили, написали об этом и предложили переключатель кодировки.

0J/RgNC40LLQtdGCLCDQvNC40YAh

Закодировать JSON для заголовка или конфига

Короткий JSON {"id":1057,"status":"paid"} в Base64 выглядит как eyJpZCI6MTA1Nywic3RhdHVzIjoicGFpZCJ9. Компактный JSON (без пробела и переноса после скобки) начинается с eyJ, если первым идёт ключ в кавычках: так легко узнать его в чужих логах. Если результат декодирования оказался JSON, появится кнопка «Открыть в JSON».

eyJpZCI6MTA1Nywic3RhdHVzIjoicGFpZCJ9

Картинка из data URL

Вставьте строку вида data:image/png;base64,iVBORw0KGgo… целиком: префикс мы уберём сами, а по первым байтам поймём, что это PNG, и покажем картинку с размером в пикселях и байтах. Её можно скачать как base64.png.

Что такое Base64 и зачем он нужен

Base64 — способ записать любые байты обычными печатными символами. Каждые три байта превращаются в четыре символа из набора A–Z, a–z, 0–9, «+» и «/». Поэтому данные становятся примерно на треть длиннее, зато их можно безопасно вставить в JSON, XML, письмо, заголовок HTTP или адресную строку. Формат описан в RFC 4648.

Если длина данных не делится на три, в конце добавляется один или два знака «=». Например, строка «Hello» превращается в SGVsbG8=. Эти знаки называются выравниванием, и многие сервисы допускают их отсутствие.

Важно помнить: Base64 — не шифрование. Любой человек превратит строку обратно в данные за секунду, поэтому пароли и ключи в Base64 не защищены. Это только способ упаковки.

Base64 в картинку, PDF и файл

Частая задача — получить из строки Base64 настоящий файл: API вернуло скан документа, накладную или фото одним полем. Вставьте строку, и по первым байтам мы определим тип. Картинки PNG, JPEG, GIF, WebP и SVG покажем на клетчатом фоне с размером. PDF покажем карточкой с размером и, когда число страниц видно без разбора, с количеством страниц. ZIP, XLSX и DOCX опознаются по типу и размеру.

Подсказка для ручной проверки: Base64 любого PDF начинается с JVBERi0 (это «%PDF-»), PNG — с iVBORw0KGgo, JPEG — с /9j/, GIF — с R0lGOD. Если ваша строка начинается иначе, возможно, перед ней лишний префикс или это не файл.

Файл скачивается своим типом: base64.png, base64.pdf, для остальных бинарных данных — base64.bin, для текста — base64.txt.

В обратную сторону работает так же просто. Перетащите картинку, PDF или любой файл до 20 МБ — получите строку Base64. Сам файл в редактор не выводится: слева будет карточка с именем, типом, размером и превью картинки. Для вставки в HTML или CSS выберите вид «data URL»: к строке добавится префикс с типом файла, например data:image/png;base64,….

Base64url, переносы строк и data URL

Кроме обычного Base64 есть вариант для адресов и токенов — Base64url (RFC 4648, раздел 5). В нём «+» заменён на «-», «/» на «_», а «=» в конце часто опускают. Именно так записаны части JWT. Мы принимаем оба варианта и не просим ничего править руками. Строка Pj4+Pz8/ в Base64url выглядит как Pj4-Pz8_.

Принимаем и строки с пробелами и переносами строк, и префикс data URL. Почта и некоторые системы режут Base64 на строки по 76 символов (MIME, RFC 2045), поэтому при кодировании есть переключатель «Перенос по 76 символов». Что мы поправили при декодировании, написано строкой под результатом: «Убрали переносы строк», «Base64url».

Если в строке попался чужой символ, ошибка покажет его и позицию: «Символ «#» в позиции 120 — не Base64». А если строка обрывается, скажем, лишним последним символом, мы так и напишем: «Base64 обрывается: не хватает символов в конце».

Кодировки текста: UTF-8 и Windows-1251

Base64 кодирует байты, а не буквы, поэтому один и тот же русский текст даёт разные строки в разных кодировках. «Привет» в UTF-8 — 0J/RgNC40LLQtdGC, а в Windows-1251 — z/Do4uXy. При декодировании мы сначала читаем байты как UTF-8. Если это не получилось, пробуем Windows-1251 и пишем «Текст в Windows-1251» с переключателем «UTF-8 · Windows-1251 · KOI8-R». Так выгрузки из старых систем не превращаются в кракозябры.

При кодировании текста кодировку выбираете вы: по умолчанию UTF-8, для старых систем можно выбрать Windows-1251.

Base64 в коде и в 1С

В JavaScript есть atob и btoa, но они работают только с латиницей: русский текст нужно сначала превратить в байты через TextEncoder. В Python — модуль base64, функции b64encode и b64decode (для Base64url — urlsafe_b64decode). В командной строке Linux — base64 и base64 -d.

В 1С обычная пара — функции Base64Значение и Base64Строка. Первая превращает строку Base64 в двоичные данные, вторая делает обратное. Чтобы получить текст, двоичные данные читают функцией ПолучитьСтрокуИзДвоичныхДанных с кодировкой UTF-8, а чтобы закодировать текст, сначала вызывают ПолучитьДвоичныеДанныеИзСтроки. Если в ответе внешнего сервиса поле с файлом пришло в Base64, вставьте его сюда и убедитесь, что это нужный файл, до того как писать код.

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

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

Вставьте строку в поле «Исходный». Направление «Декодировать» выберется само, если текст целиком похож на Base64. Результат появится сразу: текст, картинка или карточка файла.

Как превратить Base64 в картинку или PDF

Вставьте строку, в том числе с префиксом data:image/png;base64,. Тип определяется по первым байтам, картинку мы покажем, а файл можно скачать как base64.png или base64.pdf.

Как перевести файл в Base64

Перетащите файл в поле «Исходный» или нажмите «Открыть файл». Подходят картинки, PDF и любые файлы до 20 МБ. Результат можно скопировать или скачать как имя.b64.txt.

Чем Base64 отличается от Base64url

В Base64url вместо «+» и «/» стоят «-» и «_», а знаки «=» в конце часто опущены. Он безопасен в адресах и используется в JWT. Мы декодируем оба варианта.

Почему вместо русского текста получились кракозябры

Скорее всего, исходный текст был закодирован не в UTF-8, а в Windows-1251 или KOI8-R. Переключите кодировку под результатом.

Можно ли хранить пароли в Base64

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

Куда уходят мои данные

Никуда. Всё обрабатывается в браузере, а запросы на чужие адреса запрещены заголовком безопасности. Сайт загружает только свои страницы и файлы — это легко проверить во вкладке «Сеть» в инструментах разработчика.

Другие инструменты

Статьи по теме