To protect your privacy: email us with billing or account questions instead of posting here.

Importing from a Bitwarden vault fails "No codec found"

2

Comments

  • retsreg
    retsreg
    Community Member

    I'm getting the same error: "Unsupported Bitwarden export. Make sure that your export file is JSON encrypted with a password." It's not an issue with the codec.

    This is a blocking issue for me. Not off to a good start with my new 1Password family plan!

  • Lorthirk
    Lorthirk
    Community Member

    Yeah, same. I'm running out of my trial period at this point, I hope it could be extended since I could only touch surfaces of 1Password. I know I could use the CSV export but, as also confirmed by support, with CSV i could be missing important metadata such as passwords history and creation dates, and more important multiple sites for each entry. I'd really want to try a direct Bitwarden import.

  • philipgoldm
    philipgoldm
    Community Member

    Same for me. The error "Unsupported Bitwarden export. Make sure that your export file is JSON encrypted with a password." is a blocking me to migrate to the new 1Password family plan!

  • This content has been removed.
  • Hey folks, I've reached out to the team to see if I can get any additional information for you.

  • clamor9687
    clamor9687
    Community Member
    edited June 25

    I'm a new 1Password user that is running into this issue as well. Looking at the browser console, I count 13 import errors across two different items.

    Item #1 is an identity item type. The following fields are erroring due to a null value: title, address2, address3, company, ssn, username, passportNumber, and licenseNumber. There are also two fields in this same item that show "Invalid value (type: object)", but I can't glean much more information than that.

    I know less about what I'm looking at with Item #2, but hopefully your engineers can make sense of the last 3 errors.

    I'm going to attempt to remove the troublesome items from my encrypted JSON file and hope that I can import successfully. I'll keep a copy of it prior to modification and will be happy to provide the two lines causing issues to your engineers (filled with dummy data).

  • Hey folks, The team has said they are working with this. They are hopeful that soon you'll be able to move forward. I apologize I do not have a firm time frame to offer. They have not forgotten about you.

  • clamor9687
    clamor9687
    Community Member

    As an update to my above issue, I got my Bitwarden vault imported! Item #1 was my primary identity in Bitwarden; the import script didn't like some of the null values. Item #2 was an incomplete credential with no username or password, but a note added in the Notes section.

  • Nice job! I'm glad to hear it.

  • clamor9687
    clamor9687
    Community Member

    @ag_tommy - I did find a bug in the Bitwarden import script that I wanted to send your way while you were in contact with the dev team. It doesn't appear that the import script handles custom fields in Secure Notes; they're missing from all of mine. It successfully handles them in Credentials, so I figured this wasn't intentional.

    Thanks for your help! It's very much appreciated. :) I'm loving 1Password so far, and I'm looking forward to getting my family bootstrapped onto it so that they no longer need to keep passwords in their head. 1Password seems to be a better fit for families.

  • NeoGeo
    NeoGeo
    Community Member

    Suffering the same issue. I've exported my Bitwarden vault in JSON format with a password from the bitwarden.com web console. When trying to import into 1password.com from the web console I get:

    Unable to import.
    Unsupported Bitwarden export. Make sure that your export file is JSON encrypted with a password.
    Error Code:
    Session: [OBFUSCATED BY ME]
    Time: 2024-06-26T17:55:09.425Z
    
  • Thanks @clamor9687

    @NeoGeo

    I've not seen any movement here with regard to a user facing solution. Please allow me to check with that team.

  • NeoGeo
    NeoGeo
    Community Member

    I'm a software dev myself and am looking at moving our entire company over to 1password (70+ accounts). We'd need a solution that can port cleanly. If it helps, I can do dbug in console from my side, just need direction on what you're looking for. Your help is appreciated.

  • Hey @NeoGeo

    To my understanding the issue has been resolved by the dev team and coded. We're hoping to get a release soon. My apologies for the delay.

  • RuslanI
    RuslanI
    Community Member

    I was also advised to do the transfer via CSV with a HUGE caveat - that I have to manually go through my thousands of passwords in something like Excel and make sure that all the datatypes are correct and formatting is correct.
    To me this is not a solution, it's almost the same as advising on retyping every password into 1password.
    Are there any updates on the bug?

  • Apologies @RuslanI I have no further updates at this time. My apologies.

  • andrewmzhang
    andrewmzhang
    Community Member
    edited June 30

    **Disclaimer: Not a 1Password employee, just some guy with a technical background. I wrote this in a hurry and stuff isn't thoroughly tested. This is just what worked for me. **

    Using the information in @clamor9687 's post, I figured out how to make the current import system work. This isn't a full working guide and it's geared towards technical people as opposed to the layman.

    1. Create an encrypted account restricted export. Since Bitwarden doesn't allow users to selectively export contents, we have to manually go in and delete stuff. This step gives us a point to restore from in case something goes wrong.
    2. Create a json unencrypted export
    3. Create a json encrypted export
    4. Right-click your browser, click inspect, and then go to the console tab
    5. Attempt to upload the encrypted json into 1Password. You'll probably get an error code here.
    6. Decipher the error messages, and delete/fix offending items in Bitwarden. (See details below)
    7. Rinse and repeat steps 1-5. You might need to make several passes before you find all problems in Bitwarden.

    Deciphering the error codes

    The big idea here is that 1Password doesn't handle null values well. We basically need to find them all and delete/fix them. Unfortunately, the error codes in the browser console don't tell you which item is offending, only why it's offending. I recommend using the unencrypted json we created in step 1 for easy searching. I'm going to walk through some examples.

    An example error code

    action/import/bitwarden#parseBitwardenExport failed to decode: Invalid value null supplied to : pipe(json, FileFormat)/items: ReadonlyArray<Item>/146: Item/card: withDefault((CardItemType | undefined | null), undefined)/0: CardItemType/cardholderName: string
    

    This means that in one of your saved credit cards in Bitwarden has a null cardholder name. CTRL-F in the unencrypted json to look for cardholderName": null; the unencrypted json just makes searching easier, you could also manually look for this card on the Bitwarden Website.

    action/import/bitwarden#parseBitwardenExport failed to decode: Invalid value null supplied to : pipe(json, FileFormat)/items: ReadonlyArray<Item>/587: Item/login: withDefault((LoginItemType | undefined | null), undefined)/0: LoginItemType/uris: ReadonlyArray<{ uri: string }>/0: { uri: string }/uri: string
    
    action/import/bitwarden#parseBitwardenExport failed to decode: Invalid value (type: object) supplied to : pipe(json, FileFormat)/items: ReadonlyArray<Item>/587: Item/login: withDefault((LoginItemType | undefined | null), undefined)/1: undefined
    
    action/import/bitwarden#parseBitwardenExport failed to decode: Invalid value (type: object) supplied to : pipe(json, FileFormat)/items: ReadonlyArray<Item>/587: Item/login: withDefault((LoginItemType | undefined | null), undefined)/2: null
    

    This group of errors are related. The first line here means that in a Login item, uri was null. Either fill the URI with a sensible value or delete it. The 2nd and 3rd lines, I'm pretty sure, are related to this uri issue. I think when the code was unable to construct a LoginItemType object because uri was null, the Login object becomes type object instead of LoginItemType, undefined, or null.

  • andrewmzhang
    andrewmzhang
    Community Member

    Disclaimer: I don't work for 1Password. Just some guy with a technical background. Instructions below have not been rigorously tested. This guide is geared towards technical people who are comfortable with browser consoles and json files

    Using information from @clamor9687 's post, I figured out how to import my Bitwarden password encrypted json vault into 1Password.

    Steps

    1. Create an "account restricted" encrypted json export in Bitwarden. The following steps require deleting/modifying Bitwarden entries (we have to do this since Bitwarden doesn't let us export a selection of items). This backup gives us a restore point in case we seriously mess up.
    2. Create unencrypted json export in Bitwarden. This is just for easy searching in subsequent steps.
    3. Create password encrypted json export in Bitwarden.
    4. Go to 1Password.com and right-click -> inspect -> console.
    5. Attempt to import the password encrypted json from step 2. We expect to see an "Unable to import." error popup and a bunch of errors will print in the console.
    6. Locate the offending items and delete or fix them in Bitwarden (Details below)
    7. Rinse and repeat steps 1-5. You might need to make several passes to find all the offending items

    How to read errors in the console

    The big idea here is that the 1Password import process doesn't handle null values particularly well. The console error swill tell you which fields are null or offending, but won't tell you which item this belongs to. I recommend using the unencrypted json from step 1 to help you find them.

    action/import/bitwarden#parseBitwardenExport failed to decode: Invalid value null supplied to : pipe(json, FileFormat)/items: ReadonlyArray<Item>/146: Item/card: withDefault((CardItemType | undefined | null), undefined)/0: CardItemType/cardholderName: string
    

    This indicates that a cardholderName field was null instead of the expected string. CTRL-F in the unencrypted json for cardholderName": null and either delete those cards from Bitwarden, or fill in the entry.

    action/import/bitwarden#parseBitwardenExport failed to decode: Invalid value null supplied to : pipe(json, FileFormat)/items: ReadonlyArray<Item>/587: Item/login: withDefault((LoginItemType | undefined | null), undefined)/0: LoginItemType/uris: ReadonlyArray<{ uri: string }>/1: { uri: string }/uri: string
    
    action/import/bitwarden#parseBitwardenExport failed to decode: Invalid value (type: object) supplied to : pipe(json, FileFormat)/items: ReadonlyArray<Item>/587: Item/login: withDefault((LoginItemType | undefined | null), undefined)/1: undefined
    
    action/import/bitwarden#parseBitwardenExport failed to decode: Invalid value (type: object) supplied to : pipe(json, FileFormat)/items: ReadonlyArray<Item>/587: Item/login: withDefault((LoginItemType | undefined | null), undefined)/2: null
    

    These 3 lines are related. The first one indicates that one of the login uri fields is null. Just like before, either delete the uri or fill it in. The next 2 errors appear to be caused by the first one. I think if the uri is null, the javascript cannot construct a LoginItemType and instead creates an object of type object . Since that isn't a LoginItemType, undefined, or null type, the code errors out. If the uri issue is fixed, then last 2 errors will go away.

  • fiscally8420
    fiscally8420
    Community Member

    @ag_tommy any update on when the new release will be out?

  • tmeyer155
    tmeyer155
    Community Member

    Hey there, corporate user here. I'm adding my name to the list of those affected by this. It impacts several of my (generally more tech-savvy) users and me. Thanks to those who have posted workarounds, and I'm looking forward to the official fix!

  • Hey folks, Let me see if I can get an update from the team. My apologies you have not seen movement yet. I had hoped it would have been present by now.

  • shishi1p
    shishi1p
    Community Member

    Same problem here. I have 2000+ items and very frustrated 1password import featrure is not working. Hope fix soon.

  • fiscally8420
    fiscally8420
    Community Member
    edited July 8

    @ag_tommy any updates?
    This is a blocker for me. I've 500+ items and can't manually edit them for import.

  • Sorry, I've been away for the holidays. Let me ask.

  • Hey folks, The team says the code is in review. Assuming all goes well, you should see a resolution soon. My best guess would be in the next day or so. My apologies for the delay.

  • fiscally8420
    fiscally8420
    Community Member

    I was finally able to import my encrypted JSON file.

  • Nice! Thank you so much for sharing that with the community.

  • Lorthirk
    Lorthirk
    Community Member

    That's not the case for me :\ Is the fix already available?

  • @Lorthirk

    Perhaps you've encountered something new/different? Please email us using support+forum@1password.com. Be sure to use the email address tied to the account in question. Feel free to include any screenshots or error messages you may have seen. This will help get you before the technical team and they can ensure what you're experience is indeed the same.

  • Lorthirk
    Lorthirk
    Community Member

    Done. Let's hope for a final solution :)