powered by olehstudio.pro

Base64
кодирование

Кодирование и декодирование текста и файлов в Base64. Поддержка кириллицы и URL-safe варианта.

Исходный текст0
Base640

Выберите файл или перетащите сюда — получите Data URL для вставки в HTML или CSS

Что такое Base64

Base64 — способ представить любые двоичные данные с помощью 64 печатных символов: латинских букв, цифр, плюса и слэша. Изначально он появился в стандарте электронной почты MIME, где по каналу можно было передавать только текст, а вложения нужно было как-то доставить.

Алгоритм берёт по три байта исходных данных (24 бита) и разбивает их на четыре группы по 6 бит. Каждая группа превращается в один символ из таблицы. Отсюда главное следствие: объём вырастает примерно на треть. Файл в 300 КБ после кодирования займёт около 400 КБ.

Base64 — это кодирование, а не шифрование. Строку можно расшифровать в один клик без всякого ключа. Никогда не используйте его для защиты паролей или личных данных.

Где применяется

Обычный и URL-safe варианты

Стандартный алфавит содержит символы + и /, которые имеют особое значение в веб-адресах. В URL плюс интерпретируется как пробел, а слэш разделяет части пути. Поэтому существует URL-safe вариант, где они заменены на - и _.

СимволСтандартныйURL-safe
62-й+-
63-й/_
Дополнение=часто опускается

Символ = в конце — это padding, дополнение до кратности четырём. Он нужен, чтобы декодер понял, сколько байт было в последней неполной группе. В URL и JWT его обычно убирают, а при декодировании восстанавливают автоматически.

Data URL: когда стоит и когда нет

Встраивание картинки прямо в код избавляет от отдельного запроса к серверу. Но у подхода есть цена, и решение зависит от размера файла.

Кириллица и кодировки

Русский текст кодируется корректно: перед преобразованием строка переводится в байты UTF-8, где каждая кириллическая буква занимает два байта. Именно поэтому закодированная русская фраза выходит примерно вдвое длиннее аналогичной английской.

Простая функция btoa() в браузере с кириллицей падает с ошибкой, поскольку работает только с однобайтовыми символами. Здесь этот момент обработан через TextEncoder, так что текст на любом языке кодируется и восстанавливается без потерь.

Безопасность

Преобразование выполняется прямо в браузере. Ни текст, ни файлы не отправляются на сервер и нигде не сохраняются. Файлы обрабатываются через FileReader локально — они не покидают ваше устройство.

Частые вопросы

Base64 — это шифрование?
Нет. Это кодирование: любой может декодировать строку обратно за секунду без пароля и ключа. Base64 решает задачу совместимости, а не защиты. Для защиты данных нужны алгоритмы шифрования вроде AES.
Почему закодированная строка длиннее оригинала?
Каждые три байта превращаются в четыре символа, поэтому объём растёт примерно на 33 %. Это неизбежная плата за представление двоичных данных в текстовом виде.
Что означают знаки равенства в конце?
Это padding — дополнение до длины, кратной четырём. Один знак означает, что в последней группе было два байта, два знака — что один. Декодер по ним понимает, сколько байт отбросить в конце.
Когда нужен URL-safe вариант?
Когда строка попадает в веб-адрес, имя файла или JWT-токен. Стандартные символы + и / в этих контекстах ломают разбор, поэтому их заменяют на - и _.
Работает ли инструмент с кириллицей?
Да. Текст переводится в байты UTF-8 перед кодированием, поэтому русский, китайский и любой другой язык обрабатываются корректно и восстанавливаются без искажений.
Какого размера файл можно закодировать?
Технически ограничение зависит от памяти браузера. Мы поставили предел в 5 МБ: файлы больше приводят к строке в миллионы символов, с которой вкладка начинает заметно тормозить.
Стоит ли встраивать картинки в CSS через Base64?
Только мелкие — иконки и простые SVG до 5 КБ. Крупные изображения раздувают файл стилей и теряют независимое кеширование: при любой правке CSS браузер скачает их заново.
Отправляются ли мои данные на сервер?
Нет. Кодирование и декодирование выполняются в браузере, файлы читаются локально. Ничего не передаётся и не сохраняется.

Похожие инструменты

Все инструменты и сервисы →

Нужен сайт или Telegram-бот?

Разработка под ключ: от задачи до запуска и поддержки

Обсудить проект