Генератор Data URI
Преобразуйте любой загруженный файл или вставленный текст с выбранным типом MIME в data URI (data:<mime-type>;base64,<data>) — со статистикой размера в байтах для исходного и закодированного размера, готового к встраиванию в HTML, CSS или JSON.
Ввод
Файл читается локально — он никогда не загружается.
Вывод
Предпросмотр изображения появляется здесь для типов MIME изображения.
| Показатель | Значение |
|---|---|
| No data yet | |
Другие способы использовать этот инструмент
Виджет для встраивания
<iframe
src="https://iotools.cloud/embed/data-uri-generator/"
width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
title="Генератор Data URI — iotools.cloud"
sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
allow="clipboard-write"
style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>Вставьте это на свою страницу — бесплатно, без ключа, нужна лишь обратная ссылка.
Также доступно через
Руководства
Data URI (или data URL) встраивает содержимое файла непосредственно в строку — data:<mime-type>;base64,<data> — чтобы его можно было использовать где угодно, где ожидается обычный URL, без отдельного HTTP-запроса. Этот инструмент создает URI из загруженного файла или вставленного текста и сообщает, насколько больше закодированная версия, чем оригинал.
Как использовать
- Выберите источник: Загрузить файл (любой тип файла — изображение, шрифт, PDF, аудио, что угодно) или Введите текст (вставьте простой текст, HTML, CSS, JavaScript или разметку SVG и выберите его тип MIME).
- При загрузке файла браузер автоматически обнаруживает тип MIME самого файла. Если он неправильный или вам нужен другой тип, установите флажок Переопределить обнаруженный тип MIME и введите его вручную (например
image/png,font/woff2). - Скопируйте полученный Data URI — он готов к вставке в
<img src>, CSSbackground-image: url(...), поле JSON или@font-facesrc. - Проверьте таблицу Размер и тип для обнаруженного/выбранного типа MIME, исходного размера в байтах, размера закодированного data URI и процентного увеличения.
- Если источник — изображение, живой Предпросмотр отображается под data URI, чтобы вы могли убедиться, что он правильно декодирован перед использованием.
Все выполняется локально в вашем браузере — загруженный вами файл никогда не отправляется на сервер.
Почему data URI намного больше, чем исходный файл?
Кодирование Base64 представляет каждые 3 байта двоичных данных как 4 символа ASCII, что само по себе добавляет около 33% к размеру. К тому же префикс data:<mime-type>;base64, добавляет небольшие фиксированные расходы. Для короткого фрагмента эти расходы могут быть доминирующими — кодирование 13 байт "Hello, World!" создает data URI в три раза длиннее оригинала — но для больших файлов процентное увеличение приближается к ~33% расходам на base64.
Когда следует использовать data URI вместо обычного файла?
Data URI полезны для небольших часто переиспользуемых ресурсов — иконок, небольших фоновых изображений, веб-шрифтов, небольших заполняющих изображений — где сэкономить HTTP-запрос больше, чем штраф за размер ~33% и тот факт, что ресурс больше не может кэшироваться независимо или использоваться совместно на разных страницах. Для чего-либо большего, чем несколько килобайт, или ресурса, повторно используемого на многих страницах, обычный связанный файл, который браузер может кэшировать, почти всегда лучший выбор.
Работает ли это с текстом на неанглийском языке или эмодзи?
Да. Вставленный текст кодируется UTF-8 перед кодированием base64, поэтому символы с диакритическими знаками, текст CJK и эмодзи правильно туда-сюда. (Некоторые старые инструменты используют трюк btoa(unescape(encodeURIComponent(text))), который неправильно обрабатывает определенный текст Unicode — этот инструмент использует TextEncoder напрямую.)
Какой тип MIME выбрать для вставленного текста?
Сопоставьте содержимое: text/plain для простого текста, text/html для фрагментов HTML, text/css для таблиц стилей, text/javascript для скриптов и image/svg+xml для разметки SVG (это также то, что делает рендеринг предпросмотра SVG). Получение правильного типа MIME важно, если data URI потребляется чем-то, что его проверяет — браузер, отрисовывающий тег <img>, например, требует тип image/*.
Связанное
Чтобы идти в другом направлении — декодирование data URI или строки Base64 обратно в простой текст — используйте Base64 Decode. Для SVG конкретно, SVG to Base64 Encode также производит готовые к вставке фрагменты HTML <img> и CSS background-image вместе с data URI.