tigtools

Кодировщик и декодер Base64

Преобразуйте текст или любой файл в Base64 либо декодируйте Base64 обратно в читаемый текст или исходный файл. Символы с диакритическими знаками, эмодзи и двоичные данные обрабатываются корректно.

Работает в браузере Без регистрации

Тип входных данных
Направление

Как пользоваться

  1. Выберите сверху «Текст» или «Файл».
  2. Для текста выберите направление преобразования и введите или вставьте текст. Результат обновляется по мере ввода.
  3. Чтобы закодировать файл, выберите его или перетащите сюда (до 10 МБ). Включите «Выводить как 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 и многих веб-API. Перенос строк MIME (RFC 2045) разбивает результат на строки длиной не более 76 символов — этого требуют некоторые почтовые системы и файлы сертификатов PEM.

При декодировании инструмент допускает безопасные варианты: пропускает пробелы и переносы строк, добавляет недостающие знаки дополнения и принимает оба алфавита. Другие ошибки, например лишний символ или знак дополнения в середине строки, указываются с позицией, а не игнорируются без предупреждения.

Примеры

Кодирование текста с диакритикой и эмодзи

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

Создание HTTP-заголовка авторизации Basic

Для пользователя «alice» и пароля «s3cret» закодируйте alice:s3cret, чтобы получить YWxpY2U6czNjcmV0, и отправьте заголовок Authorization: Basic YWxpY2U6czNjcmV0. Поскольку Base64 — это не шифрование, аутентификацию Basic следует использовать только через HTTPS.

Восстановление файла из URL данных

Вставьте строку, например data:image/png;base64,iVBORw0KGgo… в поле «Base64 → Текст». Инструмент удалит префикс, распознает данные 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 МБ. Для вставленного текста фиксированного ограничения нет, но очень большие данные (десятки мегабайт) могут замедлить работу страницы, особенно на телефонах.

Конфиденциальность

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