Why were some rows rejected when I imported?
Troubleshooting · Help center · Current as of 2026-10-10
Short answer
The preview labels every row before anything is written: new, duplicate, similar, or invalid. Duplicates are skipped because the identical entry is already in your vault, and invalid rows are skipped because the secret could not be read. Rows with an out-of-range setting are listed separately with the reason, rather than being imported with a value that would generate wrong codes.
What each label means
- New — nothing like it in the vault. These import.
- Duplicate, skipped — same secret, same issuer and same account name as an entry you already have. Importing it again would give you two identical cards.
- Similar exists, will import — the same issuer and account name but a different secret, which usually means you re-enrolled at that service. These are imported by default; untick the box in the preview to leave them out.
- Invalid, skipped — the secret is missing, or it is not valid base32. A hex secret, a truncated one, or a whole
otpauth://URI in a CSV secret column all land here.
Rows listed with an error instead of a status
These failed validation rather than duplication: Invalid digits: 9 (must be 6-8), a period outside 1 to 300 seconds, or an algorithm that is not SHA-1, SHA-256 or SHA-512. Each is named with its row number and issuer so you can find it in the file. Nothing is quietly corrected into a working-looking entry that generates codes the service will reject.
What to do about the ones that were skipped
Duplicates need nothing. For an invalid row, check the secret in the source export: if it was mangled by a spreadsheet, fix it there and import again; if the secret is genuinely lost, re-enrol that account at the service. Nothing from a failed row is written, so re-importing the corrected file is safe, and anything that did import will come back as a duplicate rather than doubling up. The CSV format has the column rules.
Try KeyNesta free. The web app needs no sign-up.
Open the web app All platforms