Base64: кодирование и декодирование
Закодируйте текст или файл в Base64 — или раскодируйте обратно.
- Полностью бесплатноБез аккаунта, без дневных лимитов, без платных тарифов.
- Ничего не загружаетсяФайлы обрабатываются на вашем устройстве и не попадают на сервер.
- Результат без подвохаБез водяных знаков, без принудительного ухудшения качества, без ограничения размера.
- Обновления на видуКаждое исправление и каждый новый инструмент записаны на странице изменений.
Что такое Base64 и когда он нужен
Base64 — это способ представить произвольные двоичные данные 64 печатными символами ASCII: A–Z, a–z, 0–9, плюс и косая черта, со знаком = в качестве заполнителя. Каждые 3 байта входа превращаются в 4 символа выхода, поэтому закодированные данные примерно на 33 % больше исходных. Он существует потому, что многие каналы рассчитаны только на текст: вложения в почте (MIME), полезная нагрузка JSON и XML, заголовки HTTP Basic-аутентификации, токены JWT и data-URL, встраивающие картинку прямо в HTML или CSS. Base64 — это кодирование, а не шифрование: раскодировать его может кто угодно, поэтому прятать в нём секреты нельзя.
URL-safe вариант (RFC 4648 §5) заменяет + на - и / на _ и обычно отбрасывает заполнитель =, чтобы результат можно было класть в адреса, имена файлов и cookie без экранирования. Именно эту форму используют JWT. Декодер на этой странице принимает оба варианта и не спотыкается об отсутствующий заполнитель, поэтому сегмент JWT можно вставлять как есть.
Как пользоваться
Введите или вставьте текст — он кодируется по мере набора. Текст трактуется как UTF-8, поэтому кириллица, китайский, эмодзи и любые другие символы Unicode проходят туда и обратно без потерь: это частая ошибка наивных реализаций, вызывающих btoa() напрямую. Отметьте URL-safe, чтобы получить алфавит с -/_ и без заполнителя. Нажмите «Файл…», чтобы выбрать любой файл: изображения, PDF, шрифты и архивы читаются локально и кодируются, а для картинок на выходе получается готовый data-URL, который можно вставить прямо в <img src> или в фон CSS.
Для декодирования переключитесь в «Декодировать» и вставьте Base64 (полный data-URL тоже подойдёт). Если результат оказался корректным текстом UTF-8, он появится в поле вывода; если данные двоичные, инструмент определит распространённые форматы (PNG, JPEG, GIF, WebP, PDF, ZIP), покажет изображение прямо на странице и предложит скачать раскодированный файл. Кнопка «Поменять местами» переносит результат обратно во вход, чтобы одним нажатием проверить круговое преобразование.
Приватность и ограничения
Файлы не покидают ваш компьютер. Их читает File API браузера, кодирование идёт в памяти, и результат показывается вам; ничего не загружается на сервер. Поскольку всё работает на стороне клиента, практический предел — это память устройства: файлы в десятки мегабайт проходят нормально, хотя поле вывода начинает прокручиваться медленно. Для очень больших файлов лучше скачать результат, а не копировать его.
История: мир, где был только текст
Base64 вырос из ограничений ранней электронной почты. Протокол SMTP проектировался под 7-битный текст ASCII, поэтому вложить двоичный файл значило сначала перевести его в печатные символы; в 1980-е это делал uuencode, а стандарт MIME (RFC 2045, 1996) закрепил тот алфавит Base64, которым пользуются и сегодня. Позже RFC 4648 (2006) собрал варианты вместе: стандартный Base64, форму, безопасную для адресов и имён файлов, и Base32/Base16. Соотношение «3 байта к 4 символам» и объясняет, почему закодированные данные ровно в 4/3 раза больше исходных плюс заполнитель, — цена, которая была ощутима на модеме и остаётся ощутимой для картинок, встроенных в CSS.
Где это встречается
Почтовые вложения и сегодня внутри устроены как Base64. Data-URL встраивают небольшие картинки и шрифты прямо в HTML и CSS, экономя запрос, — сожмите изображение заранее, потому что Base64 добавит свои 33 % поверх любого размера. HTTP Basic-аутентификация отправляет «логин:пароль» в Base64 (не в зашифрованном виде — всегда используйте HTTPS). Токен JWT — это три URL-safe сегмента Base64, соединённые точками; заголовок и полезная нагрузка раскодируются в JSON. Секреты Kubernetes, политики IAM в облаках, URL с процентным кодированием, несущие значения Base64, дайджесты SHA-256 в атрибутах Subresource Integrity, утверждения SAML, сертификаты PEM (блок между строками BEGIN и END) и двоичные поля внутри JSON-API — все они опираются на Base64, потому что эти системы умеют переносить только текст. Встретив длинную строку, заканчивающуюся знаками = или состоящую только из букв, цифр, + и /, почти наверняка вы имеете дело с Base64, и вставить её сюда — самый быстрый способ узнать, что внутри.
Частые вопросы
Base64 — это безопасно?
Нет. Это обратимое кодирование, а не шифрование. Раскодировать его может кто угодно и мгновенно. Используйте его для передачи и встраивания, но никогда — чтобы что-то спрятать.
Почему раскодированный текст выглядит мусором?
Скорее всего, исходные данные не были текстом UTF-8 или были двоичными. Этот инструмент декодирует как UTF-8 и переключается на скачивание файла, когда байты не складываются в корректный текст.
Что такое data-URL?
Адрес вида data:image/png;base64,… , в который встроено содержимое файла. Браузеры отображают его напрямую, что удобно для небольших значков в HTML и CSS или для писем.
Почему на конце появляются знаки =?
Заполнитель доводит длину до кратной четырём. В стандартном Base64 он обязателен, а в URL-safe варианте необязателен; здешний декодер принимает и с ним, и без него.
Можно ли раскодировать здесь JWT?
Заголовок и полезную нагрузку — да: вставьте сегмент между точками. Сегмент подписи двоичный, и как текст он не читается.