Кодировщик и декодер Base64
Бесплатный кодировщик и декодер Base64. Вставьте текст, чтобы закодировать его, или вставьте Base64, чтобы получить исходные данные, — URL-safe алфавит, перенос строк и заполнение под вашим контролем. Всё преобразуется в браузере, ничего не отправляется.
Кодировать или декодировать
Вставьте ниже текст или Base64. Преобразование идёт в браузере по мере ввода, и ничего не загружается и не сохраняется.
Вставьте что-нибудь выше, чтобы преобразовать.
Пока ничего не преобразовано.
Ваш текст преобразуется локально на JavaScript. Он никогда не отправляется на сервер, не попадает в логи и не сохраняется — даже в хранилище браузера.
Мелочи, на которых спотыкаются
=. base64url обычно их отбрасывает. Строгий декодер отвергает форму без заполнения — поэтому одна и та же строка работает в одной библиотеке и падает в другой.+ и /. Оба небезопасны в URL, поэтому base64url меняет их на - и _. Декодирование одного как другого молча портит байты.Base64 берёт произвольные байты и переписывает их 64 символами, которые переживают любой текстовый канал. Это не шифрование и не сжатие: это способ провезти двоичные данные туда, где допустим только текст, ценой примерно трети лишнего объёма. Этот инструмент преобразует в обе стороны и показывает, что именно изменилось.
Главные преимущества
Типичные сценарии
Как этим пользоваться
- 1.Выберите направление. Отметьте Текст → Base64 для кодирования или Base64 → текст для декодирования. Префикс data: URI убирается сам.
- 2.Вставьте данные. Преобразование идёт по мере ввода. Пробелы и переводы строк внутри Base64 игнорируются, поэтому разбитый на строки MIME-блок вставляется без проблем.
- 3.Настройте параметры. Включите URL-safe алфавит для JWT и строк запроса или перенос каждые 76 символов для MIME и PEM.
- 4.Скопируйте или проверьте обратным ходом. Скопируйте результат или нажмите Поменять, чтобы подать его обратно в другом направлении и убедиться, что исходные данные восстанавливаются.
Мелочи, на которых спотыкаются
Base64 кажется простым, пока кодировщик и декодер не разойдутся в одном из этих четырёх пунктов. Каждый из них — настоящая причина «декодируется везде, кроме здесь».
=. base64url обычно их отбрасывает. Строгий декодер отвергает форму без заполнения — поэтому одна и та же строка работает в одной библиотеке и падает в другой.+ и /. Оба небезопасны в URL, поэтому base64url меняет их на - и _. Декодирование одного как другого молча портит байты.Ключевые возможности
- Преобразует в обе стороны, с кнопкой смены направления для обратного хода
- Стандартный и URL-safe (base64url) алфавиты
- Необязательный перенос каждые 76 символов для MIME и PEM
- Принимает данные без заполнения, с переносами и в виде data: URI
- Показывает размер входа и выхода и накладные расходы кодирования
- Переключается на шестнадцатеричный вид, когда раскодированные байты не текст
- Работает без сети после загрузки страницы; без аккаунта и без отправки
Base64 — это не защита
Об этом стоит сказать прямо, потому что ошибка распространённая и дорогая. Base64 — это кодирование, а не шифр. У него нет ключа, он ничего не скрывает, а обратное преобразование — один вызов функции. Пароль, токен или ключ API, «закодированный в Base64», для злоумышленника лежит открытым текстом.
Самый наглядный пример — Authorization: Basic, где внутри просто логин:пароль в Base64: это читает любой, кто видит запрос, и именно поэтому такое допустимо только по HTTPS. Используйте Base64, чтобы провезти байты по текстовому каналу. Когда содержимое нужно защитить, берите настоящее шифрование или подписанный токен. Подробный разбор — как три байта становятся четырьмя символами, два алфавита, заполнение и плата за размер — в нашем руководстве по кодированию и декодированию Base64.
Частые вопросы
Для чего нужен Base64?⌄
Base64 проводит двоичные данные через каналы, принимающие только текст: вложения в письмах, data: URI в CSS и HTML, сертификаты и ключи в файлах PEM, поля JSON и HTTP-заголовки вроде Authorization: Basic. Там, где сырые байты были бы испорчены или отвергнуты, Base64 доставит их в целости.
Base64 — это шифрование?⌄
Нет. Кодирование и шифрование — разные вещи. В Base64 нет ключа и нет никакой секретности: раскодировать его — один вызов функции, который эта страница выполняет по мере ввода. Никогда не используйте его для защиты пароля, токена или любого другого секрета.
Чем Base64 отличается от base64url?⌄
Всего двумя символами и заполнением. Стандартный Base64 заканчивает алфавит на + и /, которые в URL имеют особый смысл, поэтому base64url использует - и _ и обычно опускает заполнение =. JWT используют base64url. Декодирование одного варианта как другого портит результат — поэтому этот инструмент принимает оба и сообщает, какой распознал.
Почему мой Base64 длиннее исходных данных?⌄
Каждые три байта входа превращаются в четыре символа выхода, так что результат примерно на 33 % больше ещё до заполнения и переносов. Это цена использования только текстобезопасных символов. Если размер важен, сжимайте до кодирования, а не после: вывод Base64 почти не сжимается.
Почему раскодированный текст выглядит мусором?⌄
Обычно по одной из трёх причин: данные никогда и не были текстом (изображение или ключ — тогда инструмент показывает байты), строка в base64url раскодирована как стандартный Base64 или наоборот, либо исходные байты были не в UTF-8. Панель подробностей называет распознанный алфавит и заполнение, и это обычно сразу указывает на причину.