Base64 — це схема кодування двійкових даних у текст, що представляє двійкові дані за допомогою набору з 64 друкованих ASCII-символів. Вона була розроблена для безпечного передавання двійкових даних через системи, що працюють лише з текстом — такі як електронна пошта (MIME), HTTP-заголовки та XML. Назва «Base64» походить від 64 символів, що використовуються в алфавіті кодування.
Кодування працює так: три байти вхідних даних (24 біти) розбиваються на чотири групи по 6 бітів. Кожне 6-бітове значення відповідає одному символу алфавіту Base64. Якщо довжина вхідних даних не є кратною трьом, додаються символи заповнення (=), щоб довжина виходу була кратною чотирьом символам. Результат — рядок приблизно на 33% більший за оригінальні дані, але безпечний для передачі як звичайний текст.
Навіщо використовувати цей інструмент?
Цей кодувальник правильно обробляє текст Unicode, підтримує стандартний та URL-safe варіанти і повністю кодує у вашому браузері — ваші дані ніколи не залишають ваш комп'ютер.
⚡
Миттєве кодування
Результати з'являються під час введення. Не потрібно натискати кнопки чи чекати на відповідь сервера.
🔗
Перемикач URL-safe
Перемикайтесь між стандартним (+/) та URL-safe (-_) кодуванням одним кліком. Символи заповнення для URL-safe варіанту видаляються автоматично.
🔒
Повністю на стороні клієнта
Усе кодування відбувається локально у вашому браузері з використанням нативного API btoa та TextEncoder. Нічого не надсилається на жодний сервер.
🎛️
Підтримка Unicode
Правильно обробляє повний Unicode, включаючи емодзі, символи CJK та будь-який текст UTF-8, використовуючи encodeURIComponent перед кодуванням.
Як користуватися цим онлайн-кодувальником Base64
Без облікового запису, без встановлення, без завантаження — вставте текст, і закодований результат з'явиться миттєво.
1
Вставте або введіть текст
Клацніть поле введення і вставте будь-який текст — прості рядки, JSON-навантаження, API-ключі, адреси електронної пошти або будь-який вміст UTF-8. Кодування оновлюється в реальному часі під час введення.
2
Виберіть варіант
Оберіть Стандартний (RFC 4648) для MIME, HTTP Basic Auth і загального використання. Оберіть URL-безпечний для JWT-токенів, параметрів рядка запиту, імен файлів і будь-якого контексту, де + або / порушать розбір URL.
3
Скопіюйте результат
Натисніть «Копіювати», щоб надіслати рядок Base64 до буфера обміну одним кліком. Результат готовий до вставки безпосередньо у ваш код, конфігураційний файл або API-запит.
4
Використовуйте у своєму застосунку
Вставте закодований рядок там, де він потрібен — заголовки Authorization, URI даних, поля JSON, змінні середовища або Kubernetes-секрети. Для URL-безпечного виводу відступи вже видалено.
Алфавіт Base64
Base64 використовує 64 символи: великі літери A–Z (значення 0–25), малі літери a–z (26–51), цифри 0–9 (52–61) та два спеціальні символи для значень 62 і 63. Стандартний варіант RFC 4648 використовує + та /; URL-safe варіант замінює їх на - та _, щоб уникнути конфліктів в URL і назвах файлів.
A–Z
0–25
ABCDEFGHIJKLMNOPQRSTUVWXYZ
a–z
26–51
abcdefghijklmnopqrstuvwxyz
0–9
52–61
0123456789
+, /
62–63
Стандарт RFC 4648 — уникайте в URL і назвах файлів
-, _
62–63
URL-safe варіант (RFC 4648 §5) — безпечний в URL і назвах файлів
Стандартний Base64 проти URL-safe
Стандартний алфавіт Base64 використовує + та /, які є спеціальними символами в URL і шляхах до файлів. URL-safe варіант замінює їх на - та _ і зазвичай опускає символи заповнення =. Використовуйте URL-safe кодування для JWT-токенів, даних у рядках запиту, назв файлів і будь-якого контексту, де + або / можуть бути хибно інтерпретовані.
Введення
Стандартний
URL-safe
Man
TWFu
TWFu
Hello
SGVsbG8=
SGVsbG8
A
QQ==
QQ
1+1=2
MSsxPTI=
MSsxPTI
Поширені випадки використання
Вкладення електронної пошти (MIME)
SMTP був розроблений для 7-бітного ASCII-тексту. Кодування Base64 використовується стандартом MIME для безпечного вбудовування двійкових вкладень (зображення, PDF, виконувані файли) у поштові повідомлення.
Data URI
Вбудовуйте зображення, шрифти та інші ресурси безпосередньо в HTML або CSS за допомогою data URI: data:image/png;base64,... — усуваючи зайві HTTP-запити для невеликих ресурсів.
Корисні навантаження API
REST API часто вимагають Base64-кодування двійкових полів (завантаження файлів, криптографічні ключі, сертифікати) при вбудовуванні в JSON, оскільки JSON не має двійкового типу.
Файли конфігурації
Секрети Kubernetes, змінні середовища та конфігурації CI/CD зазвичай зберігають двійкові секрети та сертифікати як рядки Base64, щоб уникнути проблем з екрануванням.
HTTP Basic Auth
HTTP-заголовок Authorization: Basic кодує облікові дані як Base64(ім'я_користувача:пароль). Це не шифрування — воно лише забезпечує кодування для транспортування в заголовках.
JWT-токени
JSON Web Token використовують URL-safe Base64 (base64url) для кодування сегментів заголовка та корисного навантаження, роблячи токен безпечним для використання в URL і HTTP-заголовках без екранування.
Коли НЕ слід використовувати Base64
Base64 — це транспортне кодування, а не механізм безпеки. Ось найпоширеніші неправильні застосування, що спричиняють реальні проблеми в продакшені:
✕
Не для безпеки чи шифрування
Base64 тривіально оборотний — для його декодування не потрібен жодний ключ чи пароль. Будь-хто, хто бачить рядок Base64, може декодувати його за секунди. Ніколи не використовуйте Base64 як замінник шифрування, хешування чи контролю доступу.
✕
Не для стиснення
Base64 збільшує розмір вихідних даних приблизно на 33%. Це протилежність стиснення. Не використовуйте його для зменшення розміру навантаження — натомість використовуйте gzip, Brotli або zstd.
✕
Не для зберігання бінарних файлів
Зберігання великих бінарних файлів у вигляді Base64 у базах даних або JSON API значно марнує місце для зберігання та пам'ять. Використовуйте об'єктне сховище (S3, R2, Cloudflare) і передавайте бінарні дані безпосередньо.
Приклади коду
Як закодувати рядок у Base64 в популярних мовах і середовищах:
JavaScript (browser)
// Standard Base64
const encoded = btoa(unescape(encodeURIComponent(text)))
// URL-safe Base64 (no padding)
const urlSafe = btoa(unescape(encodeURIComponent(text)))
.replace(/\+/g, '-').replace(/\//g, '_').replace(/=/g, '')
Існує кілька онлайн-кодувальників Base64. Ключові відмінності для щоденного використання розробниками — конфіденційність, коректність і підтримка варіантів.
Повністю приватно — без сервера
Цей кодувальник працює повністю у вашому браузері, використовуючи нативний API btoa та TextEncoder. Ваш текст ніколи не передається жодному серверу — безпечно для API-ключів, токенів і секретів.
Коректне кодування Unicode
Багато онлайн-інструментів Base64 мовчки пошкоджують не-ASCII-введення. Цей інструмент коректно обробляє повний Unicode — емодзі, CJK, арабську та весь текст UTF-8 — попередньо кодуючи у байти UTF-8.
Обидва варіанти в одному місці
Більшість інструментів пропонують лише стандартний Base64. Цей кодувальник забезпечує обидва варіанти: стандартний (+/) і URL-безпечний (-_) з автоматичною обробкою відступів — ручна заміна символів не потрібна.
Поширені запитання
Чи є Base64 тим самим, що й шифрування?
Ні. Base64 — це схема кодування, а не шифрування. Воно тривіально оборотне для будь-кого — для його декодування не потрібні ключ або пароль. Ніколи не використовуйте Base64 для захисту конфіденційних даних. Для цього використовуйте належне шифрування (AES, RSA).
Чому вивід Base64 закінчується на = або ==?
Base64 працює групами по 3 байти (24 біти), виробляючи 4 символи Base64. Якщо довжина введення не є кратною 3, додаються символи заповнення (=), щоб довжина виводу була кратною 4. Один = означає, що в останній групі було 2 байти; два = — що був 1 байт.
Що таке URL-safe Base64?
URL-safe Base64 (визначений в RFC 4648 §5) замінює + на - та / на _, щоб закодований рядок можна було використовувати в URL, назвах файлів і HTTP-заголовках без відсоткового кодування. Зазвичай також опускає символи заповнення =.
Наскільки Base64 збільшує розмір файлу?
Кодування Base64 збільшує розмір приблизно на 33%. Кожні 3 байти введення стають 4 символами виводу. Для файлу розміром 1 МБ вивід Base64 становитиме приблизно 1,37 МБ.
Чи можу я кодувати двійкові файли за допомогою цього інструменту?
Цей інструмент кодує текстові рядки (які потім обробляються як байти UTF-8). Для кодування довільних двійкових файлів (зображення, PDF, виконувані файли) використовуйте бібліотеку мови або CLI-інструмент, що читає необроблені байти.
У чому різниця між btoa() та Buffer.from().toString('base64')?
btoa() — це вбудована функція браузера, що працює з рядками Latin-1; вона видасть помилку для символів не-ASCII, якщо ви попередньо не закодуєте їх у байти UTF-8 (за допомогою encodeURIComponent). Buffer.from(text).toString('base64') в Node.js безпосередньо обробляє рядки UTF-8 і є кращим підходом на стороні сервера.
Чи працює Base64 з бінарними файлами?
Цей інструмент кодує текстові рядки як байти UTF-8 у Base64. Для бінарних файлів (зображень, PDF, виконуваних файлів) використовуйте інструмент командного рядка або бібліотеку мови, що читає необроблені байти. У браузері використовуйте FileReader.readAsDataURL(), який повертає URI даних із вмістом у форматі Base64.
Чи є обмеження розміру для кодування?
Цей інструмент працює повністю в браузері без серверних обмежень. Практичні обмеження залежать від пам'яті браузера. Для дуже великих вхідних даних (понад кілька МБ) інструмент командного рядка — base64 (Linux/macOS) або certutil -encode (Windows) — є ефективнішим.