If you are familiar with 1Password, you probably know that the 1Password can generate 2FA TOTP codes used to protect your online accounts. You may also know that you can add 2FA codes to 1Password by either scanning the QR code displayed on the page or an image or manually typing the Secret Key.
However, many people, including myself, kept using the Google Authenticator app to generate the Two-Factor Authentication TOTP codes either due to the lack of other options or simply because we didn’t bother spending hours visiting each account rescanning the QR codes with other applications.
If you have tried to export Google Authenticator to 1Password, you may recall that the QR codes generated by the Google Authenticator app when using the Transfer Accounts option cannot be read by the 1Password QR scanner.
1password QR Code Detection Failed.
When presenting the QR code generated by the Google Authenticator app to the 1Password 2FA QR code scanner, the 1Password will return an error message similar to the image below. The image on the left is a genuine account that I wanted to transfer from the Google Authenticator, and the image on the right is an error message after I tried to scan it using 1Password.
Feel free to try it for yourself. Open the 1Password, edit any account that currently does not have a 2FA set, and try to scan the QR below; you will see the error message from the image on the right. If you don’t know how to scan the QR codes with 1Password, make sure to read my other article that explains the process in detail – add 2FA codes to 1Password.
The error message generated by 1Password is not a failure of the Password Manager but rather a result of the Google Authenticator algorithm that encodes the data behind the QR code as a base64 and proto3 message protocol (Google Protocol Buffers).
Unfortunately, the encoding makes the data unreadable by most applications capable of generating 2FA TOTP codes and scanning QR codes generated using industry-standard algorithms, including 1Password.
The image below shows an example of the encoded data extracted from the QR code generated by the Google Authenticator. I will decode this data and extract the Secret Keys needed for exporting Google Authenticator to 1Password.
Extracting Secret Keys from the Google Authenticator QR Codes.
Before we can export Google Authenticator to 1Password, we must first decode the data behind the QR codes generated by the app when exporting accounts. Before continuing, make sure to read the Extract Secret Keys from Google Authenticator QR Codes article that explains the process in detail.
Transfering Google Authenticator 2FA codes to 1Password.
If you followed the steps in my article describing the process of Extracting Secret Keys from Google Authenticator QR Codes, you should now have the Secret Keys needed to export Google Authenticator 2FA codes to 1Password.
The extracted data should look similar to the image below. You can use either the QR codes generated by the extraction tool or the Secret Keys when adding the 2FA account to 1Password.
Find the matching account for the 2FA code you want to transfer to 1Password and press the Edit button. If you don’t have the account yet, press New Item and select the account type to create. Ensure the Secret Key you have extracted is for the account you are editing or creating.
Press the Add More button and select the One-Time Password field from the list.
You now have two choices; you can scan the QR code for the account generated by the extraction tool or manually type the Secret Key. I will type the Secret Key extracted from the Google Authenticator QR code.
Copy the Secret Key for the account you are currently editing and past it into the one-time password field followed by the Save button.
Exporting Google Authenticator to 1Password is possible but not easy. Decoding the GA QR codes requires third-party software and some technical knowledge on how to use it. The benefit of extracting the Secret Keys from the GA app is that we can now have a backup in case our phone with the Google Authenticator was lost or stolen.