Декодирование Base64

Вставьте строку Base64 и получите исходный текст или байты. Переносы строк, URL-безопасные символы, отсутствующее дополнение и префиксы data: обрабатываются автоматически, а сообщения об ошибках указывают на конкретный символ.

Работает полностью в браузере. Данные никуда не загружаются.

Как пользоваться

  1. Вставьте строку Base64 в поле ввода или нажмите «Открыть файл», чтобы загрузить файл с текстом в Base64.
  2. Для текста оставьте в параметре «Формат вывода» значение «Текст» и выберите кодировку (по умолчанию UTF-8), а для двоичных данных переключите его на Hex.
  3. Если декодировать не удалось, прочитайте сообщение об ошибке: в нём указана позиция первого недопустимого символа.
  4. Скопируйте декодированный результат или скачайте его.

Какие данные принимает декодер

Декодирование — это обратная операция: каждый символ снова превращается в своё 6-битное значение, а каждые четыре символа дают три байта. Base64, который встречается на практике, редко бывает идеально чистым, поэтому декодер терпимо относится к типичным отклонениям:

  • Пробелы и переносы строк игнорируются, поэтому разбитые на строки тела MIME и блоки PEM можно вставлять как есть. Однако строки -----BEGIN и -----END сначала удалите: их буквы и дефисы являются допустимыми символами Base64 и будут декодированы как данные.
  • URL-безопасный ввод с - и _ декодируется так же, как стандартный Base64 с + и /.
  • Отсутствие дополнения не мешает. Отклоняется только длина 4n + 1 символов, потому что один оставшийся символ не может образовать байт; обычно это означает, что строка обрезана.
  • Data URI тоже поддерживаются: префикс data:...;base64, в начале удаляется перед декодированием.

Текстовый или двоичный результат

Результат декодирования — всегда последовательность байтов. Если исходные данные были текстом, оставьте вывод в виде текста и выберите его кодировку. Если это было изображение, PDF, архив, ключ или шифротекст, никакая кодировка не сделает его читаемым: переключите вывод в Hex, чтобы изучить байты, или откройте Base64 в файл либо Base64 в изображение, чтобы просмотреть и сохранить данные. Часто содержимое выдают уже первые символы:

Base64 начинается сДекодированное содержимое
iVBORw0KGgoИзображение PNG
/9j/Изображение JPEG
R0lGODИзображение GIF
JVBERi0Документ PDF
UEsDBАрхив ZIP, в том числе DOCX, XLSX и JAR
H4sIДанные, сжатые gzip
eyJОбъект JSON, например заголовок JWT

Почему декодированный текст нечитаем

  • Неверная кодировка. Если прочитать текст в UTF-8 как Windows-1252, буква é превратится в é, кириллица в UTF-8, прочитанная как Windows-1251, превратится в последовательности вида «Р°Р±», а на месте текста в GBK или Shift_JIS, прочитанного как UTF-8, появятся символы замены (�). Выберите кодировку, в которой был записан текст.
  • Двоичные данные. Случайные символы с отдельными читаемыми фрагментами, например PNG или PK в начале, означают, что содержимое — файл, а не текст.
  • Сжатые или зашифрованные данные. Потоки gzip, Protocol Buffers и шифротекст декодируются правильно, но текстом не являются. Вывод в Hex покажет, что там на самом деле.
  • Двойное кодирование. Если результат сам является Base64, вставьте его обратно в поле ввода и декодируйте ещё раз.

Декодирование Base64 в коде

# Python
base64.b64decode(s).decode('utf-8')

// Node.js (принимает и URL-безопасный ввод)
Buffer.from(s, 'base64').toString('utf8')

// Браузер: atob() возвращает по одному символу на байт, поэтому затем декодируйте UTF-8
new TextDecoder().decode(Uint8Array.from(atob(s), c => c.charCodeAt(0)))

# Оболочка Linux и macOS
echo 'SGVsbG8=' | base64 --decode

Спецификация

АлфавитA-Z a-z 0-9 + /
Размер результата4 символа на каждые 3 байта (около 133%)
Дополнение= до длины, кратной 4 символам
СтандартRFC 4648, раздел 4
Учёт регистраДа

Примеры

Исходные данные (UTF-8)Результат
Hello, World!SGVsbG8sIFdvcmxkIQ==
Base64.isQmFzZTY0Lmlz
你好5L2g5aW9

Часто задаваемые вопросы

Почему появляется ошибка о недопустимом символе?
Во входных данных есть что-то, не входящее в алфавит Base64: кавычки, обратная косая черта или процентные escape-последовательности вроде %2B и %3D, скопированные из URL. Удалите кавычки или сначала выполните URL-декодирование строки. В сообщении об ошибке указана позиция первого недопустимого символа.
Можно ли декодировать Base64 без дополнения?
Да. Декодеру не нужны знаки = в конце, поэтому строки без дополнения из JWT, URL и API декодируются как обычно.
Почему после копирования Base64 из URL результат получается неверным?
Если поместить Base64 в строку запроса без экранирования, при разборе формы каждый + часто превращается в пробел. Здесь пробелы игнорируются, поэтому эти символы теряются. Перед декодированием замените пробелы на +, а для значений, передаваемых в URL, используйте Base64URL.
Как декодировать Base64 в изображение или файл?
Используйте Base64 в изображение, чтобы просмотреть и скачать картинки, или Base64 в файл для PDF, архивов, аудио и других файлов. Оба инструмента определяют тип файла по первым байтам.
Отправляются ли мои данные Base64 на сервер?

Нет. Декодирование выполняется в вашем браузере с помощью JavaScript, и входные данные не покидают ваше устройство. Это важно, когда вы декодируете токены, секреты из конфигурации или персональные данные.