Кодиране на изображение в Base64 / Data URI
- Табло
- Документация
- API
Файлов формат
Можете да качвате неограничен брой изображения с максимално тегло 20M.
сигурност
Вашите данни не се съхраняват на нашите сървъри.
Поддържани браузъри
Всички скорошни браузъри се поддържат. Въпреки това, ако срещнете грешка, уведомете ни за коригиране.
Какво е URI на данни?
URI на данни е URL адрес, който директно съдържа данните на ресурс вместо
посочете към отдалечен файл. Общата му форма е
data:[. За изображение обикновено имаме
data:image/png;base64,iVBORw0KGgo…. Ресурсът е вграден в HTML, CSS или JSON
и се зарежда без допълнителна HTTP заявка.
Защо да кодирате изображение в Base64?
Често срещани мотивации:
- Намалете HTTP заявките: интегрирайте икона директно в CSS, вместо да я зареждате в допълнение към документа
- Подпис на имейл с вградено изображение: няма риск изображението да бъде блокирано като отдалечено съдържание
- Уеб компоненти / уеб работници: където зареждането на външен ресурс често създава проблем с обхват или CORS
- Локално хранилище (LocalStorage, IndexedDB, база данни): сериализиране на миниизображение на аватар в низ
- Самостоятелни фрагменти: самостоятелен HTML файл, без външни зависимости
Типични случаи на употреба
Някои конкретни контексти, при които кодирането на изображения Base64 е оправдано:
- SVG вградени икони в CSS (
background-image: url("data:image/svg+xml;base64,…")) - Персонализирани имейл подписи с лого
- Бързо създаване на прототипи на самостоятелна страница, споделена по имейл
- Самостоятелни уеб компоненти (един файл с възможност за разгръщане)
- Генериране на PDF от страна на браузъра (jsPDF) с вградени миниатюри
- Тестови данни (мокове), които съдържат изображения
Как да го използвате
Три стъпки:
- Качете вашето изображение (PNG, JPG, SVG, WebP, GIF) през зоната за пускане
- Щракнете върху „Кодиране“
- Копирайте получения URI на данни със специалния бутон и го поставете във вашия HTML, CSS или JSON
Ограничения и най-добри практики
Base64 не е сребърен куршум. Някои предпазни мерки:
- Base64 увеличава размера с ~33%: 4 ASCII знака за всеки 3 двоични байта
- Кодираните изображения не се кешират отделно от браузъра; те се презареждат с HTML/CSS, който ги съдържа
- Предпочита се за изображения под 10 KB; освен това външен файл обикновено е по-ефективен
- За SVG предпочитайте URL кодиране (чрез
encodeURIComponent) вместо Base64: резултатът е по-кратък и остава анализируем като текст - Съвременни инструменти за изграждане (Webpack, Vite) автоматизират избора Base64 срещу Base64. външен файл чрез конфигурируем размер на прага
Конкретни примери
HTML:

CSS:
.icon {
фон: url("данни:изображение/svg+xml;base64,PHN2ZyB4bWxucz0i…") без повторение;
ширина: 16px;
височина: 16px;
}
JSON (фалшиви данни):
<пре>{
"потребител": {
"име": "Адриен",
"avatar": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEA…"
}
}
ЧЗВ
Каква е разликата между Base64 и двоичния файл?
Двоичният представлява необработените байтове на файл. Base64 е кодиране, което трансформира тези байтове в 64 печатни ASCII знака (A-Z, a-z, 0-9, +, /). Текстовите контексти (HTML, JSON, имейл) не го правят не може да носи двоичен; Base64 решава този проблем с цената на режийни разходи за размер от 33%.
Защо моят URI адрес за данни е толкова дълъг?
Изображение от 30 KB в двоичен формат става ~40 KB в Base64. И всеки символ е ASCII байт, така че да, веригата е дълга. Това е присъщо на кодирането. За големи изображения запазете външен файл.
Всички ли браузъри поддържат URI адреси за данни?
Да, без изключение сред съвременните браузъри (Chrome, Firefox, Safari, Edge от IE8 дори). Ограничения исторически: IE8 ограничен до 32 KB. Без повече притеснения днес в мрежата.
Как да декодирам URI на данни?
Нашият декодер на изображения Base64 прави обратното: поставете вашите URI данни, получете файла с изображение (PNG, JPG, SVG, WebP) готов за качване или запазване.
Base64 срещу URL кодиране за SVG?
За SVG URL кодирането (с encodeURIComponent) създава по-къс низ от
Base64 и остава четим като текст. Това е препоръчителният избор в CSS при интегриране на вграден SVG.
За двоичните формати (PNG, JPG) Base64 остава задължителен.
Кодирането Base64 влияе ли върху качеството на изображението?
Не. Кодирането е без загуби: това е двоичен байт ↔ Base64 стринг биекция. Пиксели оригинал са строго запазени. Само размерът на транспортирания файл се увеличава с 33%.
Често задавани въпроси
Кога е по-добре да избягвате Data URI?
Веднага щом дадено изображение надхвърли десет килобайта и има вероятност да бъде използвано повторно на няколко страници е за предпочитане външен файл. След това браузърът може да го постави кешира отделно от HTML, който го препраща. URI на данни разширява основния документ и изисква за повторно изтегляне на изображението при всяко зареждане на страница.
подробности>Моето изображение изпратено ли е до сървър?
Изображението преминава през нашия сървър по време на кодиране и не се запазва след връщане
от резултата. Не се изискват услуги на трети страни. За строго поверителен файл,
локалният еквивалент е base64 -w 0 my-image.png на Linux или
certutil -encode в Windows.
Защо да изберете URL кодиране вместо base64 за SVG?
SVG е XML текст. Кодиран с Base64, той става нечетлив и с около 33% по-голям.
При кодиране на URL чрез encodeURIComponent резултатът остава четим и по-кратък.
В CSS напишете url("data:image/svg+xml;utf8, със знаците
escaped specials води до краен файл, по-малък от версия base64.
Какъв максимален размер мога да кодирам?
Размерът на файла, приет от формуляра, е ограничен до няколко мегабайта, достатъчни за по-голямата част от икони, миниатюри и аватари. Освен това напускате случая на разумна употреба URI на данни: статичен файл, обслужван от вашия CDN, ще бъде много по-ефективен за браузъра що се отнася до вашите основни показатели за уеб показатели.
подробности>Защо браузърът не кешира URI на данни?
HTTP кешът работи по URL. URI на данни е част от документа, който го съдържа, така че
се презарежда с него. Външна икона в icon.png, обратно, се кешира
веднъж завинаги и повторно използван на всички страници, които го споменават. Това е основното
Ето защо Data URI остава нишов инструмент, а не обща замяна.
Пример за заявка
curl -X POST https://cdrn.fr/api/v1/tools/base64-image-encoder/execute \
-F "file=@/path/to/file"
Входна схема
| Поле | Тип | Задължително | По подразбиране |
|---|---|---|---|
file |
file | ✓ | – |
този инструмент очаква файл - използвайте Content-Type multipart/form-data вместо application/json
Крайни точки
GET https://cdrn.fr/api/v1/tools- изброява всички достъпни инструментиGET https://cdrn.fr/api/v1/tools/base64-image-encoder- извлича схемата на този инструментPOST https://cdrn.fr/api/v1/tools/base64-image-encoder/execute- изпълнява този инструмент с JSON payload