Реклама

Конвертер Base64 в изображения

Преобразуйте строки Base64 в изображения с мгновенным предварительным просмотром в реальном времени, загружайте в формате PNG, JPG или WebP или копируйте изображение напрямую в буфер обмена. Преобразует оба способа — Base64 в изображение и изображение в Base64.

Base64 String or Data URI
0 символов
Image Preview

Вставить строку Base64 слева для предварительного просмотра

Что такое преобразование Base64 в изображение?

Base64 — это стандартный механизм кодирования двоичного текста в текст, определенный RFC 4648. It takes binary data—such as image bytes representing PNG, JPEG, SVG, WebP, or GIF files—and translates it into a string of ASCII characters using a set of 64 characters (A-Z, a-z, 0-9, +, /, with = for padding).

Преобразование Base64 в изображение декодирует это текстовое представление обратно в двоичную графику, которую браузеры, операционные системы и средства просмотра изображений могут отображать и сохранять. Путем встраивания изображений в виде URI данных Base64 непосредственно в HTML, CSS, JSON, или сообщений электронной почты, разработчики могут исключить внешние HTTP-запросы и объединить изображения в встроенном виде

Структура URI данных изображения

Стандартная строка изображения Base64 форматируется как URL-адрес данных:

data:[][;base64],
  • data: — Идентификатор схемы URI
  • image/png, image/jpeg, image/webp, image/svg+xml — Тип MIME, определяющий формат.
  • ;base64, — Указывает, что полезные данные закодированы в Base64.
  • <data> — Двоичные байты файла изображения в кодировке Base64.

Как преобразовать Base64 в изображение в коде

Необходимо декодировать Base64 в изображение в вашем приложении. Вот готовые фрагменты кода для распространенных языков программирования:

1. JavaScript. (Браузер)

// Convert Base64 string to an HTMLImageElement
function base64ToImage(base64String) {
    return new Promise((resolve, reject) => {
        const img = new Image();
        img.onload = () => resolve(img);
        img.onerror = reject;
        img.src = base64String.startsWith('data:') 
            ? base64String 
            : `data:image/png;base64,${base64String}`;
    });
}

// Convert Base64 string to a Blob for download or uploading
function base64ToBlob(base64String, mimeType = 'image/png') {
    const raw = base64String.replace(/^data:[^;]+;base64,/, '');
    const byteCharacters = atob(raw);
    const byteNumbers = new Uint8Array(byteCharacters.length);
    for (let i = 0; i < byteCharacters.length; i++) {
        byteNumbers[i] = byteCharacters.charCodeAt(i);
    }
    return new Blob([byteNumbers], { type: mimeType });
}

2. Node.js

const fs = require('fs');

function saveBase64Image(base64String, outputPath) {
    // Strip data URI prefix if present
    const base64Data = base64String.replace(/^data:image\/\w+;base64,/, '');
    const buffer = Buffer.from(base64Data, 'base64');
    fs.writeFileSync(outputPath, buffer);
    console.log(`Saved image to ${outputPath}`);
}

3. Python 3

import base64
import re

def base64_to_image(b64_string, output_filename='output.png'):
    # Remove data:image/...;base64, header if present
    data = re.sub('^data:image/.+;base64,', '', b64_string)
    image_bytes = base64.b64decode(data)
    with open(output_filename, 'wb') as f:
        f.write(image_bytes)

# Usage
base64_to_image("iVBORw0KGgo...", "photo.png")

4. PHP

<?php
function base64ToImage($base64String, $outputFile) {
    $data = explode(',', $base64String);
    $binaryData = base64_decode(end($data));
    file_put_contents($outputFile, $binaryData);
}
?>

Общие случаи использования

🚀 Веб-производительность и критический CSS

Встраивание небольших значков и логотипов непосредственно в CSS позволяет избежать дополнительных HTTP-запросов туда и обратно, сокращая время первой отрисовки содержимого (FCP)

✉️ Информационные бюллетени по электронной почте в формате HTML.

Встраивание логотипов брендов в виде встроенных URI данных не позволяет почтовым клиентам блокировать удаленные изображения или отображать неработающие поля-заполнители изображений.

📡 REST API и WebSockets

При передаче снимков изображений или подписей через полезные данные JSON, где загрузка нескольких частей неудобна, отраслевым стандартом является Base64.

🎨 Экспорт холста и снимков экрана

HTML5 Canvas exports drawings and chart graphics via canvas.toDataURL() as Base64 images for quick downloading or sharing.

Часто задаваемые вопросы (FAQ)

Почему изображение Base64 на 33% больше, чем исходный двоичный файл?

Base64 отображает каждые 3 байта (24 бита) необработанных двоичных данных в 4 символа (32 бита), выбранных из 64-символьного алфавита ASCII. Это соответствует коэффициенту расширения 4:3, в результате чего размер файла представления Base64 примерно на 33 % больше, чем исходного двоичного изображения.

Какие форматы изображений поддерживаются?

Our converter supports all modern raster and vector image formats: PNG (image/png), JPEG/JPG (image/jpeg), WebP (image/webp), GIF (image/gif), SVG (image/svg+xml), BMP (image/bmp), and ICO (image/x-icon).

Являются ли мои данные конфиденциальными и безопасными?

Да, абсолютно. Процесс преобразования выполняется строго в вашем веб-браузере с использованием клиентских API-интерфейсов JavaScript HTML5. Ваши изображения и закодированные строки Base64 никогда не загружаются на какой-либо удаленный сервер, не сохраняются и не анализируются.