Base64 encode і decode онлайн
Кодує текст у Base64 і розкодовує назад, зі стандартним або URL-safe алфавітом.
Показує, що заховано в base64-рядку з логу чи заголовка
Заголовок Authorization: Basic, вкладення в JSON, значення в куках, картинка в data-URL: усе це base64. Інструмент розкодовує рядок, щоб побачити, що всередині, і кодує текст назад, у стандартному або URL-safe варіанті.
base64_encode і base64_decode працюють з байтами, тому кирилиця кодується як UTF-8 без додаткових кроків. Другий аргумент decode, strict, змушує повертати false на символах поза алфавітом замість того, щоб мовчки їх пропускати; для даних ззовні вмикайте його.
$encoded = base64_encode('Привіт, phpukraine');
// 0J/RgNC40LLRltGCLCBwaHB1a3JhaW5l
$decoded = base64_decode($encoded, strict: true);
// URL-safe варіант, як у JWT
$urlSafe = rtrim(strtr(base64_encode($bytes), '+/', '-_'), '=');
$back = base64_decode(strtr($urlSafe, '-_', '+/'));
Що питають про цей інструмент
Ні. Це кодування: будь-хто розкодує його за мілісекунду без ключа. Base64 потрібен, щоб передати бінарні дані там, де дозволений лише текст: у JSON, заголовках HTTP, data-URL. Для секретів потрібне шифрування, наприклад sodium_crypto_secretbox.
Стандартний алфавіт містить + і /, які в URL мають своє значення, і = для вирівнювання. URL-safe замінює їх на - і _ і зазвичай прибирає =. Саме так закодовані частини JWT. У PHP окремої функції немає: робиться через strtr і rtrim.
Бо всередині були не текст, а байти: зображення, стиснуті дані, бінарний ключ. Інструмент показує їх як текст, наскільки може. Якщо очікували текст, перевірте, чи рядок не був закодований двічі або чи він узагалі base64: у ньому не буває пробілів і кирилиці.