Загрузить файл
  1. base64hub
  2. Текстовые инструменты
  3. Калькулятор размера

Калькулятор размера Base64

Укажите размер в байтах, KB или MB или перетащите файл, чтобы узнать точную длину Base64 с дополнением и без, с переносами строк и префиксом data URI. Обратный режим переводит длину Base64 в байты.

Бесплатно без регистрации и ограничений Локально ничего не загружается Точно учитывает дополнение, переносы, префиксы Обновлено 27 окт. 2026 г.
Читается только размер, содержимое файла не открывается.

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

Как рассчитать размер Base64

  1. Оставьте выбранным режим Байты → длина Base64, введите Исходный размер и выберите единицу в поле Единица. В поле Единицы укажите 1 KB = 1000 B или 1 KiB = 1024 B, смотря по тому, как измерялся ваш размер.
  2. Или перетащите файл в поле. Читается только его размер, содержимое файла не открывается.
  3. Посмотрите таблицу: длина с дополнением и без, накладные расходы в процентах, свой перенос строк (задайте Длина строки и Перенос строки), строки MIME для почты, тело PEM, data: URI с MIME-типом файла и JSON-строка с кавычками.
  4. Для обратного направления переключитесь на Длина Base64 → байты, введите длину, укажите, включает ли она переносы строк, а в поле Дополнение выберите вариант: известно, неизвестно (0–2 ×) или нет. Если вставить сам Base64, ответ будет точным.

Формула под таблицей повторяет расчёт с вашими числами, и её удобно вставить в комментарий в коде или в тикет.

Формула и откуда берутся 33%

Base64 превращает каждые 3 байта в 4 символа, каждый из которых несёт 6 бит. Последняя группа дополняется знаками = до полных 4 символов, поэтому:

padded   = 4 × ⌈n ÷ 3⌉
unpadded = ⌈4n ÷ 3⌉
decoded  = (characters × 3 ÷ 4) − number of "=" signs

Для больших данных это постоянный прирост в 33,3%. Для крошечных доминирует дополнение: один байт становится четырьмя символами, это 300% накладных расходов. Таблица ниже получена тем же кодом, который выполняет калькулятор:

ИсходноBase64 с дополнениемБез дополненияMIME (76 + CRLF)PEM (64 + LF)
1 байт4244
100 байт136134138138
1 000 байт (1 KB)1 3361 3341 3701 356
1 024 байта (1 KiB)1 3681 3661 4021 389
1 048 576 байт (1 MiB)1 398 1041 398 1021 434 8961 419 949
5 000 000 байт (5 MB)6 666 6686 666 6676 842 1066 770 834

Переносы считаются между строками, после последней строки переноса нет. Некоторые кодировщики, например base64.encodebytes в Python, завершают \n каждую строку, включая последнюю; это ещё один перенос. Для data URI добавьте префикс: data:image/png;base64, занимает 22 символа.

Как уложиться в лимиты размера

Калькулятор полезнее всего до того, как что-то сломалось. Несколько типичных вопросов:

  • Лимиты на тело запроса. Если эндпоинт принимает 10 000 000 байт, а файл передаётся в поле JSON, файл может быть не больше примерно 7 500 000 байт минус остальной JSON. Переключитесь в обратный режим, введите лимит и вычтите имена своих полей.
  • Колонки в базе данных и переменные окружения. В VARCHAR(255) помещается Base64 максимум от 189 байт; для 190 байт нужно уже 256 символов.
  • Электронная почта. MIME-вложения переносятся на 76 символах с CRLF, так что в сумме растут примерно на 37%. Поэтому лимит на размер письма пропускает файлы размером лишь около 73% от него. Подробности в статье Base64 в электронной почте.
  • Data URI в HTML и CSS. Каждая встроенная картинка весит на треть больше файла и не кешируется отдельно. Когда это всё же окупается, объясняет статья Data URI и производительность.

Длина Base64 в коде

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

import math

def b64_len(n, padded=True):
    return 4 * math.ceil(n / 3) if padded else math.ceil(4 * n / 3)

print(b64_len(1048576), b64_len(1048576, padded=False))

Код выводит 1398104 1398102. В JavaScript длину с дополнением даёт 4 * Math.ceil(n / 3). Чтобы проверить уже готовую строку, уберите переносы строк, и len(s) * 3 // 4 - s.count("=") даст размер после декодирования. Если обратный режим сообщает о невозможной длине, например с остатком 1 от деления на 4, строка повреждена: прогоните её через валидатор Base64, чтобы найти, где именно.

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

Какая формула длины Base64?

С дополнением это 4 × ⌈n ÷ 3⌉ символов для n байт. Без дополнения формула ⌈4n ÷ 3⌉. Переносы строк, префикс data: и кавычки JSON добавляются сверху.

Какой размер будет у файла после декодирования из Base64?

Возьмите число символов Base64 (без переносов строк), умножьте на 3, разделите на 4 и вычтите по байту за каждый = в конце. Строка из 1 400 000 символов декодируется в 1 049 998–1 050 000 байт в зависимости от дополнения.

Какой самый большой файл можно отправить через API с лимитом запроса 10 MB?

Примерно 7,5 MB, если лимит равен 10 000 000 байт: 10 000 000 × 3 ÷ 4 = 7 500 000, минус окружающие строку поля JSON и заголовки. Чтобы получить точную цифру, введите лимит как длину в обратном режиме.

Снимает ли gzip накладные расходы Base64?

При передаче по сети в основном да. Gzip сжимает Base64 примерно до размера закодированных байтов: 1 000 000 случайных байт дают 1 333 336 символов Base64, которые gzip сжимает до 1 009 976 байт. Но лимиты, которые считают сам текст (поле JSON, колонка в базе данных или несжатый запрос), по-прежнему видят всю лишнюю треть.