Codificador y descodificador Base64
Texto a Base64 y al revés. Con UTF-8 de verdad, que es donde falla la mitad de las implementaciones caseras.
Tus datos
Resultado
SG9sYSwgY2HDscOzbiDwn5GL - Caracteres del resultado
- 24
- Entrada (bytes)
- 18
- Salida (bytes)
- 24
- Cuánto engorda
- 33,3 %
Qué damos por supuesto
- Todo ocurre en tu navegador. Ni el texto ni el resultado salen de tu equipo.
- El texto se codifica en UTF-8 antes de pasar a Base64. Sin ese paso, cualquier carácter que no sea ASCII se rompe.
- Base64 no es cifrado. Es una forma de escribir bytes con 64 caracteres imprimibles: cualquiera puede deshacerlo sin ninguna clave.
- Al descodificar se exige que el resultado sea texto UTF-8 válido. Si el Base64 contenía una imagen o un binario, aquí no se puede enseñar.
- Se aceptan entradas sin relleno y con espacios o saltos de línea: se limpian antes de descodificar.
Cómo se calcula
Base64 coge los bytes de tres en tres y los reescribe como cuatro caracteres de un alfabeto de 64. De ahí el nombre, y de ahí que el resultado ocupe siempre un tercio más que la entrada: cuatro caracteres por cada tres bytes.
El paso que casi todos se saltan
La función btoa del navegador no acepta texto: acepta bytes disfrazados de
cadena, y falla con cualquier carácter por encima de U+00FF. Un «ñ» la tumba. Aquí el texto se
convierte primero a UTF-8, que es el motivo de que los acentos y los emoji vuelvan enteros.
La variante para URLs
El alfabeto normal usa + y /, y ambos significan otra cosa dentro
de una dirección. La variante «url-safe» los cambia por - y _ y quita
el relleno de =. Es la que usan los JWT y la que necesitas si el resultado va en
un parámetro.
No confundir con seguridad
Ver algo en Base64 no significa que esté protegido. Es codificación, no cifrado: no hay clave, y deshacerlo es exactamente igual de fácil que hacerlo.
Un ejemplo
Hola se convierte en SG9sYQ==. Con acentos se ve el motivo del
paso por UTF-8: cañón son 7 bytes, no 5, y por eso su Base64 es más largo de lo
que sugieren sus letras.
Preguntas frecuentes
¿Base64 sirve para ocultar algo?
No. Es codificación, no cifrado: no hay clave y cualquiera lo deshace en un segundo. Si necesitas que algo no se lea, hace falta cifrarlo de verdad.
¿Por qué el resultado es más largo que el texto?
Porque cada tres bytes se convierten en cuatro caracteres. El crecimiento es de un tercio, aproximadamente un 33 %, y lo verás en el dato de cuánto engorda.
¿Puedo descodificar una imagen en Base64?
Se puede descodificar, pero aquí no se puede mostrar: esta herramienta trabaja con texto. Si el contenido no es texto UTF-8 válido te lo decimos en lugar de enseñarte caracteres rotos.
¿Qué es la variante para URLs?
La misma codificación con dos caracteres cambiados —- y _ en vez de + y /— y sin relleno, para que el resultado pueda ir dentro de una dirección sin romperla. Es lo que usan los JWT.
Sigue calculando
Todas las herramientas →- Codificador y descodificador de URL Para meter texto en una dirección sin romperla. La diferencia entre codificar un valor y codificar la URL completa es la que suele fallar.
- Contador de caracteres, palabras y bytes Caracteres, palabras, líneas y bytes. Contando de verdad: un emoji es un carácter, aunque tu editor diga que son dos.
- Descodificador de JWT Pega el token y verás qué lleva dentro. Ojo: esto lo descodifica, no lo verifica — comprobar la firma necesita la clave.
Actualizado el 2026-09-02. Los cálculos se ejecutan en tu navegador; los datos que introduces no se envían a ningún servidor.