# converting from Keepass2 using converter [Need 1Password 7]

edited November 30 in Mac

the name and version of the password manager you are converting from: Keepass2 v2.49
your OS and version: Windows 10 21H2

I'm trying to use the converter suite [mentioned here] (https://1password.community/discussion/101693/moving-to-1password-from-another-password-manager) but failing at some point in the process.

I won't be able to resume this process until after the holiday (perhaps 11/30).

Extension Version: Not Provided
OS Version: Windows 10

• Community Moderator

@joseph_fsm

I'm happy to help, whenever you are able. Just post another message here when you are ready.

• If you're available now, I could stay a little longer.

• Actually, I'll wait until Tuesday. I've have a long couple of days already...

• Community Moderator

Ok, sounds good. I'll just need to know what's failing for you.

Happy Holidays, @joseph_fsm

• Good Morning! I have lots of duties today, but I want to get this done too. Here's my input and error:

C:\temp\mrc-converter-suite>perl convert.pl -v keepass2 pm_export.json
Negative repeat count does nothing at
C:/Strawberry/perl/vendor/lib/XML/Parser/Expat.pm line 372 (#1)
(W numeric) You tried to execute the
x repetition operator fewer than 0
times, which doesn't make sense.

Uncaught exception from user code:

    no element found at line 1, column 0, byte 0:

^
at C:/Strawberry/perl/vendor/lib/XML/Parser.pm line 187.
XML::Parser::parsefile(XML::Parser=HASH(0x3a54878), "pm_export.json") called at C:/Strawberry/perl/site/lib/XML/XPath/XMLParser.pm line 71
XML::XPath::XMLParser::parse(XML::XPath::XMLParser=HASH(0x3cb1368)) called at C:/Strawberry/perl/site/lib/XML/XPath.pm line 154
XML::XPath::find(XML::XPath=HASH(0x3ce43f0), "/KeePassFile/Meta/Binaries/Binary", undef) called at C:/Strawberry/perl/site/lib/XML/XPath.pm line 176
XML::XPath::findnodes(XML::XPath=HASH(0x3ce43f0), "/KeePassFile/Meta/Binaries/Binary") called at C:/temp/mrc-converter-suite/./Converters/Keepass2.pm line 112
Converters::Keepass2::do_import("pm_export.json", undef) called at convert.pl line 175

• Community Moderator

@joseph_fsm

Ok, that helps. From the README:

• In my confusion after arriving for work today, I renamed that file in error. Either I'm missing a step or...

C:\temp\mrc-converter-suite>perl convert.pl -v keepass2 pm_export.json
Negative repeat count does nothing at
C:/Strawberry/perl/vendor/lib/XML/Parser/Expat.pm line 372 (#1)
(W numeric) You tried to execute the
x repetition operator fewer than 0
times, which doesn't make sense.

Uncaught exception from user code:

    no element found at line 1, column 0, byte 0:

^
at C:/Strawberry/perl/vendor/lib/XML/Parser.pm line 187.
XML::Parser::parsefile(XML::Parser=HASH(0x39e08b8), "pm_export.json") called at C:/Strawberry/perl/site/lib/XML/XPath/XMLParser.pm line 71
XML::XPath::XMLParser::parse(XML::XPath::XMLParser=HASH(0x3c532f8)) called at C:/Strawberry/perl/site/lib/XML/XPath.pm line 154
XML::XPath::find(XML::XPath=HASH(0x3c86380), "/KeePassFile/Meta/Binaries/Binary", undef) called at C:/Strawberry/perl/site/lib/XML/XPath.pm line 176
XML::XPath::findnodes(XML::XPath=HASH(0x3c86380), "/KeePassFile/Meta/Binaries/Binary") called at C:/temp/mrc-converter-suite/./Converters/Keepass2.pm line 112
Converters::Keepass2::do_import("pm_export.json", undef) called at convert.pl line 175

• Community Moderator

@joseph_fsm

If that is an XML file, please enable debug mode by adding -d to the command line, and provide the output of the first few lines that show the print_fileinfo debug lines:

\$ perl convert.pl -v -d keepass2 _TestFiles/keepass2/keepass2.xml
main                : Runninng script from '/Users/cappella/Documents/Coding/mrc-converter-suite'
main                : Command Line: -v -d keepass2 _TestFiles/keepass2/keepass2.xml
main                : Output file: /Users/cappella/Desktop/1P_import.1pif
print_fileinfo      : Input file info: "_TestFiles/keepass2/keepass2.xml"
print_fileinfo      :   size: 6636901
print_fileinfo      :   kind: XML 1.0 document text, ASCII text, with very long lines (64034), with CRLF line terminators
print_fileinfo      :   mime: text/xml; charset=us-ascii

• here:
C:\temp\mrc-converter-suite>perl convert.pl -v -d keepass2 c:\temp\mrc-converter-suite\pm_export.json
main : Runninng script from 'C:/temp/mrc-converter-suite'
main : Command Line: -v -d keepass2 c:\temp\mrc-converter-suite\pm_export.json
main : Output file: C:\Users\josep\Desktop\1P_import.1pif
print_fileinfo : Input file info: "c:\temp\mrc-converter-suite\pm_export.json"
print_fileinfo : size: 0

• I think I see my error (at least one)

• Community Moderator

@joseph_fsm

The file's size is 0, so there is nothing to convert!

Something went wrong with your keepass2 export.

• nevermind.

• Community Moderator
edited November 30

@joseph_fsm

I'm confused - Windows is indicating the file is an XML document, so that means its extension is .xml.

But your command line output is indicating the file you supplied was pm_export.json.

If the file has a .json suffix, then Windows Explorer or Properties would show the file as a JSON file, not an XML file.

• I thought the converter converted the exported keepass database from a xml into a json. (far as I'm concerned, i'm blind to the whole matter)

• I see where my error was but there's still an issue...

C:\temp\mrc-converter-suite>perl convert.pl -v -d keepass2 c:\temp\mrc-converter-suite\pm_export.xml
main : Runninng script from 'C:/temp/mrc-converter-suite'
main : Command Line: -v -d keepass2 c:\temp\mrc-converter-suite\pm_export.xml
main : Output file: C:\Users\josep\Desktop\1P_import.1pif
The file 'c:\temp\mrc-converter-suite\pm_export.xml' does not exist.

• I thought I was supposed to name the export "pm_export.json"

I was using the example. SO SORRY

Of course, naming the correct SOURCE file didn't work either. It's clearly present in my folder.

• Community Moderator
edited November 30

@joseph_fsm

You might have a double extension on the export file name - check it with Properties. If the converter is saying the file does not exist, it means the exact path and filename you are providing is not correct. So check the exact path and file name, including the extensions (as Windows sees it).

No, the convert will accept as input a keepass2 XML export, and convert it into a 1Password 1PIF file for importing into 1Password.

The diagnostics you're providing are indicating that your input file name is incorrect.

• Again, non-programmer's mistakes:
1. I didn't place the export into the mrc folder (grr)
2. the desktop location it wanted to put the converted file was missing

With those fixes, I have successfully converted my database! Now to see if they import properly...

• Community Moderator

Great.

If I read correctly, you are using 1Password 8 - I don't know if that yet imports 1Password's 1PIF file, but the 1Password folks will provide guidance.

When I return in about an hour, I'll test out 1Password 8, and see what needs to be done to import the 1PIF (if it does not yet do that).

• I don't see a way to do it from the software. I'll reach out to support to see what they say.

• Community Moderator
edited November 30

@joseph_fsm

I've installed it too, and don't see any import. Oye.

If you can install 1Password 7, you can directly import the 1PIF there, and then re-install 1Password 8. You'll need to uninstall 1Password 8 to do that.

• Done! Thanks for your wonderful help!

"Hey, Joseph. Right now, 1Password 8 doesn't have the ability to import and everything is deferred to http://1Password.com. If you send an email to [email protected] including a link to your tweet and more info on what you would like to accomplish, the team can help out."

Since I've already inputted the file, I'm going to let this go on my end and let you pursue it.

Thanks Again!

• Community Moderator

@joseph_fsm

I've just commented here as well.

I'm sorry I wasn't aware that 1Password 8 didn't import 1PIF, and I thought that 1Password.com did. The instructions on 1Password.com lead you down the garden path, initially stating that you can Export your data, but turns out, that's not what you need to do:

• Since they refer folks you to via the forums, it'd be nice if they continue to provide tools to make this doable. They'd be shooting themselves in the foot if they don't. Praying some tool can still be used for the next iteration!

• Community Moderator

@joseph_fsm

I'm hoping a 1PIF (or 1PUX) import feature is imminent. I'm going to keep assuming that the developers have been drinking through a fire hose, trying to get v8 finished sufficiently to meet the customer requests and needs, and that this is on their radar.

• AWS Team

Team Member

I'm going to keep assuming that the developers have been drinking through a fire hose, trying to get v8 finished sufficiently to meet the customer requests and needs, and that this is on their radar

I think that is a fair assumption. 😆 Thanks for helping out here, as always, @MrC.

Ben