Що це за інструмент?
Base64 — це схема кодування, що перетворює бінарні або текстові дані на набір із 64 безпечних ASCII-символів (A–Z, a–z, 0–9, + та /). Вона використовується повсюди в програмному забезпеченні: вбудовування зображень у HTML/CSS, заголовки HTTP Basic-автентифікації, вкладення електронної пошти (MIME), JSON Web Tokens та дані API, які мають передаватися лише текстовими каналами.
Важливо: Base64 — це кодування, а не шифрування. Будь-хто може його декодувати. Його призначення — зробити дані безпечними для передачі через системи, що розуміють лише текст, а не зберегти їх у таємниці.
Base64 формально визначений у RFC 4648, який також визначає URL-безпечний варіант, що використовується в JWT та вебAPI: він замінює + на - та / на _, щоб закодований рядок міг передаватися в URL без відсоткового кодування.
Навіщо його використовувати?
- Декодуйте токени API, сегменти JWT та заголовки автентифікації, щоб побачити, що всередині.
- Кодуйте текст для data URI, конфігураційних файлів чи заголовків HTTP.
- Безпечно для UTF-8: емодзі та символи не з латиниці кодуються й декодуються коректно.
- 100% приватність — перетворення відбувається у вашому браузері, нічого не завантажується на сервер.
- Безкоштовно, без входу, без обмежень на розмір.
Як користуватися
- Введіть або вставте ваш вміст у поле введення.
- Натисніть "Encode", щоб перетворити текст на Base64, або "Decode", щоб перетворити Base64 назад у текст.
- Якщо декодування не вдається, введені дані не є коректним Base64 — перевірте на відсутні символи чи зайві пробіли.
- Натисніть "Copy", щоб скопіювати результат.
Приклад
Введення
Hello, CodeKitHub! 你好 👋Результат
SGVsbG8sIENvZGVLaXRIdWIhIOS9oOWlvSDwn5GLЗверніть увагу, як китайські символи та емодзі переживають перетворення туди й назад — це і є безпека для UTF-8.
Практичні поради
- Токени JWT складаються з трьох сегментів Base64, з'єднаних крапками — декодуйте перші два (заголовок і корисне навантаження) окремо, щоб прочитати їх; третій — це бінарний підпис і виглядатиме як шум.
- Якщо декодування сегмента JWT не вдається, це кодування base64url: спершу замініть - на + та _ на / (стандартні інструменти очікують алфавіт +/).
- Пробіли та переноси рядків усередині рядка Base64 зазвичай є нешкідливими залишками з електронної пошти чи логів, але відсутнє кінцеве доповнення = часто є проблемою — перевірте довжину, перш ніж вважати дані пошкодженими.
- Base64 збільшує обсяг даних приблизно на 33%. Це прийнятно для невеликих обсягів; для зображень понад кілька КБ звичайний файл майже завжди кращий вибір, ніж data URI.
Реальні сценарії використання
Три випадки, які приводять сюди людей щодня: читання вмісту заголовка Authorization чи JWT, декодування поля вебхука/API, що надійшло загорнутим у Base64 (часто це JSON — відформатуйте його після декодування), і створення вручну data URI чи рядка Basic-Auth під час налагодження.
Для бінарних даних (зображень, файлів) пам'ятайте, що при декодуванні як тексту ви отримаєте нечитабельний набір символів (мозаїку) — дані можуть бути цілком коректними, просто це не текст. Кодування/декодування бінарних даних належить до коду; цей інструмент оптимізований для текстових випадків.
Як діагностувати помилку декодування
Помилки декодування Base64 майже завжди зводяться до однієї з трьох причин, за спаданням частоти: вхідні дані насправді були base64url (використовує - та _ замість стандартних + та /, поширено в JWT та URL-безпечних контекстах) і потребують заміни цих символів назад, перш ніж стандартне декодування їх прийме; рядок був десь обрізаний (копіювання, що пропустило останні кілька символів, або обрізаний рядок логу) — це можна виявити, оскільки довжина коректного рядка Base64 завжди кратна 4 з урахуванням доповнення; або сторонні символи (зайвий пробіл, випадковий перенос рядка, випадково продубльований символ) потрапили під час копіювання — саме тому вставляння напряму з першоджерела, а не перенабір вручну, завжди безпечніше.
→ Форматер JSON · Кодувальник / Декодувальник URL · Декодер JWT
Часті запитання
Base64 — це шифрування?
Ні. Base64 — це оборотне кодування, яке будь-хто може декодувати — воно не дає жодного захисту. Якщо потрібно захистити дані, використовуйте справжнє шифрування (наприклад, AES); Base64 призначений лише для безпечної передачі даних як тексту.
Чому декодований результат виглядає як безглуздий набір символів?
Або введені дані насправді не є Base64, або вони були обрізані, або вихідні дані були бінарними (наприклад, зображення), а не текстом. Бінарні дані не відображаються як читабельні символи.
Що означають знаки = в кінці?
Це доповнення (padding). Base64 працює блоками: 3 вхідні байти → 4 вихідні символи. Коли довжина вхідних даних не ділиться на 3, один чи два символи = доповнюють останній блок.
Чи працює цей інструмент з емодзі та китайськими символами?
Так. Він спочатку кодує текст як байти UTF-8, що є стандартним підходом. Прості інструменти, які напряму використовують btoa(), не працюють із символами поза Latin-1 — цей інструмент такої проблеми не має.
Чи завантажуються мої дані кудись?
Ні. Кодування й декодування повністю виконуються у вашому браузері за допомогою JavaScript. Ваші дані ніколи не покидають ваш пристрій.