MrC's Convert to 1Password Utility

MrCMrC Community Moderator
edited June 16 in Mac

Overview

The Convert to 1Password Utility will convert exported password manager data, or other data, into a format that can be imported by 1Password. There is also a 1Password export converter for creating a compact, print-suitable format. The utility runs on OS X or Windows, and the following converters are available:


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

Let's Get Started!

  1. Download either the Stable Bits or Testing Bits of the converter package.
  2. Unzip the downloaded archive, and drag the convert_to_1p4 folder onto your Desktop - don't leave it in Downloads, it must be on the Desktop with that name - see Notes below.
  3. While the basic process is simple and safe (export - convert - import), I'd recommend following the step-by-step instructions in the README.pdf, because a) I wrote them just for you, b) there are a bunch of conversion options you might like, and c) the devil is in the details. OS X'ers can use the convenient AppleScript Conversion Helper to perform the conversion (Sierra requires version 1.09 or higher of the converter suite)

Want More Help?

For more help, I've created an Extra Help area with a few Videos and some Screenshots and Samples. Consider downloading and watching the short videos that show how the conversion process works:

  • Using the AppleScript_Conversion_Helper shows the convenient AppleScript helper (OS X only)
  • Running convert_to_1p4 on OS X shows the entire process from export to import

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.

I Want New Stuff!

As I fix bugs, create new converters, or add new features, I'll update the Testing Bits. And I'll often direct users to those Testing Bits.

When I'm good and ready, I'll promote the Testing Bits to Stable Bits. Then, I'll shove the bits onto AgileBits' plate, they'll review, and once accepted, they'll update their AgileBits Git repository.

AgileBits reviews the code so that they can provide you with additional confidence that your confidential data remains safe. Updates to the AgileBits Git repository may be a little delayed, depending upon AgileBits' current workload.

Stable Bits Checksums and Version

MD5:          b2d70146bf8c289833fb312e32cd413e  convert_to_1p4_1.09.zip
SHA1: e327521a051b3a56f8cad0d176fab043c138e10d  convert_to_1p4_1.09.zip

Happy Converting.
MrC

The conversion 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, leaving a folder named onepassword-utilities or onepassword-utilities-master in your Downloads area; other browsers may not, so you will need to unzip the file manually. On OS X, just double-click the file. On Windows, double-click the file, and the archive will open. Drag the folder onepassword-utilities to your Desktop, close the archive window. Finally move the folder inside onepassword-utilities (or onepassword-utilities-master) named convert_to_1p4 to your Desktop._
  • For OS users, OS X Sierra provides a more restrictive sandbox, and as such the AppleScript_Conversion_Helper was updated to work in that environment. This requires version 1.09 or higher of the conversion suite. You must move the convert_to_1p4 folder to your Desktop with exactly that name. Otherwise, the AppleScript_Conversion_Helper will fail since it is looking in that exact location.
  • Windows users, use Strawberry Perl 5.24 or earlier - not version 5.26. Version 5.26 will not currently work with the converter suite.
«13456735

Comments

  • RadRad AG Alumni

    Hi @MrC‌,

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

    Cheers!

    Rad

  • pxLpxL
    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

  • MrCMrC Community Moderator

    Hi @pxL,

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

  • MrCMrC Community 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.

  • 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.

  • MrT1MrT1
    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$ 
    
  • MrCMrC Community 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).

  • 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$

  • @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

  • 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.

  • MrCMrC Community 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.

  • MrCMrC Community 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).

  • It seems to have worked. Thanks!

  • MrT1MrT1
    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

  • MrCMrC Community Moderator

    How's this:

    /usr/bin/perl5.16 convert_to_1p4.pl keepassx -v ../../pm_export.txt
    
  • 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.

  • MrCMrC Community 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.

  • MrCMrC Community 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

  • 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

  • MrCMrC Community 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.

  • MrCMrC Community 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.

  • 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.

  • MrCMrC Community 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!).

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

  • 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)

  • MrCMrC Community Moderator
    edited November 2014

    Who can argue with success!

  • No one i guess.

  • RusstyRussty
    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

  • MrCMrC Community 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.

  • 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!

«13456735
Sign In or Register to comment.