Перейти к содержимому
🔡

Картинка в Base64

Переведите картинку JPG, PNG, GIF, WebP или SVG в Base64: data URI, тег img или CSS-фон — копируется одним нажатием, картинки не загружаются на сервер

Инструмент справился с вашей задачей?

Одно нажатие, без регистрации. По ответам мы решаем, какие инструменты дорабатывать первыми.

Ваш ответ здесь будет первым.

Этот инструмент ещё ждёт первого комментария

Нашли приём, остался вопрос или чего-то не хватило — напишите, пригодится следующим. Без почты и пароля · публикуем после проверки, обычно за 1–2 дня

Как конвертировать картинку в Base64 онлайн

Инструмент переводит картинку в Base64 — строку из латинских букв, цифр и знаков «+», «/» и «=», которую вставляют прямо в HTML, CSS или JSON вместо ссылки на файл. Выберите файлы на компьютере или телефоне, перетащите их на область загрузки или вставьте картинку из буфера обмена сочетанием Ctrl+V (на Mac — Cmd+V), если браузер отдаёт её файлом. Готовую строку копируют одной кнопкой или скачивают файлом .txt.

Формат определяется по содержимому файла, а не по расширению: подходят PNG, JPG, GIF, WebP, AVIF, BMP, ICO, CUR и SVG. Base64 записывает байты файла как есть, ничего не пересжимая, поэтому анимация GIF и прозрачность PNG сохраняются. У каждой картинки видны формат, размер в пикселях, вес файла и длина строки. HEIC и TIFF страница не кодирует: такой data URI покажет только Safari (TIFF — по документации MDN, HEIC — по таблице caniuse, с Safari 17), поэтому сначала переведите файл в JPG.

Всё происходит в браузере: картинки не загружаются на сервер ToolFox, регистрация не нужна. За раз можно закодировать до 50 картинок — до 25 МБ каждая и до 100 МБ вместе. Если в фото с телефона есть EXIF с геометкой, страница предупредит об этом и предложит убрать метаданные, не пересжимая картинку.

  • PNG, JPG, GIF, WebP, AVIF, BMP, ICO, CUR и SVG — формат по содержимому файла
  • Data URI, чистый Base64, тег img с шириной и высотой или правило CSS background-image
  • SVG — с Base64 или без него, с длиной обоих вариантов
  • Вес файла и длина строки у каждой картинки
  • Копирование одной кнопкой или скачивание файлом .txt
  • Предупреждение об EXIF и геометке и галочка, чтобы убрать их без пересжатия
  • До 50 картинок за раз: скопировать все строки или скачать их одним файлом
  • Обработка в браузере: картинки не загружаются на сервер

Data URI, тег img или CSS: что вставлять в код

Data URI — это вся картинка, записанная одной строкой: в начале тип файла, например data:image/png;base64, а дальше сам Base64. Браузер принимает такую строку там же, где ждёт адрес картинки: в атрибуте src тега img и в url() CSS-свойства background-image.

Переключатель над результатом даёт четыре вида строки. Data URI выбран по умолчанию. Вариант «Только Base64» — строка без префикса, для случаев, когда тип картинки передаётся отдельно, например отдельным полем в API. Вариант с тегом img — готовый фрагмент HTML с шириной и высотой из файла (у SVG — если они в нём указаны) и атрибутом alt. Вариант CSS — свойство background-image со строкой в кавычках: его вставляют внутрь правила нужного селектора или в атрибут style. Готовые классы для нескольких картинок сразу даёт «Копировать все».

Строка Base64 длиннее файла примерно на треть: каждые 3 байта записываются 4 символами. Файл в 300 000 байт станет строкой ровно в 400 000 символов, а data URI добавит к ней ещё префикс с типом. Поэтому рядом с результатом показаны и вес файла, и длина строки.

    SVG в Base64 и data URI для CSS

    SVG — это текст, поэтому в data URI его можно записать двумя способами: закодировать в Base64 — строка начнётся с data:image/svg+xml;base64, — или оставить текстом, закодировав только служебные символы, — тогда после data:image/svg+xml, идёт сам код файла. Для SVG страница показывает оба варианта и длину каждого, а по умолчанию выбирает более короткий.

    Вариант без Base64 собран так, чтобы работать и в CSS, и в атрибуте src тега img: служебные символы кодируются, амперсанд — всегда, русские буквы остаются как есть, а двойные кавычки внутри тегов заменяются одинарными, если одинарных в файле нет; в надписях на картинке кавычки кодируются и не меняются. На 209 SVG-схемах нашего сайта этот вариант оказался короче Base64 у всех, а в Chromium картинка из него совпала с картинкой из Base64 попиксельно. Ваш файл может вести себя иначе — поэтому видны обе длины.

    Если в SVG есть русские или другие не латинские буквы, а файл сохранён не в кодировке UTF-8 или в нём объявлена другая кодировка, вариант без Base64 не предлагается и остаётся только Base64. В превью SVG показывается как картинка, через тег img, — скрипты внутри файла при этом не выполняются.

      Когда картинку лучше не переводить в Base64

      Base64 удобен для мелочи: иконок, значков, маленьких фоновых узоров и заглушек. Картинка оказывается внутри HTML или CSS, и браузеру не нужен отдельный запрос за файлом.

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

      Если картинка всё же нужна строкой, сначала уменьшите её: «Изменить размер фото» уберёт лишние пиксели, «Сжать фото» — лишний вес, и строка станет короче вместе с файлом. Предел здесь — 25 МБ на файл: data URI нужен для небольших картинок.

        🧩

        Пример: макет страницы одним HTML-файлом

        Нужно отправить заказчику макет страницы одним HTML-файлом. Логотип лежит рядом отдельной картинкой, и без папки с файлами у заказчика он не откроется, а просить распаковывать архив не хочется.

        1

        Открыть «Картинку в Base64» и выбрать логотип в PNG

        2

        Если страница нашла в файле EXIF, включить галочку «Убрать EXIF и геометку» (если найдена геометка, она включена сразу)

        3

        Переключить формат на тег img — ширина и высота подставятся из файла

        4

        Нажать «Копировать» и вставить фрагмент в HTML на место прежнего тега

        ✅

        Логотип теперь внутри HTML-файла: макет открывается на любом компьютере, и картинка на месте. Цена — вес: HTML-файл вырос на размер логотипа плюс ещё треть, так устроен Base64. Картинка при этом не покидала браузер.

        🧠

        Знаете ли вы?

        🔣

        В Base64 всего 64 знака: латинские буквы, цифры, «+» и «/», а «=» дописывается в конце для выравнивания. В варианте для адресов вместо «+» и «/» стоят «-» и «_» — обратная страница «Base64 в картинку» понимает оба.

        🎞️

        Base64 не меняет картинку: это те же байты, записанные буквами. Поэтому анимированный GIF остаётся анимированным, прозрачность PNG — прозрачной, а цветовой профиль остаётся на месте.

        🧭

        Метку поворота нельзя просто стереть вместе с EXIF: без неё фото с телефона ляжет боком. Поэтому при снятии метаданных страница записывает заново одну эту метку — в замере картинка 3000×4000 после очистки по-прежнему стояла, а не лежала.

        🖼️

        Иконки ICO и курсоры CUR тоже можно встраивать строкой: в Chromium обе картинки показались через data URI. CUR устроен как ICO, но с другим типом в заголовке, а в каталоге картинок вместо двух служебных полей — точка, которой курсор «нажимает».

        Какой формат строки выбрать

        ФорматКак начинаетсяКуда вставлять
        Data URIdata:image/png;base64, и дальше строкаВ атрибут src, в url() в CSS, в JSON
        Только Base64Сразу с символов строки, без префиксаТуда, где тип картинки задаётся отдельно: API, база данных
        Тег imgГотовый тег с шириной, высотой и altПрямо в HTML-страницу
        CSSСвойство background-image с data URI в кавычкахВнутрь правила селектора или в атрибут style
        SVG без Base64data:image/svg+xml, и код файлаВ CSS и в src — для SVG в UTF-8

        Какие файлы принимает страница

        ФайлЧто будетЧто учесть
        PNG, JPG, GIF, WebP, AVIF, BMP, ICO, CURКодируется как естьМетаданные JPG и PNG можно убрать галочкой
        SVGBase64 или текстом без Base64Превью — только как картинка, скрипты не выполняются
        HEIC, TIFFНе кодируетсяВ data URI их показывает только Safari (TIFF — по документации MDN, HEIC — по таблице caniuse, с Safari 17) — переведите в JPG
        Файл, который не картинкаНе кодируетсяДля него — «Base64 кодировщик»
        ⚠️

        Фото с телефона: проверьте геометку

        Base64 переводит файл целиком, вместе с EXIF: геометка, модель телефона и дата съёмки окажутся в коде страницы, и прочитать их сможет любой, кто получит строку. Если страница нашла метаданные в JPG или PNG, включите галочку «Убрать EXIF и геометку» (при найденной геометке она включена сразу) — картинка не пересжимается, а поворот сохраняется; у фото с картой HDR уйдёт и HDR-версия, страница об этом предупредит. В WebP и AVIF метаданные страница только показывает.

        Как перевести картинку в Base64: пошаговая инструкция

        1

        Выберите картинку

        Нажмите на область загрузки или перетащите на неё файлы, либо вставьте картинку из буфера. Подойдут PNG, JPG, GIF, WebP, AVIF, BMP, ICO, CUR и SVG до 25 МБ, за раз — до 50 файлов.

        2

        Проверьте метаданные

        Если в фото есть EXIF или геометка, появится предупреждение. Галочка «Убрать EXIF и геометку» уберёт их из строки без пересжатия, поворот фото сохранится.

        3

        Выберите формат строки

        Data URI, чистый Base64, тег img или CSS; для SVG — ещё вариант без Base64. Рядом видны вес файла и длина строки.

        4

        Скопируйте или скачайте

        Нажмите «Копировать» или «Скачать .txt». Для файла больше 1 МБ поле покажет начало и конец строки, а кнопки отдадут её целиком.

        Примеры: картинка в Base64 на практике

        Иконка для CSS

        Маленькую иконку PNG кодируют в формате CSS и получают свойство background-image с data URI внутри. Его вставляют в правило нужного класса или в атрибут style, и иконке больше не нужен отдельный файл на сервере.

        Картинка 12 Мп: длина строки

        JPG 4000×3000 весом 3 605 929 байт — картинка с зерном, как у фото с телефона, — дал строку Base64 ровно в 4 807 908 символов: 4 символа на каждые 3 байта. Раскодированные обратно байты в Chromium совпали с исходником до последнего. Строку такой длины поле показывает началом и концом, а целиком её отдают кнопки «Копировать» и «Скачать .txt».

        Картинка с геометкой

        JPG 4000×3000 с зерном, в который записаны EXIF с геометкой, XMP, IPTC и комментарий, после галочки «Убрать EXIF и геометку» стал легче на 459 байт. Геометки в файле не осталось, пиксели совпали с исходником, а метка поворота сохранилась: картинка по-прежнему стоит вертикально, 3000×4000.

        Набор иконок одним файлом

        Иконки интерфейса выбирают разом и включают формат CSS. «Копировать все» соберёт классы вида .img-logo, где после img идёт имя файла латиницей, у одинаковых имён появится окончание -2, -3. «Скачать все одним файлом» сохранит их в файл .css.

        Частые вопросы о картинках в Base64

        Что такое data URI и куда его вставлять?
        Data URI — картинка, записанная строкой: префикс с типом файла, например data:image/png;base64, и сам Base64. Его вставляют вместо адреса картинки — в атрибут src тега img или в url() CSS-свойства background-image. Страница собирает и то и другое готовым фрагментом, а для случаев, когда тип задаётся отдельно, отдаёт чистый Base64 без префикса.
        Почему строка Base64 длиннее файла?
        Так устроен Base64: каждые 3 байта файла записываются 4 символами, поэтому строка длиннее файла примерно на треть. Файл в 300 000 байт даёт строку ровно в 400 000 символов, а data URI добавит ещё префикс с типом. Сократить саму строку нельзя — можно только уменьшить файл, например в «Сжать фото» или «Изменить размер фото».
        Когда картинку не стоит переводить в Base64?
        Когда картинка большая или повторяется на многих страницах. Строка на треть тяжелее файла и не кэшируется отдельно: картинка, встроенная в HTML, приходит заново с каждой страницей, а обычный файл браузер взял бы из кэша. Base64 удобен для иконок, значков и мелких фонов, а фотографии обычно оставляют файлами.
        SVG кодировать в Base64 или без него?
        Можно и так и так: страница покажет оба варианта с длиной и выберет более короткий. SVG без Base64 — это код файла с закодированными служебными символами, он работает и в CSS, и в теге img. На 209 схемах нашего сайта он был короче у всех, а картинка совпала с Base64 попиксельно в Chromium. Если в файле русские буквы, а он не в UTF-8, — только Base64.
        Что будет с EXIF и геометкой фото?
        Base64 переводит файл как есть, поэтому EXIF с геометкой попадёт в код страницы, и прочитать его сможет любой. Если в JPG или PNG есть метаданные, страница предупредит и предложит галочку «Убрать EXIF и геометку»; если найдена геометка, галочка включена сразу. Картинка не пересжимается, поворот фото сохраняется. В WebP и AVIF метаданные страница только показывает.
        Загружаются ли картинки на сервер?
        Нет. Файл читается и кодируется прямо в браузере на вашем устройстве — картинки не отправляются на сервер ToolFox, поэтому так можно кодировать и личные фото, и рабочие макеты. Готовая строка попадает только в буфер обмена вашего устройства или в скачанный файл .txt.
        Какие форматы можно перевести в Base64?
        PNG, JPG, GIF — анимация сохранится, — WebP, AVIF, BMP, ICO, CUR и SVG. Формат определяется по содержимому файла, а не по расширению. HEIC и TIFF в data URI показывает только Safari (TIFF — по документации MDN, HEIC — по таблице caniuse, с Safari 17), поэтому их страница не кодирует: сначала переведите файл в JPG конвертером. Файл, который не картинка, переведёт в Base64 «Base64 кодировщик».
        Можно ли закодировать несколько картинок сразу?
        Да, до 50 картинок за раз и до 100 МБ вместе. У каждой — своя карточка с копированием и скачиванием. «Копировать все» соберёт строки в выбранном формате, а для CSS — готовые классы с background-image, названные по именам файлов. «Скачать все одним файлом» сохранит их в .css для формата CSS или в .txt — для остальных.

        Полезная информация

        🔒 Где обрабатывается картинка. Файл читается и кодируется в браузере на вашем устройстве и не отправляется на сервер ToolFox. SVG в превью показывается как картинка, через тег img: скрипты внутри файла не выполняются.

        🧭 Метаданные. У JPG снимаются блоки EXIF, XMP, IPTC и комментарий, у PNG — блок EXIF и текстовые блоки; цветовой профиль остаётся, а метка поворота записывается заново, иначе фото с телефона легло бы боком. Пиксели не пересжимаются: в замере они совпали с исходником на всех 4 проверенных файлах.

        📏 Длинная строка. Если файл больше 1 МБ, в поле видны первые 10 000 и последние 2 000 символов строки, чтобы поле не держало миллионы знаков. Кнопки «Копировать» и «Скачать .txt» отдают строку целиком. Если браузер не дал доступ к буферу обмена, страница так и скажет — тогда скачайте .txt.

        📱 Браузеры. Мы проверяли инструмент в Chromium на компьютере; в Safari, Firefox и на телефонах — нет. Base64 — стандарт RFC 4648, и строка от браузера не зависит: страница кодирует файл частями по 3 МБ — новой функцией toBase64, а где её нет, старым способом.

        Другие инструменты для картинок и Base64

        Посмотреть картинку из строки, сделать файл легче перед кодированием, закодировать текст или другой файл:

        Комментарии

        Этот инструмент ещё ждёт первого комментария

        Без почты и пароля · публикуем после проверки, обычно за 1–2 дня

        • Руслан АвдеевОт автора проекта
          Все инструменты на ToolFox бесплатны, и я их дорабатываю сам. Напишите, если инструмент считает неверно, чего-то не хватает или что-то стоит поправить, — по таким комментариям я и решаю, чем заняться дальше.

        Комментарии — мнения посетителей, прошедшие проверку по правилам сайта.