Об этом инструменте
Base64 превращает необработанные байты изображения в обычный текст, что удобно везде, где бинарный файл не подходит: встраивание маленькой иконки прямо в CSS `background-image`, HTML `<img src>` или полезную нагрузку JSON API — без отдельного запроса файла. Этот инструмент работает в обе стороны — перетащите изображение, чтобы получить его текст Base64, или вставьте Base64 (или полный data URI), чтобы восстановить и скачать изображение.
Кодирование читает исходные байты файла напрямую и заново представляет их как текст — без перерисовки через canvas, поэтому результат декодируется обратно в точно такой же исходный файл, байт в байт. Всё происходит локально в вашем браузере; ничего никуда не загружается. Учтите, что текст Base64 примерно на треть больше исходного бинарного файла, поэтому он подходит для маленьких иконок и миниатюр гораздо лучше, чем для крупных фотографий.
Частые вопросы
Меняет ли кодирование в base64 качество изображения?
Нет — base64 является текстовым кодированием точных байтов исходного файла, а не повторным сжатием изображения. Полученная строка декодируется обратно в идентичный побайтово файл, просто представленный в виде текста, а не двоичных данных (поэтому она примерно на 33% больше исходного размера файла — это плата за представление произвольных байтов в виде печатного текста, а не потеря данных изображения).
Почему моя закодированная строка намного больше исходного файла?
Base64 кодирует каждые 3 необработанных байта как 4 текстовых символа, что представляет собой математически фиксированное увеличение размера примерно на 33% — это нормально и ожидаемо для ЛЮБОГО base64-кодирования, а не специфично для изображений. Это оправданный компромисс, когда вы хотите встроить небольшое изображение прямо в текстовые форматы (CSS, HTML, JSON), чтобы избежать отдельного сетевого запроса, но это не лучший выбор для больших изображений, где дополнительный размер перевешивает преимущество пропуска одного запроса.