decode | inspect | copy

> base64 декодер | paste | decode <

// Вставьте любую строку Base64 — стандартную, URL-safe или без padding — и мгновенно декодируйте в текст UTF-8. Работает на 100 % в вашем браузере.

0 символов
[AUTO]

Автоопределение формата

Автоматически определяет стандартный RFC 4648 Base64, URL-safe Base64 (-_) и отсутствующий padding. Настройка не требуется — просто вставьте.

[LOCAL]

100 % в браузере

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

[FAST]

Мгновенное декодирование

Декодирует при вводе. Поддерживает многобайтовый UTF-8 текст, emoji, JSON, XML, бинарные данные в Base64. Неограниченный размер ввода.

// КАК РАБОТАЕТ ДЕКОДИРОВАНИЕ BASE64

Алгоритм декодирования Base64:

Base64 кодирует 3 байта бинарных данных в 4 ASCII-символа из алфавита на 64 символа (A-Z, a-z, 0-9, +, /). Декодирование обращает процесс: каждый символ отображается в 6-битное значение, и четыре 6-битные группы объединяются обратно в три 8-битных байта. Символы padding (=) добавляются, чтобы закодированная длина была кратна 4. Данный декодер принимает ввод с padding, без padding и URL-safe, и возвращает текст UTF-8.

Пример декодирования:

Ввод   : SGVsbG8sIEJhc2U2NCE=
Биты   : 01001000 01100101 01101100 01101100
         01101111 00101100 00100000 01000010
         01100001 01110011 01100101 00110110
         00110100 00100001
Вывод  : Hello, Base64!

Частые сценарии декодирования:

  • >Декодирование заголовка и payload JWT (до подписи)
  • >Чтение вложений email, закодированных в Base64 (MIME)
  • >Проверка URL-параметров Base64 и OAuth state-токенов
  • >Извлечение текста из Data URI (data:text/plain;base64,...)
  • >Отладка API-ответов, упаковывающих бинарные данные в Base64

// ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ

Как декодировать строку Base64 онлайн?

Вставьте строку Base64 в область ВВОД сверху — декодер запускается автоматически при вводе (авто-декод включён по умолчанию). Декодированный текст мгновенно появляется в области ВЫВОД. Также можно нажать [DECODE] явно или использовать Ctrl/Cmd + Enter. Всё работает локально в вашем браузере; ничего не отправляется на сервер, поэтому вставка JWT-токенов, OAuth state или конфиденциальных данных безопасна.

Какие варианты Base64 поддерживает этот декодер?

Все. Декодер автоматически определяет и принимает:
Стандартный Base64 (RFC 4648) — алфавит A-Z a-z 0-9 + / с padding =.
URL-safe Base64 (RFC 4648 §5) — алфавит с - и _ вместо + и /. Используется в JWT, OAuth, Google API, AWS S3 presigned URL.
Base64 без padding — завершающие = опущены. Часто в JWT, где декодер должен добавлять padding автоматически.
Терпимость к пробелам — переносы строк, табы и пробелы внутри строки Base64 удаляются перед декодированием (обрабатывает 76-колоночный MIME-вывод из тел email).

Обнаруженный формат показан в виде значка под кнопками, чтобы вы знали, какой вариант декодер классифицировал для вашего ввода.

Почему мой Base64 декодируется в абракадабру или выдаёт ошибку?

Большинство сбоев декодирования имеют одну из этих пяти причин:

1. Ввод на самом деле не Base64. Многие путают Base64 с hex, Base32 или URL-кодированием. Base64 использует только A-Z a-z 0-9 + / = (или - _ для URL-safe). Если строка содержит %20, это процентное кодирование; если она вся из 0-9 a-f, скорее всего это hex.

2. Усечение. Длина Base64 должна быть кратна 4 после padding. Копирование-вставка, отбрасывающая завершающие ==, вызывает ошибки "неверная длина". Этот декодер автоматически добавляет padding, но сильно усечённые строки всё равно не сработают.

3. Смешение URL-safe и стандарта. Если +/-_ присутствуют все, строка неоднозначна и, скорее всего, повреждена. Должен использоваться только один вариант.

4. Двойное кодирование. Иногда строка кодируется Base64 дважды. Декодирование один раз даёт абракадабру, которая сама является Base64. Декодируйте ещё раз, чтобы получить окончательный текст.

5. Исходные байты не UTF-8. Base64 декодируется в байты. Если исходные байты не являются корректным UTF-8 (например, сырые бинарные данные типа зашифрованного блоба или PNG), декодированный вывод будет выглядеть как mojibake. Это ожидаемо — используйте инструмент Base64-в-файл вместо этого.

Как декодировать JWT этим Base64-декодером?

JWT имеет три части, разделённые точками: header.payload.signature. Все три — URL-safe Base64 без padding. Чтобы просмотреть payload:

1. Скопируйте средний сегмент (между двумя точками).
2. Вставьте его в декодер сверху. Авто-декод обрабатывает URL-safe алфавит и добавляет недостающий padding.
3. Вы получите JSON payload с claim-ами типа iss, sub, exp, iat.

Подпись (третий сегмент) — бинарный вывод HMAC или RSA — декодирование её как текста даёт абракадабру, что ожидаемо. Для полноценного JWT-инспектора с проверкой подписи используйте наш специализированный JWT декодер.

Замечание о безопасности: декодирование JWT не означает его проверку. Любой может прочитать payload JWT — это по замыслу. Подпись доказывает, что токен пришёл от эмитента; она проверяется отдельно с публичным ключом эмитента или общим секретом.

Можно ли декодировать Base64 в командной строке (bash, PowerShell, Python)?

Да — каждая крупная платформа поставляется с Base64-декодером:

macOS / Linux (bash/zsh):
echo 'SGVsbG8=' | base64 -d — выводит Hello. Используйте -D на macOS, если -d не работает. Для URL-safe ввода сначала пропустите через tr '_-' '/+'.

Windows PowerShell:
[Text.Encoding]::UTF8.GetString([Convert]::FromBase64String('SGVsbG8='))

Python:
import base64
base64.b64decode('SGVsbG8=').decode('utf-8') # Hello
base64.urlsafe_b64decode(s + '===').decode() # URL-safe с авто-padding


Node.js:
Buffer.from('SGVsbG8=', 'base64').toString('utf-8')

DevTools браузера:
atob('SGVsbG8=') — работает в любой консоли. Для UTF-8 строк оборачивайте в new TextDecoder().decode(Uint8Array.from(atob(s), c => c.charCodeAt(0))).

PHP: base64_decode('SGVsbG8=')
Ruby: Base64.decode64('SGVsbG8=')
Go: base64.StdEncoding.DecodeString("SGVsbG8=")

Безопасен ли этот Base64-декодер для декодирования чувствительных токенов и учётных данных?

Да — этот декодер безопаснее серверных инструментов, потому что ничего не покидает ваш браузер. Декодирование целиком происходит в JavaScript на вашем устройстве через нативные API atob() и TextDecoder. Нет сетевого вызова, загрузки, логирования, аналитики содержимого ввода. Вы можете убедиться сами, открыв вкладку Network в DevTools браузера во время декодирования — увидите ноль запросов.

Тем не менее Base64 не шифрование — это просто кодирование. Любой со строкой Base64 может её декодировать. Так что, хотя этот инструмент безопасен, всё равно следует:
• Никогда не делиться скриншотами декодированных JWT, которые не истекли.
• Ротировать учётные данные, утечённые куда угодно (логи, скриншоты, общий чат).
• Относиться к декодированным OAuth state, CSRF-токенам и ID сессий как к секретам до инвалидации.

Для корпоративных/регулируемых сред, где даже строка Base64 чувствительна, можно сохранить эту страницу офлайн (Cmd/Ctrl + S) — она работает полностью изолированно после одной загрузки, поскольку логика декодирования — это чистый JavaScript.

Как декодировать Base64 Data URI типа 'data:image/png;base64,iVBORw0KGgo...'?

Data URI следует синтаксису data:[<mediatype>][;base64],<data>. Чтобы декодировать только payload:

1. Найдите запятую. Всё до неё — метаданные (data:image/png;base64), всё после — файл, закодированный в Base64.
2. Скопируйте только часть после запятой в этот декодер.
3. Для бинарного содержимого (PNG, JPG, PDF) декодированный вывод будет сырыми байтами — текстовое отображение покажет mojibake. Это ожидаемо.
4. Чтобы просмотреть Data URI изображение, вставьте всю data:... URI в адресную строку браузера — браузер декодирует и отрисует её напрямую.
5. Чтобы сохранить файл изображения, используйте наш специализированный инструмент Base64 в изображение, обрабатывающий полный Data URI и скачивающий PNG/JPG/WebP.

Data URI часто встречаются в: CSS-правилах background-image, встроенных SVG-иконках, изображениях подписи email, PDF-вложениях, закодированных в JSON API-ответах, и бандлах иконок расширений Electron/VS Code.

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

Кодирование берёт произвольные бинарные или текстовые данные и производит ASCII-строку, используя только печатаемые символы — безопасно для передачи по только-текстовым каналам (email, URL, JSON). Декодирование обращает это: ASCII Base64 строка становится исходными байтами.

Ключевые свойства:
Round-trip без потерь: decode(encode(x)) === x для любого байтового ввода. Никакие данные никогда не теряются.
Не шифрование: Base64 не даёт никакой секретности. Любой может его декодировать.
Размер: закодированный вывод ~на 33 % больше ввода (4 байта вывода на 3 байта ввода).
Сценарии: JWT-токены, MIME email-вложения, заголовки HTTP Basic Auth, OAuth-коды, S3 presigned URL, встроенные изображения в HTML/CSS.

Эта страница посвящена декодированию. Если нужно идти в другую сторону (текст/файл → Base64), используйте наш Base64 кодировщик на главной странице или наш конвертер изображения в Base64 для файлов изображений.

Можно ли декодировать очень большие строки Base64 или файлы, закодированные в Base64?

Да, в пределах лимитов памяти браузера. Декодер принимает неограниченную длину ввода — мы тестировали с Base64 строками 50 МБ (~37 МБ декодированных) на современных ноутбуках. Производительность:

< 100 КБ: мгновенно, без задержки UI.
1 – 10 МБ: декодирование занимает ~50-500 мс в зависимости от CPU.
10 – 100 МБ: браузер может кратко зависнуть (2-10 с), поскольку atob синхронный. Сначала отключите auto-decode и нажмите [DECODE] вручную.
> 100 МБ: упрётесь в лимиты памяти браузера. Для Base64-файлов гигабайтного масштаба используйте инструмент командной строки (base64 -d).

Если декодированное содержимое — бинарный файл (PNG, PDF, ZIP), текстовая область вывода покажет mojibake. Чтобы скачать декодированные байты как файл, используйте наш инструмент Base64 в изображение (обрабатывает изображения) или подход командной строки: echo '<base64>' | base64 -d > output.bin.

Работает ли этот Base64-декодер офлайн?

Да. После того как страница загружается один раз, всё декодирование происходит на стороне клиента в JavaScript — сеть не нужна. Чтобы сделать полностью офлайн:

1. Сохраните страницу: нажмите Ctrl+S (Windows/Linux) или Cmd+S (macOS) и сохраните как "Веб-страница, полностью". Декодер работает из сохранённого HTML.
2. Установите как PWA (если поддерживается): некоторые браузеры предлагают "Установить это приложение" для base64.sh — даёт лаунчер с офлайн-доступом.
3. Используйте в DevTools: нативная функция atob() работает в любой консоли браузера без этой страницы. Для быстрого декодирования: atob('SGVsbG8=').

Офлайн-работа полезна для: безопасностных исследований в изолированных средах, пентест-лабораторий, корпоративных сред со строгими правилами исходящих данных, а также для полётов/поездов без интернета.

// RELATED TOOLS

// OTHER LANGUAGES