Base64: кодировать и декодировать
Переведите текст в Base64 или расшифруйте строку Base64 обратно в текст. Кириллица и эмодзи кодируются в UTF-8, поэтому после декодирования не будет «кракозябр». Есть вариант Base64 для URL — с «-» и «_» вместо «+» и «/».
Показано начало результата. Кнопки «Копировать» и «Скачать» берут его целиком.
Ваш текст не покидает ваше устройство.
Как пользоваться
- Выберите «Закодировать» или «Декодировать».
- Вставьте текст или строку Base64; для ссылок и токенов включите «Для URL».
- Скопируйте результат.
Примеры
- До
- Привет, мир!
- После
- 0J/RgNC40LLQtdGCLCDQvNC40YAh
- До
- 0J/RgNC40LLQtdGC (декодировать)
- После
- Привет
- До
- Привет? (для URL)
- После
- 0J_RgNC40LLQtdGCPw
Где встречается Base64
- Электронная почта. Вложения и письма в нестандартной кодировке передаются в Base64.
- Data URL. Маленькие картинки и шрифты встраивают в HTML и CSS строкой вида
data:image/png;base64,…. - API и токены. Заголовок
Authorization: Basicсодержит логин и пароль в Base64, части JWT-токенов закодированы в варианте для URL. - Конфиги и секреты. Kubernetes хранит значения секретов в Base64 — напомним, это не шифрование.
Частые ошибки
- Считать Base64 защитой. Пароль в Base64 читается за секунду. Для защиты нужны шифрование и надёжное хранилище.
- Путать варианты. Строка с «-» и «_» — это Base64 для URL. Обычный декодер может её не принять; этот понимает оба варианта.
- Лишние символы. Пробелы и переносы строк внутри Base64 при декодировании игнорируются, а символы вроде «$» или кириллица — ошибка: «Это не Base64: недопустимый символ в позиции 4».
- Неверная кодировка. Если текст кодировали в Windows-1251, при декодировании в UTF-8 он превратится в нечитаемые символы. Узнайте у отправителя, в какой кодировке был исходный текст.
Безопасность
Кодирование и декодирование выполняются в вашем браузере. Строки с токенами и паролями никуда не отправляются, но не забудьте нажать «Очистить», если работаете за чужим компьютером.
Как проверить результат
Закодируйте короткую фразу и тут же декодируйте её обратно: если получилась исходная строка, значит кодировка выбрана правильно. Для кириллицы это особенно важно: «Привет» в UTF-8 даёт 0J/RgNC40LLQtdGC, и именно такую строку ждут браузеры, почтовые клиенты и API. Если вы получили совсем другую строку, исходный Base64 мог быть создан в другой кодировке, например Windows-1251.
Практические советы
- В ссылках и JWT используйте вариант «Для URL»: он заменяет
+и/на-и_и убирает знаки=. - Если при декодировании появился список непонятных символов, вероятнее всего, внутри не текст, а файл: картинка, PDF или архив. Такие данные нужно сохранять в файл, а не читать на экране.
- Не вставляйте в поле префикс
data:image/png;base64,: нужна только сама строка после запятой.
Частые вопросы
Как декодировать Base64 в текст?
Нажмите «Декодировать» и вставьте строку Base64. Результат сразу появится ниже. Если строка повреждена, инструмент покажет, в какой позиции встретился недопустимый символ или что не хватает части строки.
Почему после декодирования вместо русских букв «кракозябры»?
Скорее всего, текст был закодирован не в UTF-8, а в Windows-1251 или KOI8-R, — так делали старые программы и почтовые системы. Этот инструмент кодирует и декодирует только UTF-8, как браузеры и современные API. Если Base64 содержит картинку или другой двоичный файл, инструмент сообщит, что это не текст.
Base64 — это шифрование?
Нет. Base64 — способ записать любые байты латинскими буквами, цифрами и знаками + и /. Раскодировать его может кто угодно, ключ не нужен. Не используйте Base64, чтобы «спрятать» пароли или персональные данные.
Что такое Base64 для URL?
В обычном Base64 есть символы + и /, а в конце — знаки =. В адресах они имеют особый смысл, поэтому в URL, JWT-токенах и именах файлов используют вариант, где + заменён на -, / — на _, а = в конце убираются. Включите «Для URL», чтобы получить такую строку; при декодировании инструмент понимает оба варианта.
Почему Base64 длиннее исходного текста?
Каждые 3 байта превращаются в 4 символа, поэтому объём растёт примерно на треть. Кириллица в UTF-8 занимает 2 байта на букву, поэтому русский текст в Base64 выглядит особенно длинным: «Привет» — 6 букв, 12 байт и 16 символов Base64.