CodeKitHub
Інструменти кодування

Кодувальник / декодувальник Base64 онлайн

Останнє оновлення:

Base64 перетворює кожні 3 байти даних на 4 ASCII-символи, тож закодований результат приблизно на 33% більший за вихідні дані. Перетворюйте текст на Base64 або декодуйте рядок Base64 назад у читабельний текст. Цей інструмент безпечний для UTF-8, тому коректно обробляє емодзі, китайські та інші символи поза ASCII, на яких ламаються прості інструменти Base64. Усе виконується локально у вашому браузері.

Що це за інструмент?

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% приватність — перетворення відбувається у вашому браузері, нічого не завантажується на сервер.
  • Безкоштовно, без входу, без обмежень на розмір.

Як користуватися

  1. Введіть або вставте ваш вміст у поле введення.
  2. Натисніть "Encode", щоб перетворити текст на Base64, або "Decode", щоб перетворити Base64 назад у текст.
  3. Якщо декодування не вдається, введені дані не є коректним Base64 — перевірте на відсутні символи чи зайві пробіли.
  4. Натисніть "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. Ваші дані ніколи не покидають ваш пристрій.

Схожі інструменти