Загрузить файл
  1. base64hub
  2. Текстовые инструменты
  3. Base64 в текст

Base64 в текст: декодировать строку Base64

Вставьте строку Base64, чтобы прочитать текст внутри. По умолчанию предполагается UTF-8, а если результат выглядит неправильно, можно выбрать любую из 27 кодировок или дать инструменту угадать.

Бесплатно без регистрации и ограничений Локально ничего не загружается Обновлено 27 окт. 2026 г.
Ввод 0 BРезультат 0 BРазмер –

Обработка идёт в браузере. Эта страница не может никуда отправить ваши данные – откуда мы это знаем

Как перевести Base64 в текст

  1. Вставьте строку Base64 в поле Ввод · Base64. Пробелы, переносы строк и кавычки вокруг не мешают.
  2. Прочитайте текст в поле Результат · текст. Строка статуса под инструментом показывает, был ли ввод корректным Base64, сколько в нём байтов и на что похоже содержимое.
  3. Если в результате видны � или странные буквы, выберите другую кодировку в поле Кодировка. Автоопределение ищет метку порядка байтов, UTF-8 и UTF-16.
  4. Скопируйте текст кнопкой Скопировать результат или сохраните его кнопкой Скачать.

Обратное направление: текст в Base64.

Как понять, что строка закодирована в Base64

Строка Base64 использует только 64 символа плюс = для дополнения. В стандартном Base64 есть + и /, а URL-safe вариант использует вместо них - и _. Длина строки с дополнением делится на 4, а знаки = могут стоять только в конце.

Эти правила необходимы, но недостаточны. Их проходит множество обычных слов. Test, например, корректный Base64: он декодируется в три байта 4D EB 2D, которые ничего не значат. На практике проще декодировать строку и посмотреть, получилось ли что-то осмысленное. Если нужен не только ответ «да» или «нет», валидатор Base64 покажет, какое правило для символов, длины или дополнения нарушает строка, и оценит, насколько вероятно, что это вообще Base64.

Примеры

Строка Base64ТекстПримечание
VGhhbmsgeW91IQ==Thank you!Обычный ASCII
SGVsbG8sIFfDtnJsZA==Hello, Wörldö в UTF-8 занимает два байта
5L2g5aW9你好Шесть байтов, по три на символ
0J/RgNC40LLQtdGCПриветКириллица в UTF-8
QmFzZTY0IGlzIG5vdCBlbmNyeXB0aW9uLg==Base64 is not encryption.Прочитать может кто угодно
dXNlcm5hbWU6c2VjcmV0username:secretФормат заголовка HTTP Basic auth

Последняя строка напоминает, что пароль в заголовке Authorization: Basic только закодирован, но не защищён. Декодер Basic Auth разбивает такой заголовок на пользователя и пароль, а статья кодирование и шифрование объясняет, почему на самом деле его защищает HTTPS.

От байтов к строке

Декодирование Base64 даёт байты. Чтобы получить из них строку, нужен второй шаг с кодировкой, и именно на нём возникает большинство проблем с «неправильным текстом». В большинстве языков эти два шага разделены явно:

import base64

raw = base64.b64decode("SGVsbG8sIFfDtnJsZA==")
raw                     # b'Hello, W\xc3\xb6rld'
raw.decode("utf-8")     # 'Hello, Wörld'
raw.decode("latin-1")   # 'Hello, Wörld'

В JavaScript TextDecoder с fatal: true выбрасывает TypeError вместо того, чтобы молча вставить �. Это полезно, когда лучше упасть, чем сохранить битый текст:

const bytes = Uint8Array.from(atob("Y2Fm6Q=="), c => c.charCodeAt(0));
new TextDecoder("utf-8", { fatal: true }).decode(bytes);
// TypeError: the bytes are not valid UTF-8
new TextDecoder("windows-1252").decode(bytes);   // "café"

Больше приёмов на страницах Python и JavaScript.

Если результат не похож на текст

  • В основном символы и несколько читаемых слов. В строке лежит файл. Посмотрите на поле Похоже на в строке статуса, а затем откройте его в Base64 в файл: там можно посмотреть превью и сохранить файл.
  • Буквы через пробел. Текст в UTF-16. Выберите в поле Кодировка UTF-16LE.
  • Текст читается, но é выглядит как é. Текст неправильно декодировали где-то ещё до кодирования в Base64. С самим Base64 всё в порядке, проблема в исходных данных. Кириллица в таком случае превращается в Ð, Ñ и похожие символы.
  • Результат снова в Base64. Значит, данные закодировали дважды. Скопируйте результат, вставьте его в поле ввода и декодируйте ещё раз.
  • Случайные на вид байты, формат не определён. Скорее всего, данные зашифрованы или сжаты. Декодирование Base64 снимает только первый слой; для данных gzip или zlib попробуйте декодер gzip Base64.

Вопросы и ответы

Что такое строка Base64?

Текст только из символов A–Z, a–z, 0–9, + и /, часто с = или == в конце. Он хранит байты (текст, картинку или любой другой файл), записанные так, чтобы пережить системы, которые понимают только простые символы.

Как понять, что лежит в строке Base64, до декодирования?

Часто это видно по первым символам: eyJ у JSON, PD94bWwg у XML, iVBORw0KGgo у PNG, JVBERi0 у PDF. После декодирования строка статуса называет определённый формат. Подробнее: распространённые префиксы Base64.

Как перевести Base64 в строку в Python?

base64.b64decode(s).decode("utf-8"). Первый вызов возвращает байты, а .decode() превращает их в str в указанной вами кодировке.

Почему после декодирования снова получается Base64?

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