Загрузить файл
  1. base64hub
  2. Инструменты для файлов
  3. Файл в Base64

Файл в Base64

Перетащите любой файл или несколько и скопируйте Base64 обычной строкой, data URI или JSON-объектом. Большие файлы читаются по частям прямо в браузере, и ничего не загружается на сервер.

Бесплатно без регистрации и ограничений Локально ничего не загружается Пакетно несколько файлов в одном массиве JSON Обновлено 27 окт. 2026 г.
Перетащите файлы сюда, вставьте или выберите их
Ввод –Результат –Размер –

Обработка идёт в браузере. Эта страница не может никуда отправить ваши данные – откуда мы это знаем

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

  1. Перетащите в поле один или несколько файлов, выберите их через диалог или вставьте скопированные файлы через Ctrl+V.
  2. Выберите Формат вывода: Чистый Base64 (здесь он по умолчанию), Data URI, HTML <a download>, JSON, а также обёртки для изображений и шрифтов.
  3. По желанию: URL-safe (- _) заменяет + и / на - и _; Перенос по 76 разбивает строки для почты MIME.
  4. Нажмите Скопировать результат или Сохранить как .txt, чтобы получить filename.ext.b64.txt.

Если файлов несколько, в списке видно имя каждого, его исходный и закодированный размер. Показать выводит один результат, а Скопировать всё как JSON копирует все файлы массивом объектов {name, type, size, data}. Такой массив удобно вставить в файл с фикстурами или в скрипт начального заполнения базы.

Форматы вывода для любых файлов, кроме картинок

Формат выводаРезультат для report.zipЗачем нужен
Чистый Base64UEsDBBQAAAAI...поля API, переменные окружения, значения в конфигах
Data URIdata:application/zip;base64,UEsDBBQA...URL в HTML или JavaScript
HTML <a download><a href="data:application/zip;base64,..." download="report.zip">report.zip</a>самодостаточная ссылка на скачивание
JSON{"name": "report.zip", "type": "application/zip", "size": 323, "data": "UEsDBBQA..."}тестовые фикстуры, собственные эндпоинты загрузки

Ключи JSON фиксированы (name, type, size, data). Если API ждёт другие имена, переименуйте их после вставки. В size лежит исходный размер файла в байтах, по нему получатель может проверить, что длина после декодирования совпала.

MIME-тип в data URI и поле type в JSON берутся из браузера. Если браузер такого файла не знает, тип подбирается по расширению, а когда не помогает и оно, ставится application/octet-stream. Сам Base64 от этого никогда не зависит, меняется только метка.

Бинарные файлы в секретах CI и конфигах

Файл целиком часто кодируют ради хранилища секретов, которое умеет держать только текст: переменные CI, файлы .env, Kubernetes Secrets. Хранилища ключей для подписи, сертификаты и файлы сервисных аккаунтов кладутся туда одной строкой Base64, а в пайплайне восстанавливаются:

echo "$KEYSTORE_B64" | base64 -d > release.keystore

Перенос по 76 для этого держите выключенным: интерфейс хранилища секретов или оболочка часто портят значение с переводами строк. Kubernetes хранит так каждое значение в разделе data:, а декодер Kubernetes Secret читает их обратно.

Как узнать, что закодировано, по первым символам

Большинство форматов начинается с фиксированной сигнатуры, поэтому начало Base64 выдаёт тип файла без декодирования. Несколько частых вариантов:

Тип файлаBase64 начинается с
PDFJVBERi0
ZIP, DOCX, XLSX, PPTX, JAR, APKUEsDB
gzip (.gz, .tgz)H4sI
7-ZipN3q8ryc
EXE или DLL для WindowsTVqQ (большинство файлов), всегда TV
Бинарник ELF для Linuxf0VMRg
База данных SQLiteU1FMaXRlIGZvcm1hdCAz
MP3 с тегом ID3SUQz
PNGiVBORw0KGgo
Объект JSONeyJ (для {")

Список подлиннее есть в статье о типичных префиксах Base64. При декодировании в Base64 в файл тип определяется точно так же.

Размер, память и большие файлы

Результат в Base64 составляет 4/3 от входа с округлением вверх до кратного 4 числа символов. Файл в 1 МБ превращается в 1 398 104 символа, а с Перенос по 76 к ним добавляется ещё 18 396 переводов строки. Счётчики под результатом показывают оба размера и накладные расходы в процентах.

Всё выполняется во вкладке браузера, так что на практике предел задаёт память вашего устройства:

  • В текстовом поле показываются первые 4 МБ результата; Скопировать результат и Сохранить как .txt всегда работают с полным результатом.
  • Скопировать результат отключается, если результат больше примерно 48 МБ.
  • Файлы больше примерно 48 МБ кодируются по частям, и результат можно получить только через Сохранить как .txt.

Если файл настолько большой, стоит спросить себя, подходит ли Base64 для передачи. Загрузка multipart или прямая передача двоичных данных обходятся без 33% накладных расходов и всплеска потребления памяти на обеих сторонах. Калькулятор размера покажет размер в Base64 ещё до начала.

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

Linux с GNU coreutils (-w 0 отключает перенос на 76 символах, который включён по умолчанию):

base64 -w 0 report.zip > report.zip.b64

macOS (там base64 по умолчанию не переносит строки):

base64 -i report.zip -o report.zip.b64

Windows PowerShell:

[Convert]::ToBase64String([IO.File]::ReadAllBytes("C:\data\report.zip")) | Set-Content report.zip.b64

Python:

import base64
from pathlib import Path

encoded = base64.b64encode(Path("report.zip").read_bytes()).decode("ascii")

Как кодировать большие файлы потоково, не загружая их в память целиком, смотрите в статьях Base64 в Python, Node.js, Java и PHP.

Частые проблемы

  • Переводы строк в результате. GNU base64 по умолчанию переносит на 76 символах, openssl base64 на 64, а certutil -encode ещё и добавляет строки-заголовки. Многим JSON API и переменным окружения нужна одна строка. Используйте -w 0, openssl base64 -A или этот инструмент с выключенным переносом.
  • application/octet-stream в data URI. Браузер не знал тип, а расширения не оказалось в списке инструмента. Байты при этом верные; если получателю важен тип, замените MIME-тип в префиксе.
  • Кнопка «Скопировать результат» неактивна. Результат больше предела копирования, примерно 48 МБ. Сохранить как .txt по-прежнему работает, а большинство программ, которым нужна эта строка, умеют читать её из файла.
  • В JSON у одного файла "data": null. В пакетном режиме файлы больше примерно 48 МБ кодируются по частям только для скачивания, поэтому Скопировать всё как JSON не включает их данные. Закодируйте такой файл отдельно и сохраните как .txt.
  • Декодированный файл меньше оригинала. Строку обрезали. Сравните длину после декодирования со значением size в выводе JSON.
  • Кракозябры, хотя на входе был текст. Base64 сохраняет байты как есть, вместе с исходной кодировкой символов. Текстовый файл в UTF-16 декодируется в UTF-16, а не в UTF-8. Для текста, который вы вводите сами, используйте Текст в Base64: там можно выбрать кодировку.

Вопросы и ответы

Какие файлы можно конвертировать в Base64?

Любые. Base64 кодирует байты, и ему всё равно, что они означают, поэтому исполняемые файлы, архивы, базы данных и документы кодируются так же, как текст. Страницы для отдельных форматов вроде PDF в Base64 лишь добавляют подсказки по этому формату.

Есть ли ограничение на размер файла?

Фиксированного ограничения нет: вся работа идёт в браузере. Результат примерно до 48 МБ можно скопировать, дальше используйте Сохранить как .txt. Файлы больше примерно 48 МБ кодируются по частям, и результат доступен только для скачивания.

Как закодировать файл в Base64 в Windows без дополнительных программ?

PowerShell справится одной строкой: [Convert]::ToBase64String([IO.File]::ReadAllBytes("C:\path\file.bin")). Подойдёт и certutil -encode, но он добавляет строки -----BEGIN CERTIFICATE----- и переносит вывод, так что всё это потом придётся вычищать.

Какой MIME-тип указывается в data URI?

Тот, который браузер сообщает для файла. Если браузер тип не знает, инструмент угадывает его по расширению, а в крайнем случае ставит application/octet-stream. Если получателю нужен конкретный тип, поправьте префикс вручную.

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

Воспользуйтесь Base64 в файл. Он определяет тип файла по декодированным байтам и предлагает подходящее расширение.