Publicidad

Convertidor de Base64 a imagen

Convierta cadenas Base64 en imágenes con vista previa instantánea en vivo, descárguelas como PNG, JPG o WebP, o copie la imagen directamente a su portapapeles. Convierte en ambos sentidos: Base64 a imagen e imagen a Base64.

Base64 String or Data URI
0 caracteres
Image Preview

Pegar una cadena Base64 a la izquierda para mostrar la vista previa

¿Qué es la conversión de Base64 a imagen?

Base64 es un mecanismo de codificación estándar de binario a texto definido por 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).

La conversión Base64 a imagen decodifica esta representación de texto nuevamente en gráficos binarios que los navegadores, los sistemas operativos y los visores de imágenes pueden mostrar y guardar. Al incorporar imágenes como URI de datos Base64 directamente en HTML, CSS, JSON o correo electrónico mensajes, los desarrolladores pueden eliminar solicitudes HTTP externas y agrupar imágenes en línea

La estructura de un URI de datos de imagen

Una cadena de imagen Base64 estándar está formateada como URL de datos:

datos:[][;base64],
  • data: : el identificador de esquema de URI
  • image/png, image/jpeg, image/webp, image/svg+xml . — El tipo MIME que define el formato.
  • ;base64, — Indica que los datos de carga útil están codificados en Base64.
  • <data> — Los bytes binarios codificados en Base64 del archivo de imagen.

Cómo convertir Base64 en una imagen en código

¿Necesita decodificar Base64 en una imagen en su aplicación? (Navegador)

Copiar

// 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 });
}

3. Python 3

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}`);
}

4. PHP

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")

Casos de uso comunes

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

🚀 Rendimiento web y CSS crítico

Incrustar iconos pequeños y logotipos de presentación directamente en CSS evita solicitudes HTTP de ida y vuelta adicionales, lo que reduce el tiempo de la primera pintura de contenido (FCP)

✉️ Boletines informativos por correo electrónico HTML.

La incorporación de logotipos de marcas como URI de datos en línea evita que los clientes de correo electrónico bloqueen imágenes remotas o muestren cuadros de marcadores de posición de imágenes rotos.

📡 API REST y WebSockets

Al transmitir instantáneas de imágenes o firmas a través de cargas útiles JSON donde las cargas de varias partes son inconvenientes, Base64 es el estándar de la industria.

🎨 Exportaciones de lienzos y capturas de pantalla

HTML5 Canvas exporta dibujos y gráficos a través de

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

¿Por qué una imagen Base64 es un 33 % más grande que el archivo binario original?

Base64 asigna cada 3 bytes (24 bits) de datos binarios sin procesar a 4 caracteres (32 bits) elegidos de su alfabeto de 64 caracteres ASCII. Esto representa una relación de expansión de 4:3, lo que hace que el tamaño del archivo de la representación Base64 sea aproximadamente un 33% mayor que la imagen binaria original.

¿Qué formatos de imagen son compatibles?

Nuestro conversor admite todos los formatos modernos de imágenes rasterizadas y vectoriales: PNG (

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).

Sí, absolutamente. El proceso de conversión se ejecuta estrictamente en su navegador web mediante las API de JavaScript del lado del cliente HTML5. Sus imágenes y cadenas codificadas en Base64 nunca se cargan, almacenan ni analizan en ningún servidor remoto.

Herramientas relacionadas