Где используется Base64: 10 реальных сценариев применения

Base64 окружает нас повсюду: в коде сайтов, в письмах, в мобильных приложениях. Разбираем десять сценариев, где без него не обойтись, — с конкретными примерами.

2026-09-28 · 5 мин чтения

Веб-разработка: иконки и шрифты в коде

Самый известный сценарий — data-URI. Небольшую иконку или логотип кодируют в Base64 и вставляют прямо в HTML или CSS. Браузеру не нужен отдельный запрос к серверу, страница грузится быстрее.

Так же встраивают веб-шрифты в формате WOFF: один CSS-файл содержит всё необходимое, и страница не зависит от внешних ресурсов. Правило простое: приём выгоден для файлов до нескольких десятков килобайт; крупные картинки лучше оставить обычными файлами из-за накладных +33%.

Ещё один веб-сценарий — встраивание маленьких изображений в SVG: иконка живёт внутри векторного файла как Base64-строка, и весь набор графики распространяется одним файлом. Удобно для дизайн-систем и библиотек иконок.

Почта и API: текст вместо двоичных данных

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

В API та же история: JSON не умеет хранить «сырые» байты, поэтому файлы, подписи и бинарные токены передают как Base64-строки внутри JSON-полей. Разработчики сталкиваются с этим ежедневно при интеграции платёжных систем и загрузке аватаров.

WebSocket в текстовом режиме, server-sent events, старые XML-протоколы — везде, где канал текстовый, а данные двоичные, появляется Base64. Это универсальный клей между миром байтов и миром текста.

Токены, конфиги и встраивание данных

JWT-токены, которыми сайты подтверждают вашу сессию, состоят из трёх Base64-частей, разделённых точками. Декодировав среднюю часть, можно прочитать, какие данные о вас хранит токен, — полезный приём при отладке.

Ещё сценарии: хранение небольших бинарных настроек в текстовых конфигах, передача изображений через текстовые протоколы чатов, кодирование бинарных данных в URL-параметрах.

Отдельно стоит упомянуть data-URI в мобильных приложениях: иконки и сплеш-скрины, закодированные в Base64, вшивают прямо в код, чтобы приложение не зависело от внешних файлов при первом запуске без интернета.

Когда Base64 не нужен

Не кодируйте то, что и так является текстом: JSON внутри JSON, обычные строки, HTML. Лишнее кодирование лишь раздувает объём и усложняет отладку.

Не используйте Base64 для «защиты» данных: строка читается любым декодером за секунду. И не встраивайте так тяжёлые файлы — data-URI на 5 МБ замедлит загрузку страницы сильнее, чем обычный запрос картинки.

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

Base64 в жизни непрограммиста

Даже если вы не пишете код, Base64 встречается в быту. Подозрительная «каша из символов» в письме или в параметрах ссылки — декодируйте её: часто там прячется обычный текст, и вы поймёте, что вам прислали, не открывая сомнительные вложения.

Второй бытовой сценарий — проверка data-URI: если на сайте картинка встроена в код, её можно декодировать и посмотреть исходник. Полезно, когда нужно вытащить логотип или иконку со страницы без скриншотов.

Третий — работа с токенами: ссылки для сброса пароля и приглашения часто содержат Base64-части. Декодировав, можно понять, что за данные в ссылке, — например, вашу ли почту она содержит. Это простое и безопасное любопытство.

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

Где чаще всего встречается Base64 обычному пользователю?

В письмах с вложениями и в коде веб-страниц (data-URI для маленьких иконок). Вы его не видите, но он работает каждый раз, когда прикрепляете фото к письму.

Правда, что JWT-токены можно прочитать?

Да, их содержимое — это Base64, а не шифр. Декодируйте среднюю часть токена и увидите данные. Поэтому никогда не кладите в JWT пароли и секреты.

Стоит ли встраивать все картинки сайта в Base64?

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

Похожие руководства