MrC's Convert to 1Password Utility (mrc-converter-suite)

MrC
MrC
Volunteer Moderator
edited May 2019 in Mac

1Password Approved Answer
Note: This thread is now locked. Please see the following announcement for more current information:

Moving to 1Password from another password manager


Overview

The mrc-converter-suite helps convert various forms of data into a format that can be easily imported by 1Password (version 4 and above).

In most cases the process will take just a few minutes. The four basic steps for typical usage are:

  1. Prepare Your Data
  2. Convert
  3. Import into 1Password
  4. Cleanup

A few specialty converters are available too, one for printing 1Password exported data or converting it to CSV, one for importing text files into 1Password, and one for importing vCard contacts.

The utility runs on OS X or Windows. The table below shows the list of converters:


1Password     Keepass 2     Password  Safe
Chrome     KeePassX     PasswordWallet
Clipperz     Keeper  Desktop     RoboForm
CSV     Keychain (macOS)     Safe in Cloud
Data Guardian     Key Finder     SafeWallet
DataVault     LastPass     SPB Wallet
Enpass     LicenseKeeper     SplashID
EssentialPIM     mSecure     Sticky  Password
eWallet     Norton  Identity  Safe     True Key
Firefox     Passpack     vCard
F-Secure KEY     Password  Agent     Text files
Handy Safe     Password  Depot     Wallet 4
IronKey  Identity  Manager     Passwords  Plus     Yojimbo

Let's Get Started!

  1. Download the mrc-converter-suite zip archive.
  2. Unzip the downloaded archive (see Notes below).
  3. Move the mrc-converter-suite folder onto your Desktop.
  4. Double-click the README.html file for step-by-step instructions.

Want More Help?

For more help, look inside the Extra Help folder at the link above. You'll find a Screenshots and Samples folder, and a Videos folder. [ Note: updated video and screenshots coming soon ]

If you have any questions, please post them here. Be sure to mention:

  • your version of 1Password
  • the name and version of the password manager you are converting from
  • your OS and version: Windows or Mac OS X

Many users have benefited from remote help. If you find the conversion process too difficult, don't hesitate to ask for help. The process takes just a few minutes.

Comments and feedback are always welcome.

Enjoy 1Password!
MrC

The mrc-converter-suite utility is not an AgileBits product, nor do I work for AgileBits. I'm a user like you who just loves 1Password.

Notes:

  • Some browsers may automatically unzip the archive and store the folder in your Downloads area - just move the mrc-converter-suite folder to your Desktop. To unzip the archive: on macOS, just double-click the zip file; on Windows, double-click the zip file, and drag the folder mrc-converter-suite to your Desktop.
  • The converter suite is supported and tested on OS versions of at least Windows 7 or macOS Sierra. Earlier versions of these OS' are no longer tested. Conversion may or may not work there.
«13456752

Comments

  • Rad
    Rad
    1Password Alumni

    Hi @MrC‌,

    Thanks for being such an awesome 1Password user :+1:

    Cheers!

    Rad

  • pxL
    pxL
    Community Member
    edited October 2014

    Hi, im new here and i wanted to use 1Password as my new password manager software on my PCs and my iPhone. Im currently using SafeWallet 3.0.7.2022 (i can share the install .exe if you need it because the website is broken from sbsh). I tested your converter but it only converts the xml files from the older SafeWallet versions. Would it be possible to add the newer version to so that i can uninstall SafeWallet and use 1Password ?

    your version of 1Password

    4.1.0.526

    the name and version of the password manager you are converting from

    SafeWallet 3.0.7.2022 2013/04/29

    your OS and version: Windows or Mac OS X

    Windows 7 - 64bit Ultimate

    Imported 0 cards Exported 0 total items

  • MrC
    MrC
    Volunteer Moderator

    Hi @pxL,

    I just found version 3.0.7 for Windows, so let me take a look. Back shortly...

  • MrC
    MrC
    Volunteer Moderator
    edited October 2014

    OK, so we have a problem. Since their sever is no longer online, and 3.0.7 requires a login before you can do anything, I cannot get a database created or imported. (This is a fatal flaw in any password management program, the requirement of a live external server, before you can do anything with your own data - horrible design).

    I have a 2.x test database that I can send to you, which you could import into a new database, and then you could create the export XML for me to work with. Contact me at my email address at the top of the script, and we'll go from there.

  • J.M
    J.M
    Community Member

    Hey @MrC‌,

    Thanks for that useful tool, i used it to convert my Keepass 2 database some months ago.

    I was thinking that maybe this post could be stickied? Or maybe AgileBits could mention it in the FAQ somewhere? It's not so easy to find because most people will use "Import" keyword while searching on the forum to see if they can import their databases from others products and will find nothing.

  • MrT1
    MrT1
    Community Member
    edited October 2014

    Hi,

    your tool is very much appreciated. The 1password company must love you.

    Unfortunately I did not get it to work. Please have a look when you find time.

    I use OS X Yosemite 10.10 (14A389)

    That's the log of the terminal:

    Last login: Wed Oct 29 18:16:05 on ttys000

     Macintosh-11:~ Tom$ cd Desktop/onepassword-utilities/convert_to_1p4
     Macintosh-11:convert_to_1p4 Tom$ perl5.16 convert_to_1p4.pl converter -v ../../pm_export.txt
     Can't locate Date/Calc.pm in @INC (@INC contains: /opt/local/lib/perl5/site_perl/5.16.1/darwin-thread-multi-2level /opt/local/lib/perl5/site_perl/5.16.1 /opt/local/lib/perl5/vendor_perl/5.16.1/darwin-thread-multi-2level /opt/local/lib/perl5/vendor_perl/5.16.1 /opt/local/lib/perl5/5.16.1/darwin-thread-multi-2level /opt/local/lib/perl5/5.16.1 /opt/local/lib/perl5/site_perl /opt/local/lib/perl5/vendor_perl .) at Utils/PIF.pm line 18.
     BEGIN failed--compilation aborted at Utils/PIF.pm line 18.
     Compilation failed in require at convert_to_1p4.pl line 15.
     BEGIN failed--compilation aborted at convert_to_1p4.pl line 15 (#1)
         (F) You said to do (or require, or use) a file that couldn't be found.
         Perl looks for the file in all the locations mentioned in @INC, unless
         the file name included the full path to the file.  Perhaps you need
         to set the PERL5LIB or PERL5OPT environment variable to say where the
         extra library is, or maybe the script needs to add the library name
         to @INC.  Or maybe you just misspelled the name of the file.  See
         "require" in perlfunc and lib.
    

    Uncaught exception from user code:

        Can't locate Date/Calc.pm in @INC (@INC contains: /opt/local/lib/perl5/site_perl/5.16.1/darwin-thread-multi-2level /opt/local/lib/perl5/site_perl/5.16.1 /opt/local/lib/perl5/vendor_perl/5.16.1/darwin-thread-multi-2level /opt/local/lib/perl5/vendor_perl/5.16.1 /opt/local/lib/perl5/5.16.1/darwin-thread-multi-2level /opt/local/lib/perl5/5.16.1 /opt/local/lib/perl5/site_perl /opt/local/lib/perl5/vendor_perl .) at Utils/PIF.pm line 18.
        BEGIN failed--compilation aborted at Utils/PIF.pm line 18.
        Compilation failed in require at convert_to_1p4.pl line 15.
        BEGIN failed--compilation aborted at convert_to_1p4.pl line 15.
     Macintosh-11:convert_to_1p4 Tom$ 
    
  • MrC
    MrC
    Volunteer Moderator
    edited October 2014

    Hi @MrT1,

    We'll get you going. The problem is that you are using MacPorts, or some other toolkit, and haven't install the necessary modules. You can either use the stock OS X perl5.16 by full path name (e.g. /usr/bin/perl5.16), or you can install the p5.16-date-calc module into your toolkit (e.g. for MacPorts: sudo port install p5.16-date-calc).

  • MrT1
    MrT1
    Community Member

    Hi
    thanks your the quick reply. Please have a look again because it is still not working.

    I installed Xcode and ran the

    sudo port install p5.16-date-calc

    now the error looks like this:

    Last login: Thu Oct 30 12:12:11 on ttys000

    Macintosh-14:~ Tom$ cd Desktop/onepassword-utilities/convert_to_1p4
    Macintosh-14:convert_to_1p4 Tom$ perl5.16 convert_to_1p4.pl KeepassX -v ../../pm_export.txt
    Error: failed to load converter module 'KeepassX'
    Can't locate XML/XPath.pm in @INC (@INC contains: /opt/local/lib/perl5/site_perl/5.16.1/darwin-thread-multi-2level /opt/local/lib/perl5/site_perl/5.16.1 /opt/local/lib/perl5/vendor_perl/5.16.1/darwin-thread-multi-2level /opt/local/lib/perl5/vendor_perl/5.16.1 /opt/local/lib/perl5/5.16.1/darwin-thread-multi-2level /opt/local/lib/perl5/5.16.1 /opt/local/lib/perl5/site_perl /opt/local/lib/perl5/vendor_perl .) at Converters/Keepassx.pm line 22.
    BEGIN failed--compilation aborted at Converters/Keepassx.pm line 22.
    Compilation failed in require at convert_to_1p4.pl line 38.
    Usage: convert_to_1p4.pl
    converters:
    clipperz ewallet handysafe keepass2 keepassx keychain lastpass msecure safeincloud
    safewallet splashid
    specify one of the converters above on the command line to see complete options
    Macintosh-14:convert_to_1p4 Tom$

  • stevem12t2
    stevem12t2
    Community Member

    @MrC I have to say thank you from all of us for your crafty work on the converters. I hate to bug you but happen to already have converted a while ago from SafeWallet 2.x to 3.x. I exported the xml file to the pm_export.txt and tried the conversion anyway but it created the converted file and 0 records. I presume something has changed and am not sure if it is a lot of work to create a new converter for this type of export. I purchased the 1P for desktop and iDevices and hoping to get all my safewallet data in there. Thanks in advance. The file looks something like this for each card beginning at the top if that helps...






    Airtran Airways
    4545454545


    1-800-247-8726

    http://airtran.com
    username
    secret

  • TryingToImportTo1P
    TryingToImportTo1P
    Community Member

    Not working for me. Am using mSecure 3.1.1 (can't upgrade - long story) on Yosemite. When I try to export, I get a message saying that it cannot export to a .txt file - gives me the option of .csv or .txt.csv. I tried the latter. When running the script perl5.16 convert_to_1p4.pl msecure -v ....\pm_export.txt.csv (which is what I assume I should run, replacing 'converter' with 'msecure' in the script), I get the message: Unable to open CSV file: ....pm_export.txt.csv
    No such file or directory.

    Help! I do not use terminal on a regular basis, but can follow instructions well enough, but so far this is not working for me. Thanks.

  • MrC
    MrC
    Volunteer Moderator
    edited October 2014

    @MrT1: The p5.16-xml-xpath module will also need to be installed. To be clear, you don't need to use MacPorts, or install XCode. You just need to use the native Perl by full path /usr/bin/perl5.16 since all the modules are already included in OS X Yosemite. Once you start using stuff in your own self-installed /opt/local area, the process is manual and I've not documented how to do this.

    @stevem12t2‌: You're welcome. SafeWallet is now obsoleted, and I can no longer create an account (which is required to perform work in SafeWallet version 3). However, with the help of another user who converted my 2.x test data, I was able to update the converter to support the 3.0.7 Windows version (in English). It is in the _testing folder at the link at the top of this thread. Download the 1.01 test version of the converter and give it a try.

  • MrC
    MrC
    Volunteer Moderator
    edited October 2014

    @TryingToImportTo1P‌: Select the CSV option and save the file to whatever name you want. Then, just use that name as you follow the instructions. The suffix name does not matter - I specified a generic filename and suffix to make writing instructions easier, and because of suffix hiding in OS X or Windows.

    In your command:

    perl5.16 convert_to_1p4.pl msecure -v ....\pm_export.txt.csv
    

    the .... would be ../.. - note that the command above is missing a forward slash path separator (../.. means the current folder's grandparent -- in other words, two levels up).

  • TryingToImportTo1P
    TryingToImportTo1P
    Community Member

    It seems to have worked. Thanks!

  • MrT1
    MrT1
    Community Member
    edited October 2014

    MrC,
    please tell me what I have to write in terminal after

    cd Desktop/onepassword-utilities/convert_to_1p4

    where to put this path
    /usr/bin/perl5.16

    in this:
    perl5.16 convert_to_1p4.pl KeepassX -v ../../pm_export.txt

  • MrC
    MrC
    Volunteer Moderator

    How's this:

    /usr/bin/perl5.16 convert_to_1p4.pl keepassx -v ../../pm_export.txt
    
  • MrT1
    MrT1
    Community Member

    Thanks. Unfortunately it does still not work.

    Unknown:~ Tom$ cd Desktop/onepassword-utilities/convert_to_1p4
    Unknown:convert_to_1p4 Tom$ /usr/bin/perl5.16 convert_to_1p4.pl keepassx -v ../../pm_export.xml
    Imported 0 cards
    Exported 0 total items

    It created a zero byte file.

  • MrC
    MrC
    Volunteer Moderator
    edited October 2014

    Can you confirm the password manager name, version, and OS? Some folks confuse KeePass 2 with KeepassX and the 0 records converted is a clue.

  • MrC
    MrC
    Volunteer Moderator

    Sorry, I was away when I replied, and now as I look again, in part of your command or output, I see something about "Unknown". What is this:

    cd Desktop/onepassword-utilities/convert_to_1p4 Unknown:convert_to_1p4 Tom

  • MrT1
    MrT1
    Community Member

    Ugh I don't know really what that means.

    I did it again without an unkown.

    Last login: Thu Oct 30 22:13:01 on ttys000

    Macintosh-15:~ Tom$ cd Desktop/onepassword-utilities/convert_to_1p4
    Macintosh-15:convert_to_1p4 Tom$ /usr/bin/perl5.16 convert_to_1p4.pl keepassx -v ../../pm_export.xml
    Imported 0 cards
    Exported 0 total items
    Macintosh-15:convert_to_1p4 Tom$

    I used Kypass to export the xml because my KeepassX 2.0 alpha 6 had no export option.
    OS X Yosemite 10.10

  • MrC
    MrC
    Volunteer Moderator

    Let's take this offline, if you don't mind. Send me an email and I'll work you through it. My email address is at the top of the script.

  • MrC
    MrC
    Volunteer Moderator

    Update: MrT1 and I worked through the issues. The database was a KeePass 2 database on Windows, then migrated to the Mac's KeePassX 2.0 alpha version. This version has no exporting capabilities, so MrT1 used the KyPass Companion app (from the Mac App Store) to import that database and then export it as XML. So the converter that was required was the KeePass2 converter, and not the KeepassX converter. Once we worked through these details and told convert_to_1p4 to use the keepass2 converter, the results:

    looking good so far :)
    ill try to import it

    Imported 685 cards

    Exported 7 note items

    Exported 678 login items

    Exported 685 total items

    >

    ...

    >

    Awesome - it worked.

  • Newell
    Newell
    Community Member

    Working well for me, too, using the SplashID converter. Thanks, @MrC! I wonder, however, if there's a deliberate reason why the data field SplashID calls "date modified" can't be mapped to 1pw's corresponding field (it is instead saved in the notes section). When I rename my pm_export.vid file as pm_export.csv and open with a spreadsheet program, it looks like the date data is consistently located in the same column (per category type, anyway).

    Is it because 1pw insists on keeping this field inviolately determined by system clock for some reason? I know this is true in the fronted UI, but would imagine it is more flexible with imports.

  • MrC
    MrC
    Volunteer Moderator
    edited November 2015

    Hi @Newell.

    Good to hear of your success. As for the date modified field, the converters don't set this date as a rule, with the exception of Login items so that 1Password's Watchtower service has the opportunity to flag passwords that might need to be changed (the created date is set).

    It isn't clear to me how useful forcing a modified date is, since it isn't clear exactly what part of the record it refers to (the password field, or the entire record). So for the password managers that make the date available, the converter provides it in notes.

    If you really feel strongly about it, I could look into an option to set the date modified field for you. I don't recall if this will work or not (I think I tried it, but don't recall the outcome!).

  • MrT1
    MrT1
    Community Member

    Thanks so much MrC for helping me out here. A truly sharp tech-altruist :)

  • Jeroenvb
    Jeroenvb
    Community Member

    Hi MrC

    Great! One word:

    The note below didn't count for me. I'm on Yosemite and per15.16 gives me "command not found".

    It just worked fine with the normal command

    perl convert_to_1p4.pl converter -v ../../pm_export.txt

    Yosemite note: replace the perl command above with perl5.16 (Yosemite ships with a newer version of Perl)

  • MrC
    MrC
    Volunteer Moderator
    edited November 2014

    Who can argue with success!

  • Jeroenvb
    Jeroenvb
    Community Member

    No one i guess.

  • Russty
    Russty
    Community Member
    edited November 2014

    MrC, Happy to work offline with you on this. I'm trying to convert from Keepass2 to 1Password but am running into some troubles. Here's my info:

    your version of 1Password - Windows 4.1.0.526
    the name and version of the password manager you are converting from - Keepass2 version 2.28
    your OS and version: Windows or Mac OS X - 64 bit Windows 8.1 Enterprise
    

    Thanks in advance for building a conversion utility and for supporting so many platforms!

    Russ

  • MrC
    MrC
    Volunteer Moderator

    Hello @Russty with two s's.

    What is the trouble? Feel free to post here or send details to my email address at the top of the script.

  • Russty
    Russty
    Community Member

    Thanks for the quick reply! I've installed perl 64 bit version using the link you provided in your .pdf instructions. Because I'm running windows I also figured out how to download the additional executables needed using the "ppm install xml-xpath" function. However when I use my cmd.exe window to navigate to the folders on my desktop and the run the perl script language I get the following:

    'perl' is not recognized as an internal or external command, operable program or batch file.

    I have perl installed in my c:\Perl64 folder on my drive and if I navigate to the Perl64\bin folder I can see the perl executable. What am I doing wrong? Thanks!

This discussion has been closed.