tigtools

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

Перетворюйте текст або будь-який файл на Base64 чи декодуйте Base64 назад у читабельний текст або вихідний файл. Діакритичні знаки, емодзі та двійкові дані обробляються коректно.

Працює у вашому браузері Без реєстрації

Тип вхідних даних
Напрямок перетворення

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

  1. Виберіть «Текст» або «Файл» угорі.
  2. Для тексту виберіть напрямок перетворення та введіть або вставте текст. Результат оновлюється під час введення.
  3. Щоб закодувати файл, виберіть його або перетягніть сюди (до 10 MB). Увімкніть «Вивести як data URL», якщо хочете вставити його в HTML або CSS.
  4. Щоб перетворити Base64 назад на файл, виберіть «Base64 → Текст», вставте дані й натисніть «Завантажити як файл».

Як це працює

Base64 подає двійкові дані за допомогою 64 друкованих символів ASCII: A–Z, a–z, 0–9, + і /. Кожні 3 байти перетворюються на 4 символи, тому закодовані дані приблизно на 33% більші за оригінал. Якщо довжина вхідних даних не кратна 3, у кінці результату додається один або два знаки =.

Base64 — це кодування, а не шифрування. Будь-хто може декодувати дані без ключа, тому Base64 не можна використовувати для приховування паролів чи персональних даних. Це кодування дає змогу передавати двійкові дані через системи, призначені для тексту, як-от електронна пошта (MIME), JSON, XML, HTTP-заголовки та URL-адреси даних.

Текст спочатку перетворюється на байти UTF-8, тому символи поза ASCII кодуються правильно. Це важливо, адже вбудована функція браузера btoa не працює із символами на зразок é чи емодзі. Під час декодування інструмент перевіряє, чи результат є коректним UTF-8; якщо ні, дані двійкові, тож їх показано у шістнадцятковому форматі, а не як нечитабельний текст.

Варіант, безпечний для URL-адрес (base64url, розділ 5 RFC 4648), замінює + на - і / на _, а також зазвичай не додає знаки = для доповнення, оскільки ці символи мають спеціальне значення в URL-адресах. Цей формат використовують у JSON Web Tokens і багатьох веб-API. Перенесення рядків MIME (RFC 2045) розбиває результат на рядки довжиною не більше 76 символів — цього вимагають деякі поштові системи та файли сертифікатів PEM.

Декодування допускає відхилення, якщо це безпечно: пробіли й переноси рядків ігноруються, відсутні знаки доповнення додаються, а обидва алфавіти приймаються. Інші помилки, наприклад зайвий символ або знак доповнення всередині рядка, вказуються із зазначенням позиції, а не мовчки ігноруються.

Приклади

Кодування тексту з діакритичними знаками й емодзі

«Grüße 👋» перетворюється на R3LDvMOfZSDwn5GL. Символи ü та ß займають по 2 байти UTF-8, а емодзі — 4, тож 7 символів перетворюються на 12 байтів і 16 символів Base64.

Створення HTTP-заголовка Authorization для Basic-аутентифікації

Для користувача “alice” і пароля “s3cret” закодуйте alice:s3cret, щоб отримати YWxpY2U6czNjcmV0, і надішліть заголовок Authorization: Basic YWxpY2U6czNjcmV0. Оскільки Base64 — це не шифрування, базову автентифікацію слід використовувати лише через HTTPS.

Відновлення файлу з URL-адреси даних

Вставте рядок на зразок data:image/png;base64,iVBORw0KGgo… у Base64 → Text. Інструмент видалить префікс, розпізнає дані PNG і покаже їх у шістнадцятковому форматі, оскільки це не текст. Кнопка «Завантажити як файл» збереже файл decoded.png.

Поширені запитання

Base64 — це різновид шифрування?

Ні. Base64 — це оборотне кодування, для якого не потрібні ключ чи секрет. Будь-хто, хто побачить рядок Base64, може миттєво його декодувати, тому ніколи не покладайтеся на нього для захисту паролів, токенів чи персональної інформації.

Чому в інших інструментах після декодування текст відображається дивними символами?

Зазвичай це відбувається, коли текст закодували в UTF-8, а декодували як Latin-1 (або навпаки). Цей інструмент завжди використовує UTF-8 і повідомляє, якщо декодовані байти не є коректним текстом UTF-8.

Чим Base64 відрізняється від base64url?

Обидва варіанти використовують той самий метод, але base64url замінює + на - і / на _, а також зазвичай прибирає символи доповнення =. Завдяки цьому результат можна використовувати в URL і назвах файлів без додаткового екранування. Цей декодер підтримує обидва варіанти.

Чому результат у Base64 більший за файл?

Base64 перетворює кожні 3 байти на 4 символи, збільшуючи розмір приблизно на 33%. Перенесення рядків додає ще 2 символи (CRLF) на кожні 76 символів. Для великих зображень зазвичай краще розміщувати файл окремо, а не вбудовувати його як data URL.

Є обмеження на розмір?

Розмір файлів — до 10 MB. Для вставленого тексту фіксованого обмеження немає, але дуже великі дані (десятки мегабайтів) можуть сповільнити роботу сторінки, особливо на телефонах.

Конфіденційність

Кодування й декодування відбуваються у вашому браузері. Текст і файли не передаються на сервер і не зберігаються, а їхній вміст не включається в аналітику. Файли для завантаження створюються локально на вашому пристрої.