Ir al contenido
Calcuplay
Tecnología

Codificador y decodificador Base64

Base64 escribe cualquier dato con 64 caracteres seguros: «Man» se convierte en «TWFu». Cada 3 bytes se convierten en 4 caracteres, así que el resultado es alrededor de un tercio más largo.

Tu texto se queda en tu dispositivo: no se envía ni se pone en la dirección de la página.

Resultado

wqFIb2xhIGEgdG9kb3Mh

15 bytes ↔ 20 caracteres Base64

3 bytes = 24 bits = 4 caracteres de 6 bits

Pequeño reto

Racha 0Récord 0

Ponte a prueba: cada respuesta la calcula la herramienta, y las opciones falsas son las trampas más comunes.

Cómo funciona

Fórmula: Caracteres = 4 × ⌈bytes ÷ 3⌉

Primero el texto se convierte en bytes con UTF-8: un byte para una letra sin tilde, de dos a cuatro para las letras acentuadas y los emojis. Los bytes se leen de 3 en 3, es decir, 24 bits divididos en 4 grupos de 6 bits; cada grupo, de 0 a 63, elige un carácter entre A–Z, a–z, 0–9, + y / (RFC 4648). Cuando el último grupo solo tiene 1 o 2 bytes, el signo «=» completa el resultado hasta un múltiplo de 4. La variante para URL usa - y _ en lugar de + y /.

Ejemplos prácticos

  • «Man»

    3 bytes → 4 caracteres: TWFu.

  • «Ma»

    2 bytes: un = completa el grupo, TWE=.

  • «é»

    2 bytes en UTF-8: w6k=.

Errores frecuentes

  • Usar Base64 para proteger una contraseña.

    Cualquiera lo decodifica sin clave: no es un cifrado.

  • Creer que el tamaño no cambia.

    30 bytes dan 40 caracteres: un tercio más.

  • Poner Base64 estándar en una URL: «??>» da Pz8+, y allí el + se convierte en un espacio.

    Usa la variante para URL: Pz8-.

Vectores de prueba de la RFC 4648

Vectores de prueba de la RFC 4648
TextoBase64
""""
"f""Zg=="
"fo""Zm8="
"foo""Zm9v"
"foob""Zm9vYg=="
"fooba""Zm9vYmE="
"foobar""Zm9vYmFy"

Tamaño una vez codificado

Tamaño una vez codificado
BytesCaracteres
14
24
34
1016
100136
10001336
1.000.0001.333.336

Preguntas frecuentes

¿Base64 es un cifrado?

No. Cualquiera puede decodificarlo, sin clave: solo sirve para que los datos viajen como texto (correos, JSON, URL). Nunca lo uses para ocultar una contraseña.

¿Por qué mi Base64 termina en = o ==?

La longitud no era múltiplo de 3 bytes: un = indica que el último grupo tenía 2 bytes, y == que solo tenía 1.

¿Por qué el texto codificado es más largo?

Cada 3 bytes se convierten en 4 caracteres, un tercio más, sin contar los = finales. Las letras acentuadas y los emojis ocupan de 2 a 4 bytes en UTF-8, así que crecen todavía más.

Calculadoras de tecnología

Calculadoras de tecnología

Otras calculadoras