Как пользоваться
- Вставьте текст в поле Текст или Base64.
- Выберите Закодировать текст в Base64 или Декодировать Base64 в текст в поле Действие.
- Отметьте Алфавит, безопасный для URL, если код пойдёт в веб-адрес или имя файла.
- Нажмите кнопку копирования в блоке Результат или скачайте его как текстовый файл.
Как работает Base64
Base64 записывает байты текстом из 64 знаков, которые безопасны почти в любой системе. Каждые три байта, то есть 24 бита, становятся четырьмя знаками по шесть бит. Если в последней группе один или два байта, код заканчивается одним или двумя знаками =, которые называются дополнением.
Результат всегда примерно на треть длиннее исходных данных, потому что три байта становятся четырьмя знаками.
Длина с дополнением = 4 × ⌈n ÷ 3⌉ знаков
n число байтов во входных данных
⌈ ⌉ округление вверх до целого
Текст, UTF-8 и два алфавита
Base64 работает с байтами, поэтому текст сначала записывается в UTF-8, кодировке, которую используют веб-страницы и большинство файлов. Русская буква занимает два байта, а эмодзи — четыре.
- Стандартный алфавит (RFC 4648, раздел 4): от A до Z, от a до z, от 0 до 9, + и /, в конце дополнение =.
- Алфавит, безопасный для URL и имён файлов (RFC 4648, раздел 5): - и _ вместо + и /. В этом режиме дополнение не ставится.
- Декодирование принимает оба алфавита, код без дополнения и переносы строк.
Что декодирование отвергает
- Знаки, которых нет ни в одном алфавите, например ! или %.
- Длину, которой не может быть у кода Base64, например пять знаков после групп по четыре.
- Байты, которые не являются корректным UTF-8. Base64 изображения декодируется в байты, которые не являются текстом, и страница сообщает об этом, а не показывает мусор.
Base64 — это не шифрование
Base64 — это способ записать байты текстом, а не секрет. Любой может его декодировать, поэтому не используйте его, чтобы скрыть пароль или ключ. Текст преобразуется только в этом браузере и не отправляется нам.
Пример: Привет, мир
В тексте 11 знаков, но каждая русская буква занимает два байта в UTF-8, а запятая и пробел — по одному байту, поэтому текст — это 20 байтов. Длина с дополнением равна 4 × ⌈20 ÷ 3⌉ = 28 знакам.
При стандартном алфавите результат — 0J/RgNC40LLQtdGCLCDQvNC40YA=. Если отметить алфавит для URL, тот же код будет без дополнения: 0J_RgNC40LLQtdGCLCDQvNC40YA, 27 знаков.
| Стандартный | Для URL | |
|---|---|---|
| Результат | 0J/RgNC40LLQtdGCLCDQvNC40YA= | 0J_RgNC40LLQtdGCLCDQvNC40YA |
| Длина | 28 | 27 |
Частые вопросы
Для чего используется Base64?
Он переносит двоичные данные, например изображения, файлы и токены, через системы, которые принимают только текст, такие как вложения электронной почты, поля JSON и data-URL. Код примерно на треть длиннее исходных данных.
Base64 — это то же самое, что шифрование?
Нет. Base64 — обратимая запись байтов, и любой может декодировать её без ключа. Защищайте данные настоящим шифрованием, а не Base64.
Почему мой декодированный текст показывает странные буквы?
Обычно байты не в UTF-8: текст был сохранён в старой кодировке, например в Windows-1251 для русского языка. Страница отказывается показывать байты, которые не являются UTF-8, вместо того чтобы показать их неверно.
Что такое алфавит, безопасный для URL?
RFC 4648, раздел 5, заменяет + на - и / на _, так что код может стоять в веб-адресе или имени файла без экранирования. Здесь он записывается без дополнения =.
Отправляет ли инструмент мой текст на сервер?
Нет. Кодирование и декодирование выполняет ваш браузер. Ничего не отправляется, не сохраняется и не записывается в журнал, поэтому можно вставлять личные данные.
Можно ли здесь декодировать Base64-изображение?
Страница читает Base64 как текст, поэтому изображение декодируется в байты, которые не являются текстом, и отклоняется. Чтобы посмотреть изображение, вставьте его полный data-URL, который начинается с data:image и типа, в адресную строку браузера.
Источники
- RFC 4648: The Base16, Base32, and Base64 Data Encodings (на английском)
- RFC 3629: UTF-8, формат преобразования ISO 10646 (на английском)
Цифры и текст в последний раз проверены вторник, 10 ноября 2026 г..