Codificador / Decodificador Base64

Codifica texto o archivos en Base64 y decodifícalos: alfabeto estándar o URL-safe, relleno, saltos cada 76 caracteres y vista previa de imágenes. En tu navegador.

Tus datos de entrada y archivos no salen del navegador

Escriba texto para codificar o pegue Base64 para decodificar, o suelte un archivo abajo.

Arrastra y suelta un archivo aquí

Si seleccionas un archivo, se usará en lugar del texto.

Opciones de decodificación

Aquí aparecerá el resultado codificado o decodificado.

En esta página

Convierte texto o cualquier archivo a Base64 y viceversa sin subir nada. La codificación la hace en tu navegador un módulo WebAssembly compilado desde Rust; las imágenes decodificadas se previsualizan y los datos binarios se descargan con la extensión correcta.

Funcionalidad detallada

El texto se convierte primero en bytes con la codificación elegida (UTF-8, UTF-16LE, UTF-16BE, ASCII o ISO-8859-1) y luego se codifica con el alfabeto estándar RFC 4648 (+ y /) o con el alfabeto URL-safe (- y _) que usan los JWT y los parámetros de URL. El relleno = puede ser obligatorio, opcional o eliminarse, y la salida puede cortarse en líneas de 76 caracteres, como exige MIME en el correo.

Al decodificar, la herramienta analiza los bytes resultantes. El texto legible aparece en el campo de salida; las imágenes PNG, JPEG, GIF, WebP, BMP, ICO, TIFF y SVG se muestran como vista previa con su tamaño en píxeles; PDF, ZIP, GZIP, MP3, MP4 y ejecutables se reconocen por su firma. Todo lo que no sea texto se guarda con Descargar y la extensión adecuada, por ejemplo decoded.png.

Puedes elegir un archivo o arrastrarlo a la página; mientras haya un archivo seleccionado, el campo de texto se ignora. El archivo se lee en bloques de 1 MiB en un Web Worker con barra de progreso y botón Cancelar, pero se mantiene entero en memoria, así que el límite práctico es la RAM del dispositivo. Los resultados muy largos se muestran recortados y se guardan completos con Descargar.

Ejemplos prácticos

Texto a Base64: Hello, World! se codifica como SGVsbG8sIFdvcmxkIQ==; en UTF-8, Привет pasa a 0J/RgNC40LLQtdGC (12 bytes de entrada, 16 caracteres de salida).

URL-safe sin relleno: <<???>> da PDw/Pz8+Pg== con el alfabeto estándar y PDw_Pz8-Pg con URL-safe (-_) y Sin relleno, el formato de los segmentos JWT.

Entrada sin relleno: SGk falla con el relleno Requerido por defecto; cambia Relleno a Opcional y se decodifica como Hi.

Base64 a imagen: al pegar el Base64 de un PNG (empieza por iVBORw0KGgo) aparece la imagen con su tamaño, por ejemplo 1×1 px, y Descargar la guarda como decoded.png.

Cómo usar esta herramienta

  1. Introduce texto o elige un archivo

    Escribe o pega texto en Entrada (texto), o arrastra un archivo a la página o pulsa Elegir archivo. El archivo seleccionado tiene prioridad sobre el texto.

  2. Ajusta las opciones

    Elige Codificación del texto (normalmente UTF-8), Alfabeto (Estándar (+/) o URL-safe (-_)), Relleno y, para correo MIME, Salto de línea en 76 caracteres.

  3. Codifica o decodifica

    Pulsa Codificar para obtener Base64 o Decodificar para recuperar texto, una vista previa de imagen o un archivo binario. Si hay un error, el mensaje indica la causa, como un carácter no válido o un relleno incorrecto.

  4. Copia o descarga el resultado

    Copiar lleva la salida al portapapeles y Descargar la guarda como archivo. Intercambiar pasa la salida a la entrada para comprobar la conversión inversa.

Consejos y mejores prácticas

  • Base64 aumenta el tamaño en torno a un 33%: cada 3 bytes se convierten en 4 caracteres. Es una codificación, no un cifrado; cualquiera puede decodificarla.
  • Quita el prefijo data:image/png;base64, de un data URI antes de decodificar: el decodificador solo acepta la parte Base64.
  • La cabecera y el payload de un JWT usan el alfabeto URL-safe sin relleno: elige URL-safe (-_) y relleno Opcional, y eyJhbGciOiJIUzI1NiJ9 se decodifica como {"alg":"HS256"}.
  • Deja activado Permitir espacios/saltos de línea para decodificar Base64 con saltos de correos o archivos PEM; desactívalo para comprobar que la entrada es una sola línea limpia.
  • La codificación importa: é es w6k= en UTF-8 pero 6Q== en ISO-8859-1, así que decodifica con la misma que usaste al codificar.
  • Después de abrir la página una vez, sigue funcionando sin conexión.