Conversor de Imagen a Base64
Convierte imágenes a data URI Base64 en tu navegador — PNG, JPG, GIF, WebP, SVG, ICO. Copia salida HTML, CSS, Markdown y JSON. 100% privado, sin subir nada.
Suelta una imagen aquí, pégala o haz clic para explorar
PNG · JPG · GIF · WebP · SVG · ICO · BMP — convertido enteramente en tu navegador
¿Qué es una Imagen Base64 (Data URI)?
Una imagen Base64 es una imagen cuyos bytes binarios se han vuelto a codificar como una cadena de caracteres ASCII imprimibles usando el alfabeto Base64 (A–Z, a–z, 0–9, + y /). Envuelta en el esquema de URI data: — data:image/png;base64,iVBORw0KGgo… — esa cadena puede aparecer en cualquier lugar donde se espere una URL: un src de img en HTML, un background-image de CSS, el cuerpo de un correo o un campo dentro de un payload JSON. El navegador la decodifica sobre la marcha y muestra la imagen sin una solicitud de red separada. Por eso a las imágenes Base64 a veces se las llama imágenes «en línea» o «incrustadas».
La codificación existe por una razón simple: muchos sistemas se construyeron para transportar texto, no binario arbitrario. HTML, JSON, las cabeceras de correo y las URLs esperan caracteres, y los bytes de imagen en bruto incluirían códigos de control y delimitadores que los romperían. Base64 mapea cada 3 bytes binarios a 4 caracteres de texto seguros, garantizando que los datos sobrevivan intactos al transporte. El coste es el tamaño: la representación de texto es aproximadamente un 33% mayor que el binario original y no se puede almacenar en caché de forma independiente del documento que la contiene.
Esa compensación define cuándo tienen sentido las imágenes Base64. Para un icono diminuto usado en una sola hoja de estilos, incrustar elimina un viaje de ida y vuelta y la penalización de tamaño es insignificante — una victoria clara. Para una foto de héroe de 200 KB reutilizada en cada página, incrustar infla cada página, anula el caché del navegador y cuesta CPU decodificar en cada carga — una pérdida clara. La guía moderna, de la era HTTP/2, es incrustar solo recursos pequeños y estables y servir todo lo demás como archivos normales en caché. Esta herramienta muestra las cifras exactas para tu imagen y una recomendación tipo semáforo, para que la decisión se base en datos, no en folclore.
La operación inversa — convertir una cadena Base64 de vuelta en una imagen visible y descargable — es igual de útil cuando estás depurando un data URI de una hoja de estilos, inspeccionando una respuesta de API o recuperando un recurso incrustado en un archivo de configuración. Cambia a la pestaña Base64 → Imagen o abre el decodificador dedicado de Base64 a Imagen.
<!-- The same 1×1 transparent PNG, four ways -->
<!-- HTML -->
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==" alt="pixel">
/* CSS */
.badge {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==");
}
<!-- Markdown -->

// JSON
{ "mime": "image/png", "data": "iVBORw0KGgo…" } Características principales
Arrastra, haz clic o pega
Tres vías de entrada: suelta un archivo, navega hasta él o pega una imagen directamente desde el portapapeles con Ctrl+V — la ruta más rápida para capturas de pantalla. Lo que proporciones se codifica de inmediato, sin subir nada.
Seis formatos de salida
Base64 en bruto, un Data URI completo, un elemento de HTML, una regla background-image de CSS, un enlace de imagen Markdown y un objeto JSON. Cada uno tiene su propio botón Copiar y una opción Descargar, para que el fragmento esté listo justo para el contexto que necesitas.
Métricas de tamaño e inflación en vivo
La barra de metadatos muestra el tamaño del archivo original, el tamaño codificado en Base64 y el porcentaje exacto de aumento para tu imagen concreta — no un genérico «alrededor del 33%». Ves el coste real de incrustar antes de comprometerte.
Insignia de consejo para incrustar
Una recomendación tipo semáforo lee el tamaño de tu archivo y te indica si un data URI es buena idea: verde por debajo de ~2 KB, ámbar hasta ~10 KB, rojo por encima. Codifica el consenso posterior a HTTP/2 para que no tengas que recordar los umbrales.
Decodificador integrado
La pestaña Base64 → Imagen invierte el proceso: pega una cadena o data URI y obtén una vista previa en vivo, las dimensiones y el tipo MIME decodificados, y un botón Descargar que reconstruye el archivo original. Tolera prefijos ausentes y espacios en blanco sueltos.
Todos los formatos comunes
PNG, JPG, GIF (con animación preservada), WebP, SVG, ICO y BMP — además de AVIF donde sea compatible. Los bytes en bruto se codifican tal cual, así que la transparencia, la animación y la escalabilidad vectorial sobreviven intactas.
Ejemplos
PNG a un Data URI (listo para CSS / HTML)
transparent-1x1.png (un PNG de 68 bytes)
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==
Suelta un PNG y la pestaña Data URI te da una cadena que puedes pegar directamente en un src de HTML o en un url() de CSS. La barra de metadatos muestra el tamaño original, el tamaño en Base64 y el porcentaje exacto de aumento.
Incrustar un icono SVG en HTML
icon.svg
<img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0i…" alt="icon">
Cambia a la pestaña HTML para obtener un elemento listo para pegar. Para SVG en concreto, la codificación URL suele ser más pequeña que Base64 — consulta la FAQ sobre por qué SVG es un caso especial.
Imagen Markdown con un JPG incrustado
photo.jpg (12 KB)

La pestaña Markdown produce un enlace de imagen autónomo — útil para archivos README, issues de GitHub y notebooks donde no puedes alojar un archivo externo. A 12 KB la insignia de consejo se vuelve ámbar: sopesa la comodidad frente al coste de peso de la página.
Cómo convertir una imagen a Base64
- 1
Añade tu imagen
Arrastra una imagen a la zona de soltar, haz clic para explorar, o pega desde el portapapeles con Ctrl+V / Cmd+V. PNG, JPG, GIF, WebP, SVG, ICO y BMP son todos compatibles y se codifican enteramente en tu navegador.
- 2
Elige un formato de salida
Elige Data URI, Base64 en bruto, HTML
, fondo CSS, Markdown o JSON en las pestañas. Consulta la barra de metadatos para ver el aumento de tamaño y la insignia de consejo para saber si merece la pena incrustar.
- 3
Copia o descarga
Haz clic en Copiar para tomar el fragmento, o en Descargar para guardarlo como archivo. Para invertir el proceso, cambia a la pestaña Base64 → Imagen, pega una cadena y descarga la imagen reconstruida.
Errores comunes
Tipo MIME ausente o incorrecto
Un data URI debe declarar el tipo de medio correcto o el navegador se niega a renderizarlo. Codificar un PNG pero etiquetarlo como image/jpeg, u omitir el tipo por completo, produce una imagen rota. Copia la salida Data URI o HTML directamente desde esta herramienta para obtener el prefijo correcto automáticamente.
data:base64,iVBORw0KGgo… <!-- no MIME type — will not render -->
data:image/png;base64,iVBORw0KGgo… <!-- correct: image/png -->
Espacios en blanco o saltos de línea en la cadena
Algunas herramientas envuelven Base64 a 76 caracteres según el RFC 2045, y el copiar y pegar puede inyectar espacios o saltos de línea sueltos. En un atributo HTML o un url() de CSS, esos saltos pueden invalidar el URI. Elimina los espacios en blanco antes de usar la cadena — el decodificador de esta herramienta lo hace automáticamente, así que un viaje de ida y vuelta por la pestaña Base64 → Imagen lo limpiará.
data:image/png;base64,iVBORw0KGgoAAAANS UhEUgAAAAEAAAABCAYAAAA… <!-- embedded newline breaks the attribute -->
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAA… <!-- single unbroken line -->
Cadena truncada (relleno perdido)
Las cadenas Base64 terminan en cero, uno o dos caracteres de relleno =. Una copia parcial que pierde el = final (o los últimos caracteres) produce una cadena indecodificable y una imagen rota. Si una imagen pegada no se renderiza, confirma que copiaste el valor completo, incluido cualquier relleno final.
…WjR9awAAAABJRU5ErkJggg <!-- missing trailing == -->
…WjR9awAAAABJRU5ErkJggg== <!-- complete with padding -->
Codificar en Base64 una foto grande
Codificar una fotografía de varios cientos de KB produce una cadena enorme que infla tu HTML o CSS, no se puede almacenar en caché por sí sola y es lenta de decodificar. La insignia de consejo se vuelve roja exactamente para este caso. Sirve las imágenes grandes como archivos normales; reserva Base64 para recursos pequeños y comprime primero.
/* 380 KB hero photo inlined into a global stylesheet */
.hero { background-image: url("data:image/jpeg;base64,/9j/…(½ MB of text)…"); } /* Serve it as a cached file instead */
.hero { background-image: url("/img/hero.jpg"); } Casos de uso comunes
- Incrustar un logotipo o icono en CSS
- Suelta un PNG o icono SVG pequeño, copia el fragmento background-image de CSS y pégalo en tu hoja de estilos para eliminar una solicitud HTTP de un recurso que rara vez cambia. Mantenlo por debajo de ~2 KB (observa la insignia verde) para que la hoja de estilos se mantenga ligera.
- Incrustar imágenes en correo HTML
- Los clientes de correo a menudo bloquean las imágenes remotas. Codifica tu logotipo como data URI y pega el elemento
en la plantilla para que se renderice sin una solicitud al servidor. Pruébalo en distintos clientes — limita las incrustaciones a iconos pequeños, no fotos.
- Markdown y READMEs autónomos
- Cuando no puedes alojar una imagen — un issue de GitHub, un notebook, un documento sin conexión — la salida Markdown incrusta la imagen directamente en el archivo para que viaje con el texto. Ideal para diagramas pequeños e insignias.
- Imágenes dentro de JSON o payloads de API
- ¿Necesitas enviar una miniatura dentro de un documento JSON o un archivo de configuración? La salida JSON te da un objeto { mime, data } que puedes colocar directamente, y el decodificador recupera la imagen en el otro extremo.
- Depuración rápida de data URI
- ¿Encontraste un misterioso URI data: en una hoja de estilos o una respuesta de API? Pégalo en la pestaña Base64 → Imagen para ver qué es realmente, leer sus dimensiones reales y descargarlo como un archivo normal para inspeccionarlo de cerca.
- Widgets y bookmarklets de un solo archivo
- Los bookmarklets y los widgets incrustables deben ser autónomos sin dependencias externas. Incrustar sus iconos como Base64 mantiene todo en un único archivo que funciona sin importar dónde se coloque.
Detalles técnicos
- Cómo funciona la codificación Base64
- Base64 toma el flujo binario de la imagen de tres en tres bytes (24 bits) y lo divide en cuatro grupos de 6 bits, cada uno mapeado a un carácter del alfabeto de 64 símbolos. Cuando la longitud de la entrada no es múltiplo de tres, uno o dos caracteres de relleno = marcan el resto. Esta proporción de 3 a 4 es la razón por la que el texto codificado es aproximadamente un 33% mayor que la fuente. La herramienta calcula la longitud en bytes decodificada directamente a partir de la longitud de la cadena y el relleno, de modo que las cifras de tamaño que informa son exactas, no estimadas.
- Detección de MIME y bytes mágicos
- Cuando codificas un archivo, su tipo MIME proviene del objeto File del navegador. Cuando decodificas una cadena Base64 en bruto sin prefijo data:, la herramienta inspecciona los caracteres iniciales, que corresponden a los bytes mágicos de la imagen: iVBORw0KGgo para PNG, /9j/ para JPEG, R0lGOD para GIF, UklGR para WebP, y PHN2Zy o PD94bWw para SVG. Esto permite al decodificador reconstruir un data URI correcto y descargar con la extensión de archivo adecuada incluso cuando la entrada es solo la carga útil desnuda.
- Procesamiento solo local
- La codificación usa readAsDataURL de la API FileReader, que devuelve un data URI sintetizado enteramente en el navegador. La decodificación para descargar usa atob más un Uint8Array para reconstruir el binario, y luego un Blob y un object URL — de nuevo sin red de por medio. El resultado es una herramienta que puedes ejecutar sin conexión y en la que confiar con imágenes confidenciales, porque los bytes nunca salen de la página. Puedes verificar el comportamiento de cero solicitudes en las herramientas de desarrollador de tu navegador.
Buenas prácticas
- Incrusta solo recursos pequeños y estables
- El punto óptimo para Base64 son los recursos por debajo de ~2 KB que cambian rara vez y aparecen en pocas páginas — iconos, logotipos diminutos, sprites de interfaz. Por encima de ~10 KB, la penalización de tamaño y el caché perdido superan a la solicitud ahorrada, especialmente ahora que HTTP/2 hace que las solicitudes adicionales sean baratas. Deja que la insignia de consejo te guíe, y sirve las fotos y los gráficos grandes como archivos normales en caché.
- Prefiere la codificación URL para SVG
- SVG es texto, así que Base64 lo infla sin ganancia. Al incrustar SVG en CSS o HTML, codifica el marcado en URL en su lugar — suele ser más pequeño, sigue siendo legible para humanos y se comprime mejor con gzip/brotli. Reserva el SVG en Base64 para flujos de trabajo que lo requieran específicamente. Nuestro Codificador/Decodificador URL se encarga de la codificación con porcentajes.
- Establece siempre el tipo MIME correcto
- Un data URI solo se renderiza si su tipo MIME coincide con el contenido: image/png, image/jpeg, image/gif, image/webp, image/svg+xml. Un tipo incorrecto o ausente es la razón número uno por la que una imagen incrustada no se muestra. Cuando copias desde esta herramienta el tipo se establece por ti; si ensamblas los URI a mano, comprueba dos veces el prefijo.
- Comprime antes de codificar
- Como Base64 añade ~33% sobre el tamaño del archivo, reducir la fuente primero rinde el doble. Pasa las imágenes por nuestro Compresor de Imágenes — o expórtalas en las dimensiones adecuadas — antes de codificar, para que el data URI resultante sea lo más pequeño posible. Un PNG comprimido de 4 KB gana a un original de 40 KB tanto como archivo como incrustado.
- Nunca confíes en Base64 para la privacidad
- Base64 es trivialmente reversible y no ofrece protección. No lo uses para ocultar contenido de imagen sensible — cualquiera puede decodificarlo al instante, incluso con la pestaña de esta página. Si el contenido debe protegerse, usa controles de acceso reales y cifrado en el servidor, y sirve la imagen a través de un endpoint autenticado.
Preguntas frecuentes
¿Qué hace este conversor de Imagen a Base64?
¿Se suben mis imágenes a un servidor?
¿Cuánto agranda Base64 una imagen?
¿Cuándo debería usar una imagen en Base64 en lugar de un archivo normal?
¿Cuándo NO debería usar imágenes en Base64?
¿Cómo uso la salida Base64 en HTML y CSS?
¿Qué formatos de imagen son compatibles?
¿Por qué SVG es un caso especial?
¿Es Base64 lo mismo que el cifrado?
¿Puedo incrustar una imagen Base64 en un correo electrónico?
¿Por qué no se renderiza mi imagen Base64?
Herramientas relacionadas
Ver todas las herramientas →Decodificador y Codificador Base64
Codificación y Formato
Decodifica y codifica Base64 online de forma gratuita. Conversión en tiempo real con soporte completo de UTF-8 y emojis. 100% privado — funciona en tu navegador. Sin registro.
Conversor de Base64 a Imagen
Codificación y Formato
Decodifica una cadena Base64 o data URI de vuelta a una imagen en tu navegador. Previsualiza, lee dimensiones y MIME, luego descarga como PNG, JPG, GIF, SVG. Sin subir.
Convertidor de CSV a JSON
Codificación y Formato
Convierte CSV a JSON en tu navegador. RFC 4180, inferencia de tipos, fila de cabecera, seguro para big-int. 100% privado, sin carga.
JSON Diff (Comparar)
Codificación y Formato
Compara dos archivos JSON al instante en tu navegador. Resaltado lado a lado, salida RFC 6902 JSON Patch, ignora campos ruidosos como marcas de tiempo e IDs. 100% privado, sin carga.
Formateador y Validador JSON
Codificación y Formato
Formatea, valida y embellece JSON al instante en tu navegador. Herramienta gratuita con validación sintáctica, detección de errores, minificación y copia con un clic. 100% privado.
Validador JSON Schema
Codificación y Formato
Valida JSON contra cualquier JSON Schema al instante en tu navegador. Compatible con Draft 2020-12, 2019-09 y Draft-07 con mensajes de error con ruta precisa. 100% privado, sin carga, sin cuenta, gratis.