Base64 Encode Online

Кодирование текста или бинарных данных в Base64

Обычный текст

Base64

Работает локально · Безопасно вставлять секреты
Вывод Base64...

Что такое кодирование Base64?

Base64 — это схема кодирования из двоичных данных в текст, которая представляет двоичные данные с помощью набора из 64 печатаемых ASCII-символов. Она была разработана для безопасной передачи двоичных данных через системы, работающие только с текстом — такие как электронная почта (MIME), HTTP-заголовки и XML. Название «Base64» происходит от 64 символов, используемых в алфавите кодирования.

Кодирование работает следующим образом: три байта входных данных (24 бита) разбиваются на четыре группы по 6 бит. Каждое 6-битное значение соответствует одному символу алфавита Base64. Если длина входных данных не кратна трём, добавляются символы заполнения (=) для достижения кратности четырём выходным символам. Результат — строка примерно на 33% больше исходных данных, но безопасная для передачи в виде обычного текста.

Зачем использовать этот инструмент?

Этот кодировщик корректно обрабатывает текст в Unicode, поддерживает стандартный и URL-safe варианты и полностью кодирует в вашем браузере — ваши данные никогда не покидают ваш компьютер.

Мгновенное кодирование
Результаты появляются по мере ввода. Не нужно нажимать кнопки и ждать ответа сервера.
🔗
Переключатель URL-safe
Переключайтесь между стандартным (+/) и URL-safe (-_) кодированием одним кликом. Символы заполнения автоматически удаляются для URL-safe варианта.
🔒
Полностью на стороне клиента
Всё кодирование происходит локально в вашем браузере с использованием нативного API btoa и TextEncoder. Ничего не отправляется ни на какой сервер.
🎛️
Поддержка Unicode
Корректно обрабатывает полный Unicode, включая эмодзи, символы CJK и любой текст UTF-8, используя encodeURIComponent перед кодированием.

Как использовать этот онлайн-кодировщик Base64

Без аккаунта, без установки, без загрузки — вставьте текст, и закодированный результат появится мгновенно.

  1. 1
    Вставьте или введите текст
    Щёлкните по полю ввода и вставьте любой текст — обычные строки, JSON-нагрузки, API-ключи, адреса электронной почты или любое содержимое UTF-8. Кодирование обновляется в реальном времени по мере ввода.
  2. 2
    Выберите вариант
    Выберите Стандартный (RFC 4648) для MIME, HTTP Basic Auth и общего использования. Выберите URL-безопасный для JWT-токенов, параметров строки запроса, имён файлов и любого контекста, где + или / нарушат разбор URL.
  3. 3
    Скопируйте результат
    Нажмите «Копировать», чтобы отправить строку Base64 в буфер обмена одним щелчком. Результат готов к вставке непосредственно в код, конфигурационный файл или API-запрос.
  4. 4
    Используйте в своём приложении
    Вставьте закодированную строку туда, где она нужна — заголовки Authorization, URI данных, поля JSON, переменные среды или Kubernetes-секреты. Для URL-безопасного вывода отступы уже удалены.

Алфавит Base64

Base64 использует 64 символа: заглавные A–Z (значения 0–25), строчные a–z (26–51), цифры 0–9 (52–61) и два специальных символа для значений 62 и 63. Стандартный вариант RFC 4648 использует + и /; URL-safe вариант заменяет их на - и _, чтобы избежать конфликтов в URL и именах файлов.

A–Z0–25ABCDEFGHIJKLMNOPQRSTUVWXYZ
a–z26–51abcdefghijklmnopqrstuvwxyz
0–952–610123456789
+, /62–63Стандарт RFC 4648 — избегать в URL и именах файлов
-, _62–63URL-safe вариант (RFC 4648 §5) — безопасен в URL и именах файлов

Стандартный Base64 vs URL-safe

Стандартный алфавит Base64 использует + и /, которые являются специальными символами в URL и путях к файлам. URL-safe вариант заменяет их на - и _ и обычно опускает символы заполнения =. Используйте URL-safe кодирование для JWT-токенов, данных в строках запроса, имён файлов и любого контекста, где + или / могут быть неправильно интерпретированы.

ВводСтандартныйURL-safe
ManTWFuTWFu
HelloSGVsbG8=SGVsbG8
AQQ==QQ
1+1=2MSsxPTI=MSsxPTI

Распространённые случаи использования

Вложения электронной почты (MIME)
SMTP был разработан для 7-битного ASCII-текста. Кодирование Base64 используется стандартом MIME для безопасного встраивания двоичных вложений (изображения, PDF, исполняемые файлы) в электронные письма.
Data URI
Встраивайте изображения, шрифты и другие ресурсы прямо в HTML или CSS с помощью data URI: data:image/png;base64,... — исключая лишние HTTP-запросы для небольших ресурсов.
Полезные данные API
REST API часто требуют кодирования двоичных полей (загрузка файлов, криптографические ключи, сертификаты) в Base64 при встраивании в JSON, поскольку JSON не имеет двоичного типа.
Файлы конфигурации
Секреты Kubernetes, переменные среды и конфигурации CI/CD обычно хранят двоичные секреты и сертификаты в виде строк Base64, чтобы избежать проблем с экранированием.
HTTP Basic Auth
Заголовок HTTP Authorization: Basic кодирует учётные данные как Base64(логин:пароль). Это не шифрование — оно лишь обеспечивает кодирование для передачи в заголовках.
JWT-токены
JSON Web Token используют URL-safe Base64 (base64url) для кодирования сегментов заголовка и полезной нагрузки, делая токен безопасным для использования в URL и HTTP-заголовках без экранирования.

Когда НЕ следует использовать Base64

Base64 — это транспортная кодировка, а не механизм безопасности. Вот наиболее распространённые неправильные применения, вызывающие реальные проблемы в продакшене:

Не для безопасности или шифрования
Base64 тривиально обратим — для его декодирования не нужен ни ключ, ни пароль. Любой, кто видит строку Base64, может декодировать её за секунды. Никогда не используйте Base64 как замену шифрованию, хешированию или контролю доступа.
Не для сжатия
Base64 увеличивает размер выходных данных примерно на 33%. Это противоположность сжатия. Не используйте его для уменьшения размера нагрузки — используйте вместо этого gzip, Brotli или zstd.
Не для хранения бинарных файлов
Хранение больших бинарных файлов в виде Base64 в базах данных или JSON API значительно расходует место на диске и память. Используйте объектное хранилище (S3, R2, Cloudflare) и отдавайте бинарные данные напрямую.

Примеры кода

Как закодировать строку в Base64 на популярных языках и в различных средах:

JavaScript (browser)
// Standard Base64
const encoded = btoa(unescape(encodeURIComponent(text)))

// URL-safe Base64 (no padding)
const urlSafe = btoa(unescape(encodeURIComponent(text)))
  .replace(/\+/g, '-').replace(/\//g, '_').replace(/=/g, '')
Node.js
// Standard
const encoded = Buffer.from(text).toString('base64')

// URL-safe
const urlSafe = Buffer.from(text).toString('base64url')
Python
import base64

# Standard
encoded = base64.b64encode(text.encode()).decode()

# URL-safe (no padding)
url_safe = base64.urlsafe_b64encode(text.encode()).decode().rstrip('=')
CLI (bash)
# Standard
echo -n "Hello, World!" | base64

# URL-safe (requires sed)
echo -n "Hello, World!" | base64 | tr '+/' '-_' | tr -d '='

Онлайн-кодировщик Base64 vs. другие инструменты

Существует несколько онлайн-кодировщиков Base64. Ключевые отличия для ежедневной работы разработчика — конфиденциальность, корректность и поддержка вариантов.

Полностью приватно — без сервера
Этот кодировщик работает полностью в вашем браузере, используя нативный API btoa и TextEncoder. Ваш текст никогда не передаётся ни на какой сервер — безопасно для API-ключей, токенов и секретов.
Корректное кодирование Unicode
Многие онлайн-инструменты Base64 молча портят не-ASCII-ввод. Этот инструмент корректно обрабатывает весь Unicode — эмодзи, CJK, арабский и весь текст UTF-8 — предварительно кодируя в байты UTF-8.
Оба варианта в одном месте
Большинство инструментов предлагают только стандартный Base64. Этот кодировщик обеспечивает оба варианта: стандартный (+/) и URL-безопасный (-_) с автоматической обработкой отступов — замена символов вручную не требуется.

Часто задаваемые вопросы

Base64 — это то же самое, что шифрование?
Нет. Base64 — это схема кодирования, а не шифрование. Оно тривиально обратимо для любого — для декодирования не требуется ни ключ, ни пароль. Никогда не используйте Base64 для защиты конфиденциальных данных. Используйте для этого надлежащее шифрование (AES, RSA).
Почему вывод Base64 заканчивается на = или ==?
Base64 работает группами по 3 байта (24 бита), производя 4 символа Base64. Если длина входных данных не кратна 3, добавляются символы заполнения (=), чтобы длина вывода была кратна 4. Один = означает, что в последней группе было 2 байта; два = — что был 1 байт.
Что такое URL-safe Base64?
URL-safe Base64 (определён в RFC 4648 §5) заменяет + на - и / на _, чтобы закодированная строка могла использоваться в URL, именах файлов и HTTP-заголовках без процентного кодирования. Символы заполнения = также обычно опускаются.
Насколько Base64 увеличивает размер файла?
Кодирование Base64 увеличивает размер примерно на 33%. Каждые 3 байта входных данных превращаются в 4 символа вывода. Для файла размером 1 МБ вывод Base64 составит около 1,37 МБ.
Можно ли кодировать двоичные файлы этим инструментом?
Этот инструмент кодирует текстовые строки (которые затем обрабатываются как байты UTF-8). Для кодирования произвольных двоичных файлов (изображений, PDF, исполняемых файлов) используйте языковую библиотеку или CLI-инструмент, который читает сырые байты.
В чём разница между btoa() и Buffer.from().toString('base64')?
btoa() — это встроенная функция браузера, работающая со строками Latin-1; она выдаст ошибку для не-ASCII символов, если не закодировать их в байты UTF-8 сначала (с помощью encodeURIComponent). Buffer.from(text).toString('base64') в Node.js напрямую обрабатывает строки UTF-8 и является предпочтительным подходом на сервере.
Работает ли Base64 с бинарными файлами?
Этот инструмент кодирует текстовые строки в байты UTF-8, а затем в Base64. Для бинарных файлов (изображений, PDF, исполняемых файлов) используйте инструмент командной строки или библиотеку языка, читающую сырые байты. В браузере используйте FileReader.readAsDataURL(), который возвращает URI данных с бинарным содержимым, закодированным в Base64.
Есть ли ограничение по размеру для кодирования?
Этот инструмент работает полностью в браузере без серверных ограничений. Практические ограничения зависят от памяти браузера. Для очень больших входных данных (более нескольких МБ) более эффективен инструмент командной строки — base64 (Linux/macOS) или certutil -encode (Windows).