Декодування 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
Вставте рядок Base64
Скопіюйте будь-який рядок у кодуванні Base64 з вашого джерела — JWT, відповідь API, заголовок вкладення листа або конфігураційний файл — і вставте його в поле введення. Стандартні та URL-safe варіанти визначаються автоматично.
2
Автоматичне визначення та виправлення
Декодер визначає, чи використовується стандартний Base64 (+/), чи URL-safe Base64 (-_), і автоматично виправляє відсутній символ = для заповнення. Нема потреби вручну нормалізувати рядок перед декодуванням.
3
Перевірте вивід
Декодований текст відображається в полі виводу. Якщо вихідні дані були текстом у UTF-8, вони відображаються як читабельні символи. Бінарні дані відображаються як є. Якщо вхідні дані містять неприпустимі символи, які неможливо декодувати, з'явиться повідомлення про помилку.
4
Скопіюйте або використайте результат
Натисніть «Копіювати», щоб скопіювати декодований вивід, або використайте його безпосередньо у своєму робочому процесі. Потрібно перекодувати результат? Перейдіть до інструменту «Base64 Encoder» одним кліком.
Як працює декодування
Кожен символ Base64 зіставляється з 6-бітним значенням (0–63). Чотири послідовні символи дають 24 біти, які декодуються у 3 байти вихідних даних. Наведений нижче приклад показує, як «TWFu» декодується назад у «Man»:
Приклад "Man" → TWFu → "Man"
Символ
Індекс
6 бітів
T
19
010011
W
22
010110
F
5
000101
u
46
101110
Чотири 6-бітні групи (010011 010110 000101 101110) об'єднуються в 24 біти, потім розбиваються на три 8-бітні байти: 01001101 (M=77), 01100001 (a=97), 01101110 (n=110).
Розуміння заповнення
Кодування Base64 групує вхідні байти наборами по 3. Коли довжина введення не ділиться на 3, додаються символи заповнення (=) для завершення останньої групи. При декодуванні ці символи = видаляються, і декодер знає, що має відкинути зайві нульові біти, додані під час кодування.
Вихідний
Закодований
Правило заповнення
A
QQ==
1 byte → 2 padding chars
AB
QUI=
2 bytes → 1 padding char
ABC
QUJD
3 bytes → no padding needed
Поширені випадки використання
Перевірка корисних навантажень JWT
JWT-токени складаються з трьох сегментів, закодованих у URL-safe Base64. Декодування другого сегмента (корисного навантаження) розкриває заявки: ідентифікатор користувача, ролі, час закінчення дії та інші метадані — без потреби у ключі підпису.
Читання відповідей 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.
✕
Двійковий проти текстового виводу
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))))
}
Декодувати 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).