Base64 кодер и декодер
Кодируйте текст в Base64 и обратно с полной поддержкой UTF-8, включая кириллицу. Преобразуйте файл в data URI.
Бесплатно, без регистрации. Всё работает в вашем браузере. Данные не покидают устройство.
Как пользоваться
- 1Выберите кодирование или декодирование.
- 2Введите текст.
- 3Скопируйте результат.
- 4Для файла выберите его и скопируйте data URI.
Об инструменте
Base64 превращает двоичные данные в текст из 64 безопасных символов. Используется для встраивания изображений в HTML и CSS, передачи файлов через JSON API, вложений и авторизации. Base64 не шифрование.
Что такое Base64 и для чего он нужен
Base64 это способ представить любую последовательность байтов с помощью 64 символов из таблицы ASCII: заглавные и строчные буквы, цифры, плюс и косая черта. Идея проста: многие системы, через которые проходят данные (протоколы электронной почты, JSON, атрибуты HTML, параметры URL), не рассчитаны на безопасную передачу двоичных байтов, поэтому их сначала «упаковывают» в обычный текст.
Именно поэтому Base64 встречается повсюду: изображение, встроенное прямо в CSS через data: URI, вложение в письме, токен аутентификации в заголовке HTTP запроса, поле в JSON теле API вызова. Инструмент на этой странице работает в обоих направлениях с поддержкой UTF-8, поэтому кириллица и другие национальные символы проходят без искажений.
Важно понимать, чем Base64 не является: это не шифрование и не защита. Любой, кто получит код, сможет декодировать его за секунду, без ключа и пароля. Если данные нужно скрыть, нужна настоящая криптография, а не Base64.
Как сделать Base64 из текста или файла
Порядок действий всегда один и тот же, независимо от того, что вы кодируете:
- Вставьте текст в поле ввода или выберите файл.
- Инструмент берёт байты записи, чаще всего UTF-8, и делит их на группы по три байта.
- Каждая группа переводится в четыре символа Base64. Если в конце остаётся один или два байта, добавляются символы
=для дополнения. - Полученный код вы копируете и используете там, где нужно.
Практический пример: текст Zdravo в UTF-8 занимает 6 байтов и даёт WmRyYXZv. Русская буква ч занимает два байта, поэтому слово чай даёт xI3QsNC5. Эти символы = в конце не ошибка, они лишь говорят, сколько байтов было дополнено.
С файлами следите за размером. Изображение в 100 КБ после кодирования занимает около 133 КБ текста, а всё содержимое должно поместиться в одну строку. Для data URI в CSS это приемлемо для иконок и небольших картинок, но не для больших фотографий, потому что такой CSS загружается при каждом открытии страницы.
Совет для продвинутых: когда Base64 попадает в URL или имя файла, используйте вариант, безопасный для URL, где + и / заменяются на - и _, а = часто опускается. Стандартный и URL безопасный Base64 не всегда взаимозаменяемы, поэтому проверьте, что ожидает другая система.
Почему текст в Base64 выглядит длиннее и как это проверить
Base64 использует 64 символа, и каждый символ несёт 6 битов. Поскольку байт содержит 8 битов, символов требуется больше, чем байтов, примерно на четверть больше, плюс возможный =. Поэтому текст всегда выглядит длиннее оригинала, и это нормально, а не ошибка инструмента.
Когда декодирование не удаётся, причина почти всегда одна из следующих:
- код обрезан или часть потерялась при копировании из письма или сообщения в чате;
- в код попали пробелы, переносы строк или невидимые символы;
- смешиваются стандартный и URL безопасный Base64;
- текст закодирован в другой кодировке, поэтому национальные символы отображаются как вопросительные знаки или странные символы.
Проверка проста: длина корректного Base64 кода всегда кратна четырём, а символы вне базового набора встречаются редко. Если декодированный текст выглядит правильно, но буквы не те, проблема в кодировке, а не в самом коде Base64.
Самые частые ошибки при работе с Base64
Главная ошибка это отношение к коду Base64 как к секрету. Пароли, API ключи и личные данные в формате Base64 остаются полностью читаемыми для любого, кто их перехватит. Если токен передаётся через HTTPS, защиту обеспечивает TLS, а не кодирование.
Вторая частая ошибка это двойное кодирование. Если вы декодируете код, а затем снова кодируете тот же результат, получится другая строка, и вам будет трудно понять, где возникла проблема. Всегда следите за тем, в каком направлении вы движетесь, и сохраняйте оригинал, пока не убедитесь, что результат верный.
Третья это смешивание кодировок. Когда инструмент получает текст, он должен знать, что это UTF-8, иначе š и đ могут превратиться в нечитаемые последовательности. Поэтому при обмене данными с другой системой всегда указывайте кодировку, например в заголовке Content-Type: application/json; charset=utf-8.
Когда Base64 становится частью более крупной системы, например API, принимающего файлы, или обработки токенов на сервере, ошибки быстро множатся. В таких случаях EVI Solutions может помочь с архитектурой и интеграцией, а этот инструмент хорошо послужит для быстрой проверки отдельного текста или файла.
Частые вопросы
Base64 это шифрование?
Нет, это обратимое кодирование.
Почему Base64 длиннее оригинала?
Base64 увеличивает размер примерно на 33%.
Поддерживается ли кириллица?
Да, текст кодируется в UTF-8.