Введите текст или перетащите файл и сразу получите Base64: Hello превращается в SGVsbG8=, а café — в Y2Fmw6k=, потому что é занимает два байта UTF-8. Файлы выводятся как чистый Base64 или data: URL для CSS и HTML, а вариант для URL меняет + и / на - и _.
Как пользоваться
- Выберите формат: Base64, Base32, HEX, двоичный, URL, HTML, Unicode или Punycode.
- Выберите «Кодировать» или «Декодировать» и введите либо вставьте текст. Результат обновляется по мере ввода.
- Нажмите на результат, чтобы скопировать, или скачайте его. Кнопка обмена переносит результат во ввод и меняет направление.
- В режиме Base64 перетащите любой файл, чтобы получить Base64 или data URL. При декодировании картинки из Base64 появится предпросмотр с кнопкой скачивания.
- Если ввод не декодируется, ошибка укажет точный символ и позицию.
- Всё в UTF-8: эмодзи, кириллица и любые алфавиты сохраняются без искажений.
- Декодер Base64 понимает стандартный и URL-safe алфавит, отсутствие дополнения «=», переносы строк и data URL.
- Режим компонента URL кодирует все зарезервированные символы (/ ? & = #); «Весь URI» сохраняет структуру ссылки. Для данных форм включите «+ = пробел».
- Punycode преобразует международные домены: пример.рф ⇄ xn--e1afmkfd.xn--p1ai. Если вставить полный URL, преобразуется только хост.
- Ничего не отправляется: всё происходит в вашем браузере.
Кодирование — не шифрование
Все форматы здесь — обратимые способы записать байты текстом, закреплённые в открытых стандартах: Base64 и Base32 в RFC 4648, процентное кодирование в RFC 3986, сущности в стандарте HTML, Punycode в RFC 3492. Расшифровать их может любой без ключа. Они нужны, чтобы передавать данные через системы с ограниченным набором символов, а не чтобы прятать секреты.
Как работает Base64
Base64 берёт байты по три (24 бита) и записывает каждую тройку четырьмя символами из A–Z, a–z, 0–9, + и /. Поэтому результат примерно на 33 % длиннее исходных данных, а последняя группа дополняется знаком =: Man превращается в TWFu, Hello — в SGVsbG8=. Вариант для URL заменяет + и / на - и _, чтобы строку можно было вставлять в адреса и имена файлов; именно его используют JWT.
Текст сначала переводится в байты UTF-8: буква «я» занимает 2 байта (d1 8f), знак € — 3 байта (e2 82 ac), и всё кодируется верно. Инструменты, которые пропускают этот шаг, ломаются на любом символе вне ASCII.
Какой формат выбрать
URL-кодирование — для значений в query string (пробел становится %20, а в HTML-формах +), HTML-сущности — когда текст пользователя вставляется в страницу, hex и двоичный код — для просмотра сырых байтов, Base32 — для кодов без учёта регистра, например секретов TOTP, Punycode — для международных доменов: пример.рф в DNS записывается как xn--e1afmkfd.xn--p1ai.
Частые вопросы
Base64 — это шифрование?
Нет. Base64 — кодирование, которое любой мгновенно обратит без ключа. Оно лишь позволяет передавать двоичные данные в виде текста. Если данные секретны, сначала зашифруйте их.
Почему Base64 увеличивает размер?
Каждые 3 байта превращаются в 4 символа, поэтому объём растёт примерно на 33 %, плюс до двух знаков = в конце. Картинка на 30 КБ в Base64 занимает около 40 КБ.
Чем кодирование компонента отличается от кодирования всего URI?
Режим компонента кодирует зарезервированные символы / ? & = #, чтобы значение можно было вставить в query string. Режим полного URI оставляет их, чтобы адрес продолжал работать.
Почему в одних URL пробел — %20, а в других +?
Оба варианта означают пробел. %20 — стандартное процентное кодирование (RFC 3986), а + используется только в данных форм application/x-www-form-urlencoded. Для таких строк включите опцию «+ = пробел».
Можно ли декодировать Base64 в картинку или файл?
Да. Вставьте Base64 или data: URL в режиме декодирования: для изображения появится превью, а любой файл можно скачать с исходными байтами.
Поддерживаются ли эмодзи и кириллица?
Да. Перед кодированием ввод переводится в UTF-8, а после декодирования обратно, поэтому эмодзи, кириллица, японский и корейский текст возвращаются в точности как были.