# MrC's Convert to 1Password Utility

Community Moderator
edited March 14 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. It can optionally securely test to see if your passwords are known to be compromised. The utility runs on OS X or Windows, and the following converters are available:

Chrome         Keeper  Desktop         RoboForm
Clipperz         Keychain, OS X         Safe in Cloud
CSV         Key Finder         SafeWallet
Data Guardian         LastPass         SPB Wallet
Enpass         Norton  Identity  Safe         True Key
eWallet         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 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:

• 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


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._
• 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.
• For OS X Keychain exporting, OS X High Sierra has changed the way the security utility works. As such, exports from the Keychain using the security utility can no longer be automated using AppleScript, and require entering the keychain password manually for each item exported. If you need to export from Keychain (local or iCloud), you are advised to do this before updating to High Sierra.
• Converting in versions of OS X prior to El Capitan are no longer tested nor supported - conversion may or may not work there.

• AG Alumni

Hi @MrC‌,

Thanks for being such an awesome 1Password user

Cheers!

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

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

• Community Moderator

Hi @pxL,

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

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

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

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

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

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!

• 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

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

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

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

• 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

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

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

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

• Community Moderator
edited November 2014

Who can argue with success!

• No one i guess.

• 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

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