Si alguna vez has intentado dejar Google Authenticator, seguramente conoces el problema.
Pulsas “Transferir códigos”, escaneas el QR en el nuevo dispositivo y listo. Fluido, mientras te quedes dentro de la aplicación de Google. Pero intenta llevar esos mismos códigos TOTP a otro autenticador, a una bóveda de contraseñas o simplemente a un archivo de texto que imprimirás y guardarás en una caja fuerte, y no puedes. El QR de exportación es opaco. Contiene todos tus secretos, pero no puedes leerlos sin Google Authenticator en el lado receptor.
Eso no es realmente una función de seguridad. Es un problema de portabilidad.
Qué hay realmente dentro de ese QR
El QR de exportación de Google Authenticator es una URI con este aspecto: otpauth-migration://offline?data=.... El bloque data es un protocol buffer (protobuf) codificado en base64 que contiene cada entrada TOTP: nombre, emisor, secreto, algoritmo, dígitos, periodo. Es un formato de datos estándar. Nada exótico. Nada que requiera la aplicación de un fabricante concreto para decodificarlo.
El formato lleva años documentado, y quien mejor lo ha analizado y explicado mediante ingeniería inversa es Alex Bakker. Ya existen decodificadores de línea de comandos en Python y Go en GitHub. Lo que no existía era algo que un usuario sin conocimientos técnicos pudiera usar con seguridad: una herramienta web sencilla, totalmente del lado del cliente y auditable, a la que no te lo pensarías dos veces antes de confiarle tus secretos. Ese es el hueco que hemos cubierto.
La herramienta
free-tools.heimlane.com/ga-decoder/ toma el QR de exportación y te muestra lo que contiene realmente: una lista clara de tus cuentas, con los secretos que puedes copiar a cualquier otro autenticador o bóveda.

Cómo funciona
Tres formas de proporcionarle el QR, según lo que tengas a mano:
- Escanear con la cámara. Abre la página en un portátil y acerca el QR a la cámara web. El decodificador lo lee en tiempo real sin enviar la imagen a ninguna parte.
- Subir una imagen. Una captura de pantalla del QR desde el móvil funciona bien (cuando la aplicación lo permite). Suéltala en la página.
- Pegar la URI. Si ya tienes la cadena
otpauth-migration://offline?data=...en bruto, pégala directamente.
Tres formas de leer el resultado, según adónde vayas a llevarlo:
- QR que se pueden volver a escanear para tu nueva aplicación de autenticación. Un QR por cuenta; apunta con la cámara de tu nueva aplicación a cada uno.
- Secretos en base32 que se pueden copiar para cualquier herramienta que acepte directamente una semilla TOTP: bóvedas de contraseñas, tokens físicos, cualquier autenticador sensato.
- JSON o CSV en bloque para cuando tienes decenas de entradas y quieres automatizar la migración con un script, o imprimirlas para guardarlas en una caja fuerte física.
Se admiten tanto las exportaciones de varios lotes (cuando Google reparte una bóveda grande en varios QR) como las entradas HOTP.

Algunos principios que hemos incorporado
Nada sale de tu navegador. El decodificador es una página estática. Escanea el QR en local, analiza el protobuf en local y no envía nada a ninguna parte. Sin servidor, sin telemetría, sin analítica.
El código fuente es abierto. El código fuente completo está en GitHub, con licencia MIT.
Subdominio aislado. El decodificador vive en free-tools.heimlane.com, un origen distinto del sitio principal y de Heimlane Vault. Sin telemetría, sin analítica, sin formulario previo.
Revelado entrada por entrada. Los secretos permanecen ocultos tras un clic, de modo que una pantalla compartida o una captura accidental no los expondrá, ni siquiera si alguien mira por encima de tu hombro. Una vez revelada, cada tarjeta se oculta sola a los 30 segundos.
Por qué esta herramienta
Es una herramienta que queríamos para nosotros, y que construimos primero para que los usuarios de Heimlane Vault pudieran sacar sus códigos TOTP de Google Authenticator y llevarlos a Vault sin perder nada. Pensamos que mucha gente querría lo mismo, sea o no usuaria de Vault, así que la hicimos gratuita, pública y de código abierto.
También refleja cómo pensamos en Heimlane: tus secretos son tuyos, los formatos que los contienen no deberían atraparte y tus datos nunca deberían monetizarse. El decodificador ofrece todo eso en unos 200 KB de HTML y JavaScript estáticos.
Un reconocimiento a Google por ofrecer una exportación (más de lo que pueden decir varias otras aplicaciones de autenticación) y a quienes documentaron el formato antes que nosotros. Nosotros solo lo hemos hecho accesible.
→ Abrir el decodificador de exportación de Google Authenticator
Si quieres un lugar donde guardarlos junto con tus contraseñas y passkeys, Heimlane Vault también lo hace.
