Cambiar de app de autenticación parece que debería ser cosa de dos minutos: abres Google Authenticator, tocas "Exportar cuentas", escaneas el QR con tu nueva app y listo. En la práctica, la gente intenta exactamente esto y se sorprende cuando la nueva app o rechaza el código por completo o no importa nada útil. La razón no es un fallo — es una decisión de formato integrada en cómo Google Authenticator exporta los datos. Esta guía explica qué contiene realmente ese QR de exportación, por qué la mayoría de las apps no puede leerlo y la ruta fiable y universal para mover tus cuentas de doble factor a cualquier app que elijas sin perder el acceso.
Por Qué No Puedes Simplemente Escanear el QR de Exportación en Otra App
Cuando añades una cuenta por primera vez a cualquier app de autenticación, el servicio te muestra un QR que codifica una URI estándar otpauth://totp/.... Esa URI es un formato abierto y documentado: lleva la etiqueta de la cuenta, el nombre del emisor y — lo más importante — el secreto compartido en Base32, más parámetros opcionales como el algoritmo, el número de dígitos y el periodo. Cualquier app compatible puede leer esa única URI y empezar a generar códigos. Este estándar se describe en detalle en nuestra guía pilar sobre la anatomía de un código QR de 2FA.
La función "Exportar cuentas" (también etiquetada como "Transferir cuentas") de Google Authenticator produce algo distinto. En lugar de una URI otpauth:// por cuenta, genera uno o varios QR que contienen una única URI otpauth-migration://offline?data=.... El parámetro data es una carga binaria codificada en Base64 — una estructura de Protocol Buffers ("protobuf") que empaqueta varias cuentas a la vez, cada una con su secreto, nombre, emisor y campos de algoritmo. Es un contenedor por lotes, no una URI de credencial por cuenta.
Este formato otpauth-migration:// es, en la práctica, propietario de Google Authenticator. Nunca se publicó como estándar interoperable de la forma en que sí lo hizo otpauth://. Como resultado, la mayoría de apps de la competencia no intenta interpretarlo, y una app genérica de escaneo de QR simplemente verá un esquema de URI que no entiende. Algunas herramientas de código abierto y un puñado de apps han hecho ingeniería inversa del formato protobuf y pueden decodificarlo, pero no puedes contar con que una app concreta lo soporte. Si tu nueva app no lo hace, el QR de exportación es un callejón sin salida.
Los Dos Formatos, Lado a Lado
Conviene tener la distinción clara:
- URI de inscripción estándar —
otpauth://totp/Example:[email protected]?secret=JBSWY3DPEHPK3PXP&issuer=Example. Una cuenta, formato abierto, legible por cualquier app compatible. Es lo que un servicio te muestra cuando configuras el 2FA. - Blob de migración de Google —
otpauth-migration://offline?data=Ci0KCk.... Muchas cuentas, protobuf específico de Google, fuera del estándar interoperable. Es lo que produce "Exportar cuentas".
Como el blob de migración no es la forma portable, tratarlo como tu ruta de migración te ata a las apps que casualmente soporten el formato privado de Google. La forma portable es el secreto individual otpauth:// — y la estrategia fiable se construye en torno a obtenerlo fresco para cada cuenta.
La Ruta Fiable y Universal: Reinscribir Cada Servicio
El método que funciona con todas las apps de autenticación, en cualquier plataforma y sin depender del formato de exportación de Google, es reinscribir cada servicio de uno en uno. Es más manual que un solo escaneo, pero es el único enfoque garantizado y, hecho con cuidado, nunca te deja fuera. La idea central: para cada cuenta, genera un secreto totalmente nuevo en el servicio, añade ese nuevo secreto a tu nueva app y confirma que funciona antes de continuar.
Para cada cuenta protegida por Google Authenticator:
- Inicia sesión en el servicio y abre sus ajustes de seguridad o de autenticación de dos factores. Ahí es donde se gestiona el 2FA de la cuenta — no dentro de la app de autenticación.
- Desactiva o restablece el autenticador existente y luego vuelve a iniciar el flujo de "añadir app de autenticación". Muchos servicios lo llaman "configurar app de autenticación" o "cambiar autenticador". Restablecer hace que el servicio emita un nuevo secreto compartido; el código antiguo de Google Authenticator dejará de ser válido para esa cuenta al completar el cambio.
- Escanea el nuevo QR con tu nueva app. Como el servicio te muestra un QR estándar
otpauth://, cualquier app de autenticación puede leerlo — Aegis, 2FAS, Ente Auth, Microsoft Authenticator, 1Password, Bitwarden y el propio Google Authenticator lo aceptan. - Introduce el código de la nueva app para confirmar. El servicio te pedirá teclear un código actual para probar que el nuevo secreto se capturó correctamente. Solo tras esta confirmación queda completo el cambio para esa cuenta.
- Guarda los nuevos códigos de recuperación/respaldo que ofrezca el servicio. Son tu alternativa si algún día pierdes la nueva app, y se regeneran al restablecer el 2FA.
Trabaja las cuentas por orden de prioridad — el correo primero (porque suele controlar los resets de contraseña de todo lo demás), luego las cuentas financieras y después el resto. No hay prisa por borrar la app antigua; ambas pueden coexistir durante la transición.
Verifica Antes de Borrar la App Antigua
La única regla que evita quedarse fuera: mantén Google Authenticator instalado y sin tocar hasta que cada nuevo código haya verificado contra su servicio. No lo desinstales, no borres el móvil antiguo y no elimines una cuenta de él hasta haber iniciado sesión con éxito (o completado el paso de confirmación) usando el código de tu nueva app. Si una reinscripción sale mal — un código mal tecleado, un flujo a medias, un servicio que silenciosamente conservó el secreto viejo — la app antigua es tu red de seguridad.
Una forma práctica de confirmar que cada cuenta está realmente migrada: tras reinscribir, cierra sesión por completo en el servicio y vuelve a entrar, introduciendo el código de la nueva app. Si ese recorrido funciona, la cuenta está lista y puedes eliminarla de la app antigua. Solo cuando la última cuenta esté verificada deberías jubilar Google Authenticator.

El Atajo: Si Guardaste el Secreto Original
La reinscripción solo es necesaria cuando ya no tienes el secreto original de la cuenta. Si, al configurar el 2FA por primera vez, guardaste la URI otpauth:// subyacente o la cadena del secreto en Base32 (muchas pantallas de configuración ofrecen un enlace de "¿no puedes escanear el código?" que revela el secreto en texto), la migración es trivial y no requiere ningún cambio en el servicio. Como ese secreto es la forma estándar portable, puedes añadirlo directamente a cualquier app de autenticación y generará los mismos códigos que antes — sin desactivar, sin restablecer, sin nuevos códigos de recuperación.
Puedes confirmar que un secreto guardado produce códigos correctos antes de depender de él. Pega el secreto Base32 en nuestro generador TOTP y calculará el código actual de seis dígitos íntegramente en tu navegador. Si ese código coincide con lo que el servicio espera actualmente (o con lo que muestra Google Authenticator), sabes que el secreto es válido y puede confiarse a tu nueva app. Es también la forma más rápida de comprobar la coherencia de un secreto que exportaste o anotaste: un código que coincide prueba que el secreto, el algoritmo y el periodo son todos correctos.
La lección para futuras configuraciones es clara: siempre que un servicio te permita ver el secreto en texto durante la inscripción del 2FA, guárdalo en tu gestor de contraseñas junto a la cuenta. Un secreto almacenado convierte cualquier futura migración de app de un maratón de reinscripción servicio por servicio en un simple pegado. Para una visión más amplia de qué pasa cuando no tienes ningún secreto guardado y pierdes el acceso por completo, consulta nuestra guía sobre opciones de recuperación tras perder un móvil con 2FA.
Manejar Secretos y Capturas de Pantalla con Seguridad
Un secreto TOTP es una credencial al portador: cualquiera que lo posea puede generar códigos válidos para tu cuenta indefinidamente, igual que tu app. Eso hace que el secreto — y cualquier cosa que lo contenga — sea tan sensible como la propia contraseña. Trata los datos de migración en consecuencia.
- Ten cuidado con las capturas de pantalla. Capturar un QR o un secreto en texto deja una copia permanente en tu galería de fotos, que muy a menudo se sincroniza con una copia en la nube y posiblemente se comparte entre dispositivos. Un secreto en tu carrete es un secreto que ya no controlas del todo. Si debes capturarlo temporalmente, bórralo — y vacía el álbum "eliminados recientemente" — en cuanto termine la migración.
- No pegues secretos en webs arbitrarias. Un secreto pegado en un generador online no confiable puede registrarse en el servidor. Usa solo herramientas que calculen los códigos localmente en el navegador y no transmitan nada; nuestro generador TOTP se ejecuta íntegramente en el cliente precisamente por esto.
- Guarda los secretos en un gestor de contraseñas, no en una app de notas. Si conservas secretos guardados, ponlos en un vault cifrado (Bitwarden, 1Password, KeePassXC), no en una nota en texto plano ni en un mensaje de chat a ti mismo.
- Limpia los datos de exportación de Google. Si generaste un QR
otpauth-migration://experimentando, no dejes una captura suya por ahí — contiene todos los secretos exportados a la vez, lo que lo convierte en un artefacto de valor especialmente alto.
Elegir a Dónde Migrar
Ya que vas a reinscribir de todas formas, merece la pena elegir una app de destino que evite el bloqueo que hizo incómoda esta migración en primer lugar. En la práctica, las cualidades que importan son: copias de respaldo exportables y basadas en estándares (para que tu próxima migración sea indolora), copias cifradas que tú controles y soporte multidispositivo o multiplataforma para que un solo móvil perdido no sea una crisis. Apps de código abierto como Aegis (Android), 2FAS y Ente Auth, así como las funciones de autenticación integradas en gestores de contraseñas como Bitwarden y 1Password, almacenan todas secretos TOTP estándar y permiten exportarlos o sincronizarlos. La elección concreta es tuya; el objetivo es simplemente aterrizar en un sitio que trate tus secretos como datos portables en lugar de atraparlos tras un formato privado.
Errores Comunes de Migración
Unos pocos errores recurrentes convierten una migración fluida en un bloqueo:
- Borrar la app antigua primero. Desinstalar Google Authenticator o restablecer de fábrica el móvil antiguo antes de verificar los nuevos códigos elimina tu única alternativa. Verifica siempre primero.
- Suponer que el QR de exportación "simplemente funciona". Como se explicó arriba, el blob
otpauth-migration://no es universalmente legible. No construyas tu plan sobre escanearlo en una app que no hayas confirmado que lo soporta. - Saltarte el paso de confirmación. Algunos servicios muestran el nuevo QR pero solo finalizan el cambio tras introducir un código. Si cierras la página antes, la cuenta puede seguir atada al secreto viejo — o, peor, quedar a medio cambiar. Completa siempre la confirmación.
- Perder los nuevos códigos de recuperación. Restablecer el 2FA regenera los códigos de recuperación e invalida los antiguos. Guarda el nuevo juego de inmediato.
- Migrar todo de golpe bajo presión de tiempo. Hazlo en lotes pequeños, verificando cada cuenta, para que un solo error afecte a un inicio de sesión y no a todos.
Poniéndolo Todo Junto
Migrar fuera de Google Authenticator es perfectamente posible; simplemente no es la operación de un solo escaneo que sugiere el botón "Exportar cuentas". Esa exportación produce un blob por lotes privado otpauth-migration:// que la mayoría de apps no puede leer, así que el camino fiable es reinscribir cada servicio, capturar un secreto estándar otpauth:// nuevo en tu app y verificar cada uno antes de jubilar la app antigua. Si guardaste tus secretos al configurar el 2FA por primera vez, puedes saltarte por completo la reinscripción y simplemente añadirlos a cualquier app — y puedes confirmar que cada secreto guardado produce el código correcto con nuestro generador TOTP antes de depender de él. Sea cual sea la ruta, mantén la app antigua hasta que cada cuenta esté confirmada, y trata cada secreto y captura de pantalla como la credencial sensible que es.