The columns
The template is one header row, title,url,username,password,totp,notes,folder,favorite, with one
account per row below it. Every column is optional, and you can leave any cell empty. Keep the header
names as they are: they are how Keythentic knows which column is which, in any order.
| Column | What goes in it | Example |
|---|---|---|
title | The name you'll see in your vault. | Example Mail |
url | The sign-in page's address, used for autofill. One website per row. | https://mail.example.com |
username | Your username or email address. | [email protected] |
password | The password, exactly as typed. | correct-horse-battery-staple |
totp | The account's two-factor (authenticator) key: either the setup key the site showed you, or a full otpauth:// link. See below. | JBSWY3DPEHPK3PXP |
notes | Anything else. Line breaks are kept. | Recovery codes are in the desk drawer |
folder | A folder name. Logins only. | Personal |
favorite | yes, true or 1 to mark it a favourite. Logins only. | yes |
What each row becomes
- A login, when the row has a password. A
totpkey on the same row is saved with that login, so its code appears next to it. - An authenticator code, when the row has a
totpkey but no username and no password. Put the service's name intitle. - A secure note, when the row has only a
titleandnotes.
A row with none of these is skipped, and the preview tells you which line it was. Cards can't be imported this way; add them in the app instead. A file can hold up to 5,000 rows.
Authenticator keys
When you set up two-factor sign-in, most sites offer a QR code and a "can't scan it?" setup key. A key on
its own, like JBSWY3DPEHPK3PXP, is read with the usual settings: 6 digits, a new code every
30 seconds. If a site uses different settings, put the whole otpauth:// link in the cell
instead, and its digits, period and algorithm come across with it. To see what a link contains, paste it
into the otpauth:// decoder, which runs in your browser.
Filling it in
- Use a spreadsheet or text editor on your own computer. Excel, Numbers and LibreOffice all work. Avoid online converters, and think twice about Google Sheets: it keeps a copy in your Google account.
- Set every column to text before you type. Otherwise spreadsheets quietly change values: a password of
000123becomes123, and a long number turns into1.23E+15. - Save as "CSV UTF-8 (Comma delimited)". The file must use commas between columns. In some countries Excel's plain "CSV" option uses semicolons, and Keythentic won't be able to read that.
- Commas and quotes are fine. Your spreadsheet adds the quoting for you when it saves. If you write the file by hand, put a value containing a comma, a quote or a line break in double quotes, and double any quote inside it:
"say ""hi"", then go".
The filled-in example has one row of each kind: a login, a login with an authenticator key, an authenticator code on its own and a note. Delete its rows before you add your own, or they'll be imported too.
Import it
- Copy the file to your phone, by USB cable or Nearby Share rather than email or chat.
- In Keythentic, open Settings › Import from another app and choose Keythentic CSV template. On versions before 0.12.3, choose Another password manager (CSV) instead; it reads the file the same way.
- Tap Choose file and pick your CSV.
- Check the preview. It lists what each row became, anything it skipped and why, and any duplicates of what's already in your vault. Then tap Import.
- When it's done, tap Delete it from this phone. Then delete the copy on your computer too, and empty the bin.
Moving from another password manager?
You don't need the template. Keythentic reads exports from Google Password Manager, Bitwarden, LastPass, 1Password, Dashlane, KeePass, Proton Pass, Aegis and more as they are. Pick your app from the same Import from another app list and follow the steps it shows. Something not working? Tell us.