Base64 Decode Online

Декодирование текста, закодированного в Base64

Ввод Base64

Декодированный текст

Работает локально · Безопасно вставлять секреты
Декодированный вывод...

Что такое декодирование Base64?

Декодирование Base64 — это процесс, обратный кодированию Base64: он преобразует строку ASCII, закодированную в Base64, обратно в исходные двоичные данные или текст. Каждые 4 символа Base64 декодируются в 3 байта исходных данных. Декодер ищет каждый символ в алфавите Base64, восстанавливает исходные 6-битные группы и собирает их в 8-битные байты.

Данные в кодировке Base64 легко узнаваемы: они состоят из букв верхнего и нижнего регистра, цифр, а также символов +/ (стандартный вариант) или -_ (URL-безопасный вариант), и нередко заканчиваются одним или двумя символами заполнения =. Они встречаются в токенах JWT, вложениях электронной почты, data URI, ответах API и конфигурационных файлах — везде, где двоичные или структурированные данные необходимо встроить в текстовый контекст.

Зачем использовать этот инструмент?

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

Автоисправление заполнения
Многие источники производят Base64 без завершающих символов =. Этот инструмент автоматически вычисляет и добавляет отсутствующее заполнение перед декодированием, предотвращая исключения InvalidCharacterError.
🛡️
Поддержка обоих вариантов
Автоматически обнаруживает и обрабатывает стандартный Base64 (+/) и URL-safe Base64 (-_), так что вы можете вставлять токены из любого источника без ручного преобразования.
🔒
Полностью на стороне клиента
Декодирование происходит локально в вашем браузере с использованием нативного API atob. Ваши данные — которые могут содержать секреты или конфиденциальный контент — никогда не покидают ваше устройство.
🌐
Вывод в Unicode
Корректно декодирует текст в кодировке UTF-8 обратно в полный Unicode, включая многобайтовые символы, эмодзи и скрипты CJK.

Как использовать этот онлайн-декодер Base64

Без аккаунта, без загрузки, без установки. Вставьте строку Base64 в поле ввода — и декодированный результат появится мгновенно. Всё работает в вашем браузере: ваши данные никогда не покидают устройство.

  1. 1
    Вставьте строку Base64
    Скопируйте любую строку в кодировке Base64 из вашего источника — JWT, ответ API, заголовок вложения письма или конфигурационный файл — и вставьте её в поле ввода. Стандартные и URL-safe варианты определяются автоматически.
  2. 2
    Автоматическое определение и исправление
    Декодер определяет, используется ли стандартный Base64 (+/) или URL-safe Base64 (-_), и автоматически исправляет недостающий символ = для заполнения. Нет необходимости вручную нормализовать строку перед декодированием.
  3. 3
    Проверьте вывод
    Декодированный текст отображается в поле вывода. Если исходные данные были текстом в UTF-8, они отображаются как читаемые символы. Бинарные данные отображаются как есть. Если входные данные содержат недопустимые символы, которые невозможно декодировать, появляется сообщение об ошибке.
  4. 4
    Скопируйте или используйте результат
    Нажмите «Копировать», чтобы скопировать декодированный вывод, или используйте его напрямую в своём рабочем процессе. Нужно перекодировать результат? Переключитесь на инструмент «Base64 Encoder» одним кликом.

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

Каждый символ Base64 соответствует 6-битному значению (0–63). Четыре последовательных символа дают 24 бита, которые декодируются в 3 байта исходных данных. Пример ниже показывает, как «TWFu» декодируется обратно в «Man»:

Пример "Man" → TWFu → "Man"
СимволИндекс6 бит
T19010011
W22010110
F5000101
u46101110

Четыре 6-битные группы (010011 010110 000101 101110) объединяются в 24 бита, затем разбиваются на три 8-битных байта: 01001101 (M=77), 01100001 (a=97), 01101110 (n=110).

Понимание заполнения

Кодирование Base64 группирует входные байты наборами по 3. Когда длина входных данных не делится на 3, добавляются символы заполнения (=) для завершения последней группы. При декодировании эти символы = удаляются, и декодер знает, что нужно отбросить лишние нулевые биты, добавленные при кодировании.

ИсходныйЗакодированныйПравило заполнения
AQQ==1 byte → 2 padding chars
ABQUI=2 bytes → 1 padding char
ABCQUJD3 bytes → no padding needed

Распространённые случаи использования

Проверка полезных данных JWT
JWT-токены состоят из трёх сегментов, закодированных в URL-safe Base64. Декодирование второго сегмента (полезной нагрузки) раскрывает claims: ID пользователя, роли, время истечения и другие метаданные — без необходимости в ключе подписи.
Чтение ответов API
REST API часто возвращают двоичные данные (содержимое файлов, миниатюры, криптографический материал), закодированные в Base64, в JSON-ответах. Декодируйте поле для чтения исходных данных.
Декодирование содержимого электронной почты
Тела и вложения MIME-писем закодированы в Base64. Их декодирование раскрывает исходное текстовое содержимое или позволяет восстановить двоичные вложения.
Извлечение секретов Kubernetes
Kubernetes хранит секретные значения как Base64 в YAML-манифестах. Их декодирование раскрывает реальные пароли, токены и ключи, хранящиеся в кластере — полезно для отладки и аудита.
Отладка конфигурации
Переменные среды и секреты CI/CD-пайплайнов часто кодируются в Base64 для безопасного хранения в файлах конфигурации YAML или JSON. Декодируйте их для проверки реальных значений при отладке.
Декодирование Data URI
Data URI встраивают ресурсы, закодированные в Base64, прямо в HTML/CSS. Декодируйте часть Base64 для извлечения исходного изображения, шрифта или другого встроенного ресурса.

Распространённые ошибки

Это наиболее частые причины ошибок декодирования Base64 на практике:

Отсутствующее заполнение
Строки Base64 должны иметь длину, кратную 4. Многие API и библиотеки JWT удаляют завершающие = для компактности. Добавьте заполнение обратно: количество отсутствующих = равно (4 - длина % 4) % 4.
Символы URL-safe не преобразованы
URL-safe Base64 использует - и _ вместо + и /. Если передать URL-safe Base64 напрямую в atob() или base64.b64decode(), произойдёт ошибка. Всегда заменяйте - → + и _ → / перед декодированием стандартными библиотеками.
Пробелы и переносы строк
PEM-сертификаты, MIME-данные и скопированный Base64 часто содержат переносы строк каждые 76 символов. Удалите все пробельные символы перед декодированием, чтобы избежать InvalidCharacterError.
Двоичный вывод vs текст
Base64 может кодировать любые двоичные данные, а не только текст. Если исходные данные были двоичным файлом (изображение, PDF), декодирование их как текста UTF-8 даст нечитаемый результат. Используйте соответствующий метод двоичного вывода для не-текстовых полезных нагрузок.

Примеры кода

Как декодировать строку Base64 на популярных языках и в различных средах:

JavaScript (browser)
// Standard Base64
const decoded = decodeURIComponent(escape(atob(encoded)))

// URL-safe Base64 (restore padding first)
function decodeUrlSafe(str) {
  const padded = str.replace(/-/g, '+').replace(/_/g, '/')
  const pad = padded.length % 4
  return decodeURIComponent(escape(atob(padded + '='.repeat(pad ? 4 - pad : 0))))
}
Node.js
// Standard
const decoded = Buffer.from(encoded, 'base64').toString('utf8')

// URL-safe
const decoded = Buffer.from(encoded, 'base64url').toString('utf8')
Python
import base64

# Standard
decoded = base64.b64decode(encoded).decode('utf-8')

# URL-safe (add padding if missing)
padding = '=' * (-len(encoded) % 4)
decoded = base64.urlsafe_b64decode(encoded + padding).decode('utf-8')
CLI (bash)
# Standard
echo "SGVsbG8sIFdvcmxkIQ==" | base64 -d

# URL-safe (restore + and / first)
echo "SGVsbG8sIFdvcmxkIQ" | tr '-_' '+/' | base64 -d

Base64 Decoder vs. альтернативы

Декодировать Base64 могут разные инструменты, но они отличаются по конфиденциальности, скорости и удобству.

Этот инструмент
Работает в браузере, мгновенно, приватно. Никакие данные не отправляются на сервер. Поддерживает стандартный и URL-safe Base64, автоматически исправляет отсутствующий padding и работает офлайн.
CLI (base64 -d)
Быстро для скриптов и больших файлов. Требует терминала. Для URL-safe ввода нужна ручная нормализация (-_ → +/).
Универсальные инструменты
Curl, Postman, DevTools браузера и онлайн-конвертеры — все они умеют декодировать Base64. Удобство варьируется; некоторые отправляют данные на удалённые серверы.

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

Почему декодирование даёт мусорные символы?
Наиболее распространённая причина — декодирование двоичных данных (изображения, сжатые файлы) как текста UTF-8 — двоичные байты часто не образуют допустимые последовательности Unicode. Другая причина — декодирование URL-safe Base64 (-_) стандартным декодером, ожидающим +/. Проверьте, какой вариант использует ваш источник.
Что такое InvalidCharacterError?
Эта ошибка браузера от atob() возникает, когда входные данные содержат символы вне алфавита Base64, такие как URL-safe символы (- или _), пробелы, переносы строк или символы не ASCII. Удалите пробелы и преобразуйте URL-safe символы перед вызовом atob().
Как понять, является ли мой Base64 URL-safe или стандартным?
Ищите символы - или _: если они есть — это URL-safe Base64. Стандартный Base64 использует + и /. URL-safe Base64 также обычно опускает символы заполнения =. JWT-токены всегда используют URL-safe Base64.
Может ли декодирование Base64 молча завершиться с ошибкой?
Да. Некоторые декодеры молча игнорируют недопустимые символы вместо того, чтобы генерировать ошибку, производя некорректный вывод. Всегда проверяйте, что декодированные данные соответствуют ожидаемому формату (JSON, заголовок изображения и т.д.).
Есть ли ограничение на размер для декодирования Base64?
Этот браузерный инструмент может обрабатывать строки Base64 размером до нескольких мегабайт, прежде чем интерфейс начнёт замедляться. Для очень больших файлов используйте CLI-инструмент или серверный декодер.
Почему Base64 заканчивается на один или два знака =?
= — символ заполнения. Base64 кодирует 3 байта в 4 символа. Если длина исходных данных не кратна 3, добавляются один или два символа =, чтобы общая длина вывода была кратна 4. Один = означает 2 входных байта в последней группе; два == означает 1 входной байт.
Можно ли декодировать бинарные файлы, изображения или PDF?
Да, но результатом будут сырые бинарные данные, которые могут отображаться некорректно в виде текста. Для бинарного контента лучше использовать data URI непосредственно в теге '<'img'>' или '<'a'>', или сохранять декодированные байты в файл с помощью скрипта.
Есть ли ограничение на размер данных для декодирования?
Этот инструмент работает полностью в браузере без серверных ограничений. Практические лимиты зависят от объёма памяти вашего браузера. Очень большие строки Base64 (больше нескольких МБ) удобнее обрабатывать с помощью CLI-инструмента, например base64 -d (Linux/macOS) или certutil -decode (Windows).