tools / base64
base64/
Convierte texto, archivos e imágenes a Base64 y de Base64. UTF-8, con compatibilidad URL-safe.
Texto plano
Base64
Preguntas frecuentes
¿Qué hago si al decodificar sale «Contiene caracteres que no son Base64» o «Longitud no válida»?
Comprueba que el texto esté completo y limpio. Los caracteres admitidos son A–Z, a–z, 0–9, + y /, además de - y _ de la variante URL-safe; el = solo puede aparecer al final. Los espacios, los saltos de línea y un data:...;base64, inicial se ignoran automáticamente. Los símbolos de ancho completo, las comillas y los restos de codificación URL como %2B provocan «Contiene caracteres que no son Base64», mientras que «Longitud no válida» casi siempre significa que se perdieron caracteres al copiar.
¿Qué hago si al decodificar sale «No es texto UTF-8» o el resultado es ilegible?
Los bytes decodificados no son texto UTF-8. Lo habitual es que el original usara otra codificación, como GBK, o que los datos sean binarios desde el principio, por ejemplo una imagen, un archivo comprimido o bytes cifrados. Esta herramienta solo muestra texto UTF-8 y no fuerza otras codificaciones a caracteres ilegibles. Si son datos binarios, haz clic en «Descargar archivo» para guardarlos; el texto en GBK necesita una herramienta que sepa convertir desde GBK.
¿Por qué mi resultado es distinto del de JavaScript, Python o la línea de comandos?
Las causas habituales son un salto de línea final o una codificación de caracteres distinta. Esta herramienta codifica en UTF-8 exactamente lo que hay en el cuadro, sin recortar espacios ni saltos de línea, mientras que echo en la línea de comandos añade por defecto un salto de línea al final; usa echo -n para que coincida. Con texto en chino y emojis, comprueba que el otro lado también use UTF-8: btoa de JavaScript da error si se los pasas directamente, y en Python tienes que hacer encode('utf-8') antes de b64encode.
¿Puedo quitar el = final y qué significa «URL-safe»?
Al decodificar no pasa nada si falta el =, la herramienta lo añade; si puedes omitirlo al enviar depende del receptor, porque algunas bibliotecas lo exigen. El modo URL-safe cambia + por - y / por _, y elimina el = final, lo que va bien para parámetros de URL y nombres de archivo; los JWT usan esta forma. Al decodificar, - y _ se reconocen automáticamente, así que no hay nada que cambiar.
¿Hay un límite de tamaño al convertir un archivo a Base64?
Sí, un archivo puede pesar como máximo 20 MB; los más grandes se rechazan con un aviso. Por defecto el resultado es un Data URL con un prefijo como data:image/png;base64, que puedes usar directamente en la dirección de una imagen de una página web o en CSS; si solo quieres el Base64 puro, borra todo hasta la coma incluida. Base64 aumenta el tamaño en aproximadamente un tercio, así que no se recomienda incrustar imágenes grandes.
¿Cómo convierto Base64 de nuevo en una imagen o un archivo?
Cambia a «Decodificar» y pega el Base64 o un Data URL completo. Las imágenes (PNG, JPEG, GIF, WebP) muestran una vista previa, el texto se muestra directamente y de los demás datos binarios solo se indica el tamaño. En todos los casos puedes hacer clic en «Descargar archivo» para guardar el resultado: las imágenes se nombran según su formato y todo lo demás se guarda como decoded.bin, así que cambia tú la extensión si hace falta.
¿Base64 es cifrado? ¿Sirve para mantener datos en secreto?
No. Base64 solo reescribe los bytes como caracteres imprimibles y cualquiera puede revertirlo; no hay clave ni confidencialidad. Si necesitas confidencialidad, usa un algoritmo de cifrado de verdad, como AES.
¿Se suben mi texto y mis archivos?
No. La codificación y la decodificación se hacen en tu navegador, y el archivo que eliges solo se lee en tu propio dispositivo; nunca se envía a un servidor.