Codificador / Decodificador Base64

Codifica y decodifica texto o archivos usando la codificación Base64.

Plain text
Base64
AI
Modo masivo Pro

¿Qué es Codificador / Decodificador Base64?

Base64 es un esquema de codificación de binario a texto que representa datos binarios usando 64 caracteres ASCII imprimibles (A-Z, a-z, 0-9, + y /). Se utiliza en todo el desarrollo web, el correo electrónico, la criptografía y la transmisión de datos para transportar de forma segura datos binarios a través de canales que solo admiten texto. Nuestro codificador y decodificador Base64 convierte entre texto sin formato y cadenas codificadas en Base64 al instante, sin límites de tamaño y con soporte completo de Unicode.

Base64 es codificación, no cifrado. No protege los datos de ser leídos: simplemente cambia su representación. Cualquier cadena Base64 puede decodificarse de vuelta a los datos originales por cualquiera que tenga acceso a la cadena. Se usa por motivos de compatibilidad: incrustar imágenes en HTML como data URIs, codificar credenciales de API para la autenticación básica HTTP, transmitir archivos binarios por correo mediante MIME y almacenar blobs binarios en JSON o XML que solo pueden contener texto.

Entender Base64 es fundamental para el desarrollo web moderno. Los tokens JWT, los data URIs, las cabeceras de autenticación básica, las aserciones SAML y los archivos de certificado PEM usan todos codificación Base64. Un desarrollador que no sabe codificar o decodificar rápidamente cadenas Base64 pierde tiempo escribiendo scripts puntuales o buscando los parámetros de línea de comandos adecuados. Nuestra herramienta lo hace instantáneo y accesible desde cualquier navegador.

Casos de uso

Aquí tienes las formas más comunes en que la gente usa Codificador / Decodificador Base64 todos los días.

Cabeceras de autenticación de API

La autenticación básica HTTP transmite las credenciales como «usuario:contraseña» codificadas en Base64 en la cabecera Authorization: Authorization: Basic dXNlcjpwYXNzd29yZA==. Usa el codificador para generar el valor de cabecera correcto al probar APIs manualmente con curl o Postman sin necesidad de escribir código. Usa el decodificador para leer y verificar credenciales de una cabecera Authorization existente al depurar problemas de autenticación.

Incrustar imágenes en HTML y CSS

Las imágenes pequeñas —iconos, logotipos, SVG en línea— pueden incrustarse directamente en HTML o CSS como data URIs usando codificación Base64: src="data:image/png;base64,...". Esto elimina una petición HTTP para activos pequeños que de otro modo requerirían un archivo aparte. La contrapartida es un mayor tamaño del archivo HTML (Base64 aumenta el tamaño ~33 %). Para iconos de menos de 1 KB, el beneficio de eliminar la petición suele compensar el coste de tamaño. Nuestro codificador gestiona este caso directamente.

Inspección de tokens JWT

Los JSON Web Tokens constan de tres segmentos codificados en Base64URL separados por puntos: cabecera.payload.firma. La cabecera y el payload contienen datos JSON que pueden decodificarse sin la clave secreta. Usa nuestro decodificador en los dos primeros segmentos (antes y entre los puntos) para inspeccionar el algoritmo, el emisor, el sujeto, las reclamaciones, la hora de emisión y la caducidad del token, esencial para depurar problemas de autenticación JWT sin necesidad de un inspector de JWT especializado.

Codificación de adjuntos de correo

Los protocolos de correo (SMTP, IMAP) transmiten archivos binarios como Base64 dentro del formato de mensaje multiparte MIME porque la infraestructura de correo se diseñó para texto ASCII de 7 bits. Las imágenes, PDFs y documentos adjuntos a los correos se codifican en Base64 en el código fuente bruto del correo. Entender esta codificación es esencial para escribir código de envío de correos, depurar problemas de entrega y analizar mensajes de correo en bruto en canalizaciones de procesamiento de datos.

Almacenamiento de configuración y secretos

La codificación Base64 se usa habitualmente para almacenar datos binarios en variables de entorno y archivos de configuración que solo admiten texto. Los certificados TLS (formato PEM), las claves SSH, los tokens binarios y los valores de configuración binarios se codifican en Base64 para almacenarlos en archivos .env y Secrets de Kubernetes. kubectl get secret muestra valores codificados en Base64 de forma predeterminada: nuestro decodificador es una forma rápida de inspeccionar los datos subyacentes sin canalizar a través de base64 -d en la línea de comandos.

Ejemplos

Ejemplo 1

Codificar credenciales de API

Crea un valor de cabecera de autenticación básica HTTP a partir de un usuario y una contraseña.

Entrada admin:secretpassword123
Salida YWRtaW46c2VjcmV0cGFzc3dvcmQxMjM=
Ejemplo 2

Decodificar el payload de un JWT

Decodifica el segundo segmento de un JWT para inspeccionar sus reclamaciones.

Entrada eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIn0=
Salida {"sub":"1234567890","name":"John Doe"}
Ejemplo 3

Codificar JSON para una URL

Codifica un objeto JSON como Base64 para usarlo en una cookie o un parámetro de URL.

Entrada {"userId": 42, "role": "admin"}
Salida eyJ1c2VySWQiOiA0MiwgInJvbGUiOiAiYWRtaW4ifQ==

Consejos para usar Codificador / Decodificador Base64

  • Base64 aumenta el tamaño de los datos ~33 %: una imagen de 1 MB pasa a ~1,33 MB codificada. Tenlo en cuenta al incrustar imágenes en línea.
  • Base64URL (usado en los JWT) sustituye + por - y / por _ para una salida segura en URLs. Base64 estándar y Base64URL no son intercambiables.
  • Los secretos de Kubernetes almacenan los datos en Base64. Usa el decodificador para inspeccionar los valores de los secretos: echo "dmFsdWU=" | base64 -d, o usa nuestra herramienta.
  • Nunca asumas que los datos en Base64 son privados. Son trivialmente reversibles. Trata una cadena Base64 con la misma sensibilidad que su contenido decodificado.
  • Los archivos de certificado PEM (.pem, .crt) son certificados DER codificados en Base64 envueltos en cabeceras -----BEGIN CERTIFICATE-----.

Preguntas frecuentes

¿Es Base64 lo mismo que el cifrado?

No. Base64 es un esquema de codificación: cambia la representación de los datos pero no aporta ninguna confidencialidad. Cualquiera puede decodificar una cadena Base64 de vuelta a los datos originales en milisegundos con cualquier decodificador Base64. El cifrado, en cambio, transforma los datos en texto cifrado que no puede revertirse sin la clave correcta. Nunca uses Base64 para proteger datos sensibles. Usa cifrado (AES-256, RSA, TLS) para la confidencialidad y Base64 solo para la compatibilidad: codificar datos binarios para canales de transmisión que solo admiten texto.

¿Por qué Base64 termina con relleno «=»?

Base64 codifica 3 bytes de entrada (24 bits) en 4 caracteres Base64 (4 × 6 bits = 24 bits). Si la longitud de la entrada no es divisible por 3, se añaden caracteres de relleno «=» para que la longitud de la cadena codificada sea divisible por 4. Un «=» significa que se añadió un byte de relleno; «==» significa dos bytes. Algunas aplicaciones (como los JWT y Base64URL) omiten el relleno, ya que el decodificador puede inferir la longitud a partir de la longitud de la cadena. Base64 estándar siempre incluye relleno.

¿Cuál es la diferencia entre Base64 y Base64URL?

Base64 estándar usa los caracteres A-Z, a-z, 0-9, + y /. Los caracteres + y / son especiales en las URLs: se codifican como %2B y %2F en codificación porcentual, lo que hace incómodas las cadenas Base64 estándar dentro de URLs. Base64URL se diseñó para URLs: sustituye + por - y / por _ para producir cadenas seguras en rutas de URL, cadenas de consulta y nombres de archivo sin codificación porcentual. Los tokens JWT, los tokens OAuth y los parámetros de URL usan Base64URL.

¿Por qué Base64 hace que los datos sean un 33 % más grandes?

Base64 convierte cada 3 bytes (24 bits) de entrada en 4 caracteres (cada uno representa 6 bits). La proporción es 4/3 ≈ 1,33, así que cada 3 bytes se convierten en 4 caracteres: un aumento de tamaño del 33 % independientemente del contenido de los datos. Esta sobrecarga es el coste de la codificación de binario a texto. Al planificar el almacenamiento o el ancho de banda para contenido codificado en Base64, multiplica el tamaño binario original por 1,34 para estimar el tamaño codificado (el 0,01 extra tiene en cuenta el posible relleno y los saltos de línea).

¿Puede Base64 codificar cualquier tipo de datos?

Sí. Base64 puede codificar cualquier dato binario: imágenes, audio, vídeo, ejecutables, archivos comprimidos, claves criptográficas y secuencias de bytes arbitrarias. La codificación es independiente del contenido: trata toda la entrada como bytes en bruto. Para la entrada de texto, la herramienta primero convierte a bytes UTF-8 y luego codifica esos bytes en Base64. Para texto no ASCII (chino, árabe, emoji), esto significa que la cadena Base64 codifica la representación en bytes UTF-8, no los puntos de código Unicode originales.

¿Qué es un data URI y cómo lo posibilita Base64?

Un data URI es un esquema de URI que incrusta los datos directamente en la cadena de la URI en lugar de apuntar a un recurso externo: data:[tipodemedio][;base64],datos. Por ejemplo: src="data:image/png;base64,iVBORw0KGgo...". El parámetro base64 indica que la porción de datos está codificada en Base64 en lugar de ser texto sin formato con codificación porcentual. Los data URIs permiten incrustar imágenes, fuentes y otros activos directamente en HTML o CSS sin peticiones HTTP separadas, lo que puede mejorar el rendimiento de carga de la página para activos pequeños.