Base64: кодировать и декодировать онлайн

«Привет, мир!» в Base64 — 0J/RgNC40LLQtdGCLCDQvNC40YAh (21 байт UTF-8 → 28 символов)

21 байт UTF-8
28 символов

Кодирование: 21 байт → 28 символов Base64
Примеры кодирования Base64 (текст в UTF-8)
СтрокаBase64БайтСимволов Base64
aYQ==14
abYWI=24
abcYWJj34
abcdYWJjZA==48
Base64QmFzZTY068
1234567890MTIzNDU2Nzg5MA==1016
Hello, world!SGVsbG8sIHdvcmxkIQ==1320
convertiru.ruY29udmVydGlydS5ydQ==1320
user:passworddXNlcjpwYXNzd29yZA==1320
{"ok":true}eyJvayI6dHJ1ZX0=1116
Привет0J/RgNC40LLQtdGC1216
Привет, мир!0J/RgNC40LLQtdGCLCDQvNC40YAh2128
Москва0JzQvtGB0LrQstCw1216
Санкт-Петербург0KHQsNC90LrRgi3Qn9C10YLQtdGA0LHRg9GA0LM=2940
Юлия0K7Qu9C40Y8=812
Пароль1230J/QsNGA0L7Qu9GMMTIz1520
2026-09-19MjAyNi0wOS0xOQ==1016
Ёлкин0IHQu9C60LjQvQ==1016

Как работает кодирование Base64

Каждые 3 байта Base64 записывает 4 символами: «Привет» — 12 байт в UTF-8 — превращается в 16 знаков 0J/RgNC40LLQtdGC. Алфавит — 64 символа: A–Z, a–z, 0–9, «+» и «/». 64 = 2⁶, поэтому символ несёт 6 бит, а 24 бита трёх байт делятся на четыре шестёрки. Неполную тройку дополняют знаками «=»: «a» → YQ==, «ab» → YWI=.

Почему Base64 увеличивает размер на 33 %

Четыре символа вместо трёх байт — рост на треть: вложение 3 МБ занимает в письме 4 МБ, картинка 750 КБ, вшитая в CSS, — 1000 КБ. Так вшивают только иконки.

Где встречается Base64

  • data:URI в HTML и CSS: data:image/png;base64,… прямо в коде.
  • Почтовые вложения: стандарт MIME рассчитан на текст.
  • Токены JWT: три части через точку в base64url; заголовок eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9 — JSON с полями alg и typ.
  • HTTP Basic Auth: user:password → dXNlcjpwYXNzd29yZA==.

Как кодируется кириллица в Base64

Base64 кодирует байты, а не буквы. В UTF-8 латинская буква занимает 1 байт, кириллическая — 2, и «Привет» сначала становится D0 9F D1 80 D0 B8 D0 B2 D0 B5 D1 82. Текст в Windows-1251 даст другую строку, а при чтении как UTF-8 — ошибку или нечитаемые знаки.

Является ли Base64 шифрованием

Нет: ключа нет, любой восстановит текст, а пароль из Basic Auth защищает только HTTPS. Декодер пропускает пробелы и переводы строк и сам дополняет «=»; перепутанные 0 и O, l и I придётся править руками. Для адресов нужно не Base64, а URL-кодирование.

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

Что такое Base64 простыми словами?

Способ записать любые байты 64 печатными символами: A–Z, a–z, 0–9, «+» и «/». Каждые 3 байта становятся 4 символами, и двоичные данные проходят там, где допустим только текст.

Почему Base64 увеличивает размер данных?

Символ Base64 несёт 6 бит, а байт — 8, поэтому на 3 байта нужны 4 символа: рост на треть. Вложение 3 МБ занимает в письме 4 МБ, а с переносами строк через каждые 76 символов — около 37 % сверху.

Что означает знак = в конце строки Base64?

Дополнение до полной четвёрки, если длина данных не делится на 3: остаток в 1 байт даёт «==», в 2 байта — один «=». Так «a» кодируется как YQ==, «ab» — YWI=, «abc» — YWJj без знаков.

Base64 — это шифрование?

Нет. Ключа нет, обратное преобразование известно всем, и dXNlcjpwYXNzd29yZA== из заголовка Basic Auth любой раскодирует в user:password. Секреты в пути защищает только HTTPS.

Почему кириллица после декодирования превращается в кракозябры?

Текст кодировали в другой кодировке. В UTF-8 буква кириллицы занимает 2 байта, в Windows-1251 — 1, поэтому «Привет» даёт разные строки: 16 символов против 8. Этот декодер ожидает UTF-8.

Чем base64url отличается от обычного Base64?

В нём «+» и «/» заменены на «-» и «_», а «=» обычно опущены, чтобы строка без изменений помещалась в адрес или заголовок. Так устроены токены JWT. Декодер принимает оба варианта.

Статьи по теме

Расчёты носят справочный характер: коэффициенты взяты из официальных определений единиц, но округление при выводе может давать расхождение в последнем знаке. Откуда данные

Обновлено