Menu
Русский

Кодировщик / декодировщик Base64

Мгновенно кодируйте или декодируйте строки и файлы Base64.

Последнее обновление

Режим
ТекстВставьте текст, чтобы начать
Base64
Закодированный или декодированный результат появится здесь — всё выполняется локально.

Что такое Base64?

Base64 — это схема кодирования, которая представляет бинарные данные с помощью 64 печатаемых символов. Разработчики берут её всегда, когда чисто текстовый канал должен переносить байты: маленькие картинки, встроенные прямо в HTML, токены, вложения email, data-URL, секреты, которые удобно вставить в логи, и поля JSON, где лежат бинарные блоки.

Base64 — это *кодирование*, а не шифрование. Декодировать строку Base64 обычно можно мгновенно и получить исходное содержимое, поэтому полагаться на неё как на защиту нельзя. Всё, что лежит внутри Base64, фактически открыто — если только данные не были зашифрованы *до* кодирования.

Под капотом Base64 берёт 3 байта (24 бита) и переписывает их 4 символами из фиксированного алфавита из 64 знаков (AZ, az, 09, +, /). Если длина входа не кратна 3, кодировщик добавляет один или два символа = в конце — это padding. Именно поэтому строки Base64 часто заканчиваются на =.

Что вы поймёте, поработав с Base64

  • Кодирование меняет только представление данных — оно их не прячет и не защищает: декодировать может кто угодно.
  • Длина результата примерно в 4/3 раза больше исходных байт — удобно, но неэкономно по объёму.
  • Символы = дополняют последнюю четвёрку — это нормальная часть многих строк Base64, а не ошибка.

Как закодировать и раскодировать Base64 шаг за шагом

  1. Выберите направление

    Выберите Encode, если у вас обычный текст или файл и вам нужен Base64 на выходе. Decode — если у вас уже строка Base64, и вы хотите получить исходное содержимое.

  2. Вставьте текст или перетащите файл

    Вставьте строку в текстовое поле или перетащите файл (картинку, PDF, что угодно) в зону drop. Файлы превращаются в data:-URL, готовый к встраиванию в HTML или CSS.

  3. Посмотрите результат

    При кодировании вы получите строку Base64. При декодировании — исходный текст, а если на входе был файл, то восстановленные байты в виде ссылки на скачивание.

  4. Скопируйте результат

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

Краткий справочник по Base64

То, с чем вы будете сталкиваться постоянно, как только начнёте работать с Base64, — всё описано в RFC 4648.

ЭлементЧто этоПример
Алфавит64 символа стандартного Base64A–Z, a–z, 0–9, +, /
URL-safe алфавитИспользуется в JWT и URLA–Z, a–z, 0–9, -, _
PaddingДополняет последнюю группу, если длина не кратна 3= или ==
Размер группыБайт на блок → символов на выходе3 байта → 4 символа
Рост длиныРезультат примерно на 33% длиннее входа100 Б → 136 символов
Data URLВстраивание файла прямо в HTML/CSSdata:image/png;base64,...

Примеры Base64, которые стоит попробовать

Декодируем простое слово

Закодировано

SGVsbG8gV29ybGQ=

Раскодировано

Hello World

Завершающий = — это padding: Hello World занимает 11 байт, что не кратно 3. Декодер всегда корректно его убирает.

Кодируем небольшой JSON

Исходник
{"role":"student","active":true}
Base64

eyJyb2xlIjoic3R1ZGVudCIsImFjdGl2ZSI6dHJ1ZX0=

Сегменты JWT кодируются ровно так же — поэтому payload JWT почти всегда начинается с eyJ: это Base64-форма {".

Распознаём data-URL

Data URL

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNgAAIAAAUAAen8GVAAAAAASUVORK5CYII=

Префикс задаёт MIME-тип (image/png) и тип кодирования (base64). После запятой идёт само содержимое файла. Удобно для крошечных картинок, которые подгружаются вместе со страницей.

Сравниваем стандартный и URL-safe алфавиты

Стандартный

Pj4/Pyc+Pg==

URL-safe

Pj4_Pyc-Pg

URL-safe Base64 заменяет + на - и / на _, чтобы значение можно было вставлять прямо в URL без дополнительного экранирования. JWT использует именно этот вариант.

Типичные ошибки при работе с Base64

  • Называть Base64 «зашифрованным». Декодировать его может кто угодно — без пароля и без ключа.
  • Забывать, что Unicode-текст нужно сначала перевести в байты UTF-8 *до* кодирования в Base64, иначе не-ASCII символы вернутся в искажённом виде.
  • Вручную обрезать = и скармливать результат строгому декодеру, который ждёт padding. (URL-safe декодеры обычно прощают отсутствие padding, стандартные — далеко не всегда.)

FAQ по Base64

Что такое кодирование Base64?
Base64 — это кодирование, которое представляет бинарные данные печатаемым текстом с помощью алфавита из 64 символов. Используется везде, где байтам нужно пройти через чисто текстовый канал: API, JSON, JWT, email, data-URL.
Как работает Base64?
Base64 берёт 3 входных байта (24 бита) и делит их на четыре группы по 6 бит. Каждая 6-битная группа отображается в один из 64 символов. Если длина входа не кратна 3 байтам, в конец добавляется один или два символа = как padding.
Как раскодировать строку Base64?
Вставьте строку в декодер Base64 — на выходе получите исходный текст или файл. В коде почти везде есть встроенные средства: atob() в браузере, Buffer.from(str, 'base64') в Node.js, base64.b64decode() в Python.
Безопасен ли Base64?
Нет. Base64 — это кодирование, а не шифрование. Он создан для представления и передачи данных, а не для секретности. Если вам нужна конфиденциальность, сначала зашифруйте данные, а уже потом кодируйте получившийся ciphertext в Base64.
Почему Base64 иногда заканчивается на =?
= — это padding. На каждые 3 байта входа Base64 выдаёт 4 символа. Когда длина входа не кратна 3, в конец добавляется один или два =, чтобы итоговая длина оставалась кратной 4.
Можно ли кодировать в Base64 картинки?
Да. Байты картинки можно закодировать в Base64 и положить в URL вида data:image/png;base64,... — изображение встроится прямо в HTML, CSS или JSON, без отдельного сетевого запроса.

Другие инструменты разработчика

Учитесь программировать с Coddy

НАЧАТЬ