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
Вставьте или введите текст
Щёлкните по полю ввода и вставьте любой текст — обычные строки, JSON-нагрузки, API-ключи, адреса электронной почты или любое содержимое UTF-8. Кодирование обновляется в реальном времени по мере ввода.
2
Выберите вариант
Выберите Стандартный (RFC 4648) для MIME, HTTP Basic Auth и общего использования. Выберите URL-безопасный для JWT-токенов, параметров строки запроса, имён файлов и любого контекста, где + или / нарушат разбор URL.
3
Скопируйте результат
Нажмите «Копировать», чтобы отправить строку Base64 в буфер обмена одним щелчком. Результат готов к вставке непосредственно в код, конфигурационный файл или API-запрос.
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–Z
0–25
ABCDEFGHIJKLMNOPQRSTUVWXYZ
a–z
26–51
abcdefghijklmnopqrstuvwxyz
0–9
52–61
0123456789
+, /
62–63
Стандарт RFC 4648 — избегать в URL и именах файлов
-, _
62–63
URL-safe вариант (RFC 4648 §5) — безопасен в URL и именах файлов
Стандартный Base64 vs URL-safe
Стандартный алфавит Base64 использует + и /, которые являются специальными символами в URL и путях к файлам. URL-safe вариант заменяет их на - и _ и обычно опускает символы заполнения =. Используйте URL-safe кодирование для JWT-токенов, данных в строках запроса, имён файлов и любого контекста, где + или / могут быть неправильно интерпретированы.
Ввод
Стандартный
URL-safe
Man
TWFu
TWFu
Hello
SGVsbG8=
SGVsbG8
A
QQ==
QQ
1+1=2
MSsxPTI=
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, '')
Существует несколько онлайн-кодировщиков 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).