Migrating from Authy
A guide written by Green, an ente.io lover
WARNING
Authy has dropped all support for its desktop apps. It is no longer possible to export data from Authy using methods 1 and 2. You will either need a rooted android phone or you will need to reconfigure 2FA for each of your accounts.
Migrating from Authy can be tiring, as you cannot export your 2FA codes through the app, meaning that you would have to reconfigure 2FA for all of your accounts for your new 2FA authenticator. However, easier ways exist to export your codes out of Authy. This guide will cover two of the most used methods for migrating from Authy to Ente Authenticator.
CAUTION
Under any circumstances, do NOT share any JSON and TXT files generated using this guide, as they contain your unencrypted TOTP secrets!
Also, there is NO GUARANTEE that these methods will export ALL of your codes. Make sure that all your accounts have been imported successfully before deleting any codes from your Authy account!
Method 1: Use Neeraj's export tool
Who should use this? General users who want to save time by skipping the hard (and rather technical) parts of the process.
One way to export is to use this tool by Neeraj to simplify the process and skip directly to importing to Ente Authenticator.
To export from Authy, download the tool for your specific OS, then type the following in your terminal:
./<binary-name> <path_to_export_file>
Assuming the filename of the binary remains unmodified and the working directory of the terminal is the location of the binary, you should type this for MacOS:
NOTE
On Apple Silicon devices, Rosetta 2 may be required to run the binary.
./authy-export-darwin-amd64 authy_codes.txt
For Linux:
./authy-export-linux-amd64 authy_codes.txt
For Windows:
./authy-export-windows-amd64.exe authy_codes.txt
This will generate a text file called authy_codes.txt
, which contains your Authy codes in Ente's plaintext export format. You can now import this to Ente Authenticator!
Method 2: Use gboudreau's GitHub guide
Who should use this? Power users who have spare time on their hands and prefer a more "known and established" solution to exporting Authy codes.
A user on GitHub (gboudreau) wrote a guide to export codes from Authy (morpheus on Discord found this and showed it to us), so we are going to be using that for the migration.
To export your data, please follow this guide.
This will create a JSON file called authy-to-bitwarden-export.json
, which contains your Authy codes in Bitwarden's export format. You can now import this to Ente Authenticator!
Method 2.1: If the export worked, but the import didn't
NOTE
This is intended only for users who successfully exported their codes using the guide in method 2, but could not import it to Ente Authenticator for whatever reason. If the import was successful, or you haven't tried to import the codes yet, ignore this section.
If the export itself failed, try using method 1 instead.
Usually, you should be able to import Bitwarden exports directly into Ente Authenticator. In case this didn't work for whatever reason, I've written a program in Python that converts the JSON file into a TXT file that Ente Authenticator can use, so you can try importing using plain text import instead.
You can download my program here, or you can copy the program below:
import json
import os
totp = []
accounts = json.load(open('authy-to-bitwarden-export.json','r',encoding='utf-8'))
for account in accounts['items']:
totp.append(account['login']['totp']+'\n')
writer = open('auth_codes.txt','w+',encoding='utf-8')
writer.writelines(totp)
writer.close()
print('Saved to ' + os.getcwd() + '/auth_codes.txt')
To convert the file with this program, you will need to install Python on your computer.
Before you run the program, make sure that both the Python program and the JSON file are in the same directory, otherwise this will not work!
To run the Python program, open it in your IDE and run the program, or open your terminal and type python3 authy_to_ente.py
(MacOS/Linux, or any other OS that uses bash) or py -3 authy_to_ente.py
(Windows). Once you run it, a new TXT file called auth_codes.txt
will be generated. You can now import your data to Ente Authenticator!
You should now have a TXT file (method 1, method 2.1) or a JSON file (method 2) that countains your TOTP secrets, which can now be imported into Ente Authenticator. To import your codes, please follow one of the steps below, depending on which method you used to export your codes.
Method 3
Who should use this? Power users who have spare time on their hands and who have a rooted android phone running android 6 or newer that passes Play Integrity.
This way of exporting your data will require a rooted phone.
Exporting codes using Android OTP Extractor
This uses the tool Android OTP Extractor from puddly on GitHub
- Install python 3 and adb to your computer you can download binaries for it from Google
- Add adb to your path. 2.1. On windows search for "Edit the system environment variables" 2.2. Click "Environment Variables" 2.3. At the top in "User variables" click the "path" variable and then click "Edit" 2.4. Click "New" and type the path to where you extracted the Platform Tools
- Enable USB debugging on the Android Phone 3.1. Open settings 3.2. Open "About phone" (Might say tablet depending on what device you use) (skip steps 3.2 and 3.3 if you already have developer options enabled) 3.3. Tap "Build Number" 7 or more times 3.4. Go to the main settings page 3.5. Open "System Settings" 3.6. Open "Developer options" 3.7. Enable "USB Debugging" 3.8. On your computer verify the phone is connected by running
adb devices
(You may need to tap "Allow" on the device to allow the computer to access it) - Install Android OTP Extractor using pip
pip install git+https://github.com/puddly/android-otp-extractor
- Install Authy from the playstore and login to your account
- Run the command below to export the TOTP to QRCodes and URLS
python -m android_otp_extractor --prepend-issuer --include authy
Exporting codes using Aegis Authenticator
This uses the tool Aegis Authenticator from beemdevelopment.
- Install Authy and login on your rooted phone.
- Install Aegis Authenticator from the Google Play Store.
- In the app, click the three dots in the top right corner and click "Import & Export".
- Click "Import from another app" and choose Authy.
- The app will ask for root permissions, then automatically import your codes from Authy.
- Then export the codes from Aegis Authenticator to
json
ortxt
using the "Export to file" option in the "Import & Export" menu.
Importing to Ente Authenticator (Method 1, method 2.1)
- Copy the TXT file to one of your devices with Ente Authenticator.
- Log in to your account (if you haven't already), or press "Use without backups".
- Open the navigation menu (hamburger button on the top left), then press "Data", then press "Import codes".
- Select the "Plain text" option.
- Select the TXT file that was made earlier.
Importing to Ente Authenticator (Method 2)
- Copy the JSON file to one of your devices with Ente Authenticator.
- Log in to your account (if you haven't already), or press "Use without backups".
- Open the navigation menu (hamburger button on the top left), then press "Data", then press "Import codes".
- Select the "Bitwarden" option.
- Select the JSON file that was made earlier.
If this didn't work, refer to method 2.1.
Importing to Ente Authenticator (Method 3)
- Open Ente Authenticator on your phone
- Log in to your account (if you haven't already), or press "Use without backups".
- Click the add button in the bottom right of the app.
- Select "Scan a QR code" and scan the code from the browser.
Now that your secrets are safely stored, I recommend you delete the unencrypted JSON and TXT files that were made during the migration process for security.