Friday, May 21, 2010

MobiPocket to Kindle format converter

Update (1/3/2012): Overdrive now supports lending directly in Kindle format, so this program is no longer necessary. I'll probably leave it up for a year or two in case anybody finds a use for it, but I am officially declaring it deprecated. If you find that it's still useful for you, please leave a comment to that effect and I'll consider leaving it up longer. I'd like to thank everyone who provided feedback in the form of bug reports and suggestions, and especially those who purchased items through the Amazon links in the program. It was an honor for me to be involved in producing a piece of free software that helped people enjoy free, legal, quality entertainment. Cheers!
Update (6/19/2012): It sounds like folks in Canada aren't getting the automatic Kindle conversions, so I'll leave it up a while yet. Thanks for the feedback. 

Liz and I recently found out that our local library system allows us to check out electronic books. This seemed like a perfect opportunity to use the Kindle I won in a contest at work, until we realized that the Kindle doesn't natively support any of the formats that we could get the books in. Some quick Googling revealed that Amazon actually owns MobiPocket, and the Kindle uses the MobiPocket format, with two tiny differences:
  1. The file name extension is changed to .azw
  2. A flag in the file's metadata is changed to indicate that the file is for the Kindle
I found a post by Igor Skochinsky, who provided python scripts that could figure out your Kindle's MobiPocket PID and convert a MobiPocket file registered to a Kindle's PID to work on the Kindle. But most people don't know how to run python scripts. So I set to work to create a user-friendly front-end for it.

(You will need to install the .NET 4 Framework from Microsoft if you don't have it already)

Here's how to use this program:

The following steps will only need to be performed once for each Kindle:
  1. Open the program.
  2. Click the "Add Device" button to bring up the Add Device window.
  3. Enter your Kindle's serial number. When you finish "Kindle" option should automatically be selected, and a PID should be generated. If it isn't, you've probably entered too many or too few characters: double-check the serial number.
  4. Click the Add Device button to add the PID to your list of devices.
  5. Log in to your library's eBook site and register this PID as a new device on your library account. That way, when you download MobiPocket eBooks they will have a flag on the file indicating that your Kindle is allowed to read the file for the next few weeks.
These steps are necessary for each ebook you check out from the library:
  1. Use the "Browse" button to find and select your downloaded file.
  2. Click the "Convert" button, and choose where you want to save the Kindle-compatible file. If the file you convert does not have your Kindle's PID associated with it, the program will abort with an error message indicating as much. Otherwise you should get a success message.
  3. Connect the Kindle to your computer, and copy the saved (.azw) file to its "documents" folder.
Once the file is copied to your Kindle, you will be allowed to read it until the library's due-date. After that, the Kindle will cease to read the file.

The MobiKindle program will automatically check for updates each time you run it, and will give you the choice to install the update automatically. I've made a few enhancements since the original version.

Current features include:
  • Easy to use
  • Generates Kindle PID from Kindle serial number
  • Saves your Kindle PID(s) for future use. **NEW**
  • Prevents certain data-entry errors by only allowing capital letters
  • Automatically detects Kindle type when you enter your Kindle's serial number
  • Converts MobiPocket (.prc) file to Kindle (.azw) format
  • Unobtrusive advertisements for Kindle books on Amazon. If you use the link to get to Amazon and buy a book while you're there, I'll get a piece of the profits.
A bug in the original version caused some people to get a "The selected item could not be opened..." message if they copied the file to their Kindle before exiting the MobiKindle program. This bug has now been fixed!

Now, just to clarify:
  • The Kindle will natively read MobiPocket files that don't have DRM. For example, if you get a MobiPocket file from the Gutenberg Project, you don't need to use this program. Just copy the file onto your Kindle.
  • From what I understand, you won't be able to register your Kindle with The Kindle PID always has an asterisk (*) in it, and it won't be accepted there. However, many libraries have an eBook lending system set up with, which does accept Kindle PIDs.
  • This program does not (and never will) modify the DRM on a MobiPocket file. It doesn't "unlock" the file to be used in any way that it was not intended to be used.
  • I won't build any spyware or anything into the program, and I will always be careful to make sure it doesn't do anything you wouldn't expect. However, sometimes accidents happen. In using this software, you're agreeing not to hold me responsible for any harm that comes of it.
  • The program saves your Kindle PID in a config file, but you can remove the devices and they will be removed from the config file. No information about your device or your books gets sent to me.
  • You should make sure you're okay with Amazon's privacy policy, since I include their advertisements.
  • When sharing this program, please send people to this web page. Don't use a direct link to the installer. (But please, share this program with anyone you know who has a Kindle!)
For the geeks out there: this runs on the .NET framework. I began using .NET 3.5, but soon found that things were much, much easier using .NET 4.0 thanks to the new "dynamic" keyword in C#. The program literally includes Igor's python script and runs it in an embedded instance of IronPython.

I'd like to thank:
  • My wife for her patience with me as I continue to spend many late nights on this and other pet projects.
  • Igor Skochinsky for providing the real brains in this program.
  • The users that have reported bugs and helped me to improve the quality of this program.
  • for providing a free, extremely easy way to host the installer. (Click here to sign up and they'll give you extra space)
  • Amazon for making the Kindle
  • My work for giving me a Kindle, programming experience, and access to development tools
  • Microsoft, for the "dynamic" keyword
  • The IronPython team
Please post your thoughts, and additional ideas for features on this blog posting. When reporting bugs, if you will leave an email address with your comment, and then respond to my emails, it will help me to figure out what's wrong.

I should also have mentioned that I'm using the ClickOnce (or some such) deployer that comes with Visual Studio to create the installer for this program, which requires you to have a working Internet connection when you install it. There are a number of reasons I felt this was reasonable:
  1. It was free.
  2. It was easy.
  3. It makes it really easy for people to install and run the program.
  4. It makes it really easy for people to keep the program updated.
  5. You can't be reading this web page without Internet access.
  6. You can't rent MobiPocket books from the library without Internet access.
  7. You won't see the Amazon advertisements without Internet access.
If you're too paranoid to run programs off the Internet, I would recommend figuring out how to run Igor Schochinsky's python script: that way you can see exactly what the code is doing to your computer.

If you are still getting the message, "The selected item could not be opened. If you purchased this item from Amazon, delete the item and redownload it from Archived Items available in Home": The problem is probably that your Kindle doesn't know the current date, so it thinks that your book hasn't been checked out yet. Please connect your Kindle to the Internet for a few seconds so that it can update its current date and time, and that should fix this problem.


Anonymous said...

Oooh...thanks so much...this is very very helpful!

Anonymous said...

I had to install .Net 4 so that the installer would finish running on Windows Vista 32 bit.
This did not work using a Kindle 2 and Mobipocket format from Maricopa County Library. Thank you for creating, nice job with the GUI!


Thanks for the feedback. Can you provide a little more detail? At what point did it fail? Did you get any error messages, or did the file simply not work on your Kindle? Can you tell me what book it was? When did you check it out?

The MobiPocket books from my local library have all worked on my Kindle 2, and it uses the same provider (Overdrive).

I don't know if I'll be able to fix the problem, but I'll give it a shot if I have something to go on.

Anonymous said...

the book converted but when i put the converted file on the kindle it said it couldn't open it. although the title and cover page show up??

jeff said...

actually ignore my previous post. problem seems to be that no conversion is happening. the OK box comes up but no file has been generated. any thoughts?

Anonymous said...

You really should mention that for some reason this requires an active internet connection in order to install the file. It even fails when you skip the installer and try to install the mobilekidle file you have hosted on dropbox. I'm trying to install this on a VM that deliberately does not have a connection to the internet and it is unable to install because there is not internet connection.

Anonymous said...


Have you emended the original code to include the more recent Kindle serial number prefixes?

B001 = Kindle 1
B002 = Kindle 2 U.S. (Sprint)
B003 = Kindle 2 International (AT&T)
B004 = Kindle DX U.S. (Sprint)
B005 = Kindle DX International (AT&T)


Good question. Looking through the original script, I found that the check for those serial number prefixes wasn't actually doing anything. On the one hand, it's a good fail-fast approach, because if it fails you know it's because the serial number wasn't one the program was written for. On the other hand, as long as the algorithm doesn't change for future versions of the Kindle, it causes the program to fail when it didn't need to. So I removed the serial prefix check entirely.

Charlotte said...

I have tried all night to get this to work. I checked out three Mobi books through my public library, and I can read them on my computer, but once they're converted and USB cable transferred to the Kindle, a screen pops up when I try to read it on the Kindle saying I need to 'repurchase the book from the Amazon store' basically. Any ideas?

Charlotte said...

Disregard, I got it to work. Who would've thought that using CAPS when entering your serial number would make a difference? Once I tried that, and saw a different PID pop out, it then worked. Thank you. :)

Liz said...

Thank you so much for creating this program! It worked like a charm and I am very excited to be able to read library books on my kindle.

Spanky Ward said...

You freaking rock. I have a Sony Pocket edition and just bought the kindle thinking I could check out books from the library like I do with my sony. When I found out I couln't, I was going to send the Kindle back. You saved it. Thanks man. I'm in SLC too. Way to rep. Keep up the good work.

Anonymous said...

I also had to install .Net4 and the program installed fine. Now it seems that no conversion is happening. The OK box comes up but no file has been generated. Same as the above post. Thanks for your help!

Quris said...

awsome program. u r the hero of every second language english speakers that ever gotan a kinfel out there

Anonymous said...

I've tried the Python scripts that this software is based on and I get an error because the Kindle PID calculated by kindlepid for my iPhone's UDID does not contain an asterisk.

Kindlefix says "PID is not valid! (should be in format AAAAAAA*DD)"

So, before I bother to install .NET 4 and this program, will I have the same problem with this version of it?

Sandy said...

Okay, I downloaded .Net 4 and then your MobiKindle program. No problems. Went to the library and registered the PID for my MobiPocket and the PID for my kindle. Downloaded a book. Converted it with your program. Moved it to the kindle. But when I try to open it I get : This item cannot be opened because it is licensed to a different used. Delete the item and re-download it from your archived items or purchase a copy from the Kindle Store . What am I doing wrong? I have done this multiple times with the same result each time.

Anonymous said...

Awesome! Just got my first mobi library book onto my new Kindle 3! The first time I put the file onto it, it showed up in the list but I got an error when trying to open it. I then converted it again and put it on my Kindle again and it worked. Not sure what happened the first time but it's working now. Thanks so much for creating this... it's SO easy!

Anonymous said...

Hello - anyone tried this with a K3? I just tried and got an error per the below:

- Error converting file: D:\

- Exception: System.Exception: PID doesn't match this file
at MobiKindle.KindleFix.FixForKindle(String fileName, String pid, String newFileName)
at MobiKindle.MainForm.ConvertFile(String fileName, IResultLog log)

I'm a new user so I'm not sure if it's me or a K3 problem.


@Anonymous 8/11: I don't know. I don't have an iPhone to test it with. I did a few things to make this program less nitpicky about serial number versions and such, but I don't know what will happen. Let us know if you end up trying it.

@Sandy: Unfortunately, I don't know what might be the problem. It sounds like you're doing everything right. I wish I could be more helpful.

@Anonymous 8/30: I'm very glad to hear that it works on the Kindle 3. I don't have any way to test it, so I appreciate the feedback.

@Anonymous 9/6: Another commenter seems to have had success with their Kindle 3, so it ought to work. Based on the error you're getting, I'm wondering if maybe you didn't register the correct PID with the library's website. It sounds like the file you downloaded doesn't have that PID registered to it.

Unknown said...

I love your program. It worked wonderful. I had to restart my kindle and all of a sudden it doesn't work anymore. I get a message on the kindle saying the file isn't readable or something and to delete it and redownload it. I've tried redownloading and converting but I still get the same message. help!!

Anonymous said...

Thank you so very much. This is great and I will share your post with all my Kindle using friends. This works great with mobipocket books from the Denver Public Library.

Anonymous said...

For the folks wondering about the new Kindle 3, it worked like a charm. It only took me 10 minutes to generate my PID, check out books, and then convert and upload.

Luke said...

Hi thanks for the program. I am trying to get it to work for my iPhone as well. The downloaded files work in mobipocket. However, i keep getting the following error message:

- Error converting file: C:\Documents and Settings\lb.uittenbogaard\Mijn documenten\Downloads\diagnostiek__behandeling_en_preventie_van_veneuze_trombo-embolie_in_zwan-1_0_abconov.prc
- Exception: System.Exception: Unknown encryption type
bij MobiKindle.KindleFix.FixForKindle(String fileName, String pid, String newFileName)
bij MobiKindle.MainForm.ConvertFile(String fileName, IResultLog log)

Do you or anyone have a solution for my problem? many thanks,

Vicki said...

Thanks for making Kindle more consumer friendly.

I'm getting same error as Luke when I convert file for kindle. File will open with mobireader on computer. Any suggestions yet?


Aanonymous said...

Ok just got a kindle and tried your script, and got the pid generated but now i can't get the to work when i run the program it does this.
C:\Python26\Tools\Scripts> DRHFUR1*
The Kindleizer v0.2. Copyright (c) 2007, 2009 Igor Skochinsky
Traceback (most recent call last):
File "C:\Python26\Tools\Scripts\", line 168, in
sys.exit(main(fname, sys.argv[2]))
File "C:\Python26\Tools\Scripts\", line 124, in main
db = prc.File(fname)
File "C:\Python26\Tools\Scripts\", line 348, in __init__
File "C:\Python26\Tools\Scripts\", line 360, in load
if type(f) == type(''): f = open(f, 'rb')
IOError: [Errno 2] No such file or directory: ''

Press any key to continue . . .

Not sure what to do, where do i put the .mobi file.

Aanonymous said...

this is when i run your program other comment is when i run the scripts. this is what it says when i run your program

- Error converting file: E:\Documents\My Digital Editions\Appointment_with_Death_0001.epub
- Exception: System.IO.IOException: bad database header (appinfo or sortinfo size < 0)
at unpack$65(Closure , PythonFunction , Object , Object )
at IronPython.Compiler.PythonCallTargets.OriginalCallTarget2(PythonFunction function, Object arg0, Object arg1)
at IronPython.Runtime.PythonFunction.FunctionCaller`2.Call2(CallSite site, CodeContext context, Object func, T0 arg0, T1 arg1)
at CallSite.Target(Closure , CallSite , CodeContext , Object , Object )
at System.Dynamic.UpdateDelegates.UpdateAndExecute3[T0,T1,T2,TRet](CallSite site, T0 arg0, T1 arg1, T2 arg2)
at load$64(Closure , PythonFunction , Object , Object )
at IronPython.Compiler.PythonCallTargets.OriginalCallTarget2(PythonFunction function, Object arg0, Object arg1)

Anonymous said...

Works great for Kindle 3. Thanks for writing this tool !

Anonymous said...

I just installed your program. It's great. It makesw my Kindle so much more useful. Thanks.

Mike said...

I am also having the problem where I get the error messsage "The selected item could not be opened. If you purchased this item from Amazon, delete the item and redownload it from Archived Items available in Home"



For users who are getting the message, "The selected item could not be opened. If you purchased this item from Amazon, delete the item and redownload it from Archived Items available in Home": The problem is that your Kindle doesn't know the current date, so it thinks that your book hasn't been checked out yet. Please connect your Kindle to the Internet for a few seconds so that it can update its current date and time, and that should fix this problem.

sheep#100 said...

My antivirus (AVG Free) sees this installer as malware. Have you had this problem reported in past?


@trek: I haven't, but it appears they've had similar issues in the past:

I'd consider this to be a mistake with AVG's virus signature data, but there's always the slightest possibility that the file is actually corrupt. I don't think dropbox uses encryption, so it's vulnerable to a "man-in-the-middle" attack. Highly unlikely, but possible.

Were I in your shoes, I'd wait a few days to see if AVG updates their antivirus definitions to fix this, and try again.

Bob C said...

Thank you very much. I connected with the Denver Library just fine.

Anonymous said...

This worked great with my Kindle 3. It took me a few tries to get it but after the first book finally worked, it seemed to work great and on the first time for the next book. Will this program convert a DRM protected Adobe epub book from the library? If not, do you know of any program out there that will convert these type of files? Thanks so much for this wonderful converter program!


Unfortunately, this program cannot convert a DRM-protected ePub book, since ePub is an entirely different format (whereas the Kindle uses the MobiPocket format natively). I don't believe there are any programs that can make this conversion while maintaining the DRM properties of the original file. There may be a way to make the conversion by stripping the DRM from the file first, but since that would be illegal I cannot condone or aid such a thing.

Anonymous said...

Okay. Thank you! I don't want to do anything illegal. They're free ebooks to borrow from the library, I just wanted to be able to read them on my Kindle. Perhaps I will just return my Kindle and get a Sony Reader that will allow me to read these free library ebooks. Again, thank you so much!


Yeah, it's a pity these eBook readers can't just all read one anothers' formats. This DRM stuff is pretty ridiculous. By the way, I found out the other day that the Gutenberg project has their books available in a Kindle-compatible format, so if you're into classic literature, that's a great source for free eBooks.

Mike said...

Even when connected to "Whispernet", I get the "cannot open" message. Are others getting their eBooks from "Overdrive"? I did enter both my Kindle's PID and my daughter's Kindle PID...I wonder if having 2 PIDs registered with Overdrive can cause problems? I'm also hoping that all of the '0's in my Kindle serial number were zeros rather than "O" otherwhise I probably don't have the correct PID.

any hints out there?

Anonymous said...

thanks very much. this worked like a charm on my new kindle 3. i cant tell you enough how much i appreciate what you've done. quick question: once i've uploaded the library books on my kindle, do i need to be connected to wifi or kindle 3g in order to be able to continue open them (within lending period)? it seems that the time/date update is a big factor. Thanks!


No, you don't need to be connected in order to read the books. Your Kindle just needs to connect once, just long enough to get its clock set to the right time.

Once your Kindle knows what time it is, it should remember the time, and you won't need to connect to the Internet again. Every once in a while the Kindle has issues that cause it to do a soft reset, and that's when it'll forget the time. You may notice that the more recently-accessed books start appearing at the back of your book list, because it puts an older timestamp on them. That's when you'll want to reconnect to the Internet, just long enough to get the time synchronized again.


Merry Christmas, everyone! There's a new version available. Just run your current copy and it will ask you if you want to update. The new version remembers your PID so you don't have to enter it every time. It also fixes a bug that was causing some of you to get the "cannot open" message. Cheers!

Anonymous said...
This comment has been removed by a blog administrator.
Heather Laidlaw Kraft said...

This is fantastic - made new Kindle Christmas present be able to work with our library. Thank you so much for taking the time to fiddle, post and update! I'll definitely buy from Amazon through your link to give you a little kick back!


@Anonymous: Unfortunately, the site you recommended deals with removing the Digital Rights Management from files, which is against the law. While I wish all the eBook readers could read all the major formats natively, that decision needs to be made by the companies that have invested in this technology. To avoid liability, I am deleting your comment, as I will do for anybody that provides similar links or information in the future.

Amy said...

This worked so well for me, and on the first try. Absolutely fantastic. Don't you have a paypal button somewhere so that I can donate some $ to you? It would be well worth it.

Anonymous said...

Thank you SO much for writing this program. I searched for over 8 hours to try to get something to work. I really didn't understand all the script stuff and this worked like a charm. by any chance--do you know of anything that will let the Kindle 3 read the epub books or adobe books from the library?

Again THANK YOU!!!!!


@Anonymous: Unfortunately, the only options right now for reading Adobe's ePub format on the Kindle involve stripping the Digital Rights Management from the file, which is illegal. I hope Amazon and Adobe will make a deal some day, or that people will use a format that is more universally readable. Until then, I'll just have to stick with books that are available in the MobiPocket format.

Unknown said...

I would contend that stripping the DRM from the file that cannot be read on a kindle so it can be converted and read on a kindle is in fact not illegal, but perfectly legal under fair use.

It would become illegal if you were to strip the DRM for the purpose of sharing the book online with others, but for personal use this is fine.


@Justin: It is true that the Audio Home Recording Act (1992) makes it legal to copy your own music for non-commercial personal use, and Sony Corp vs. Universal (1984) ruled that making individual copies of complete television shows for the purposes of "time-shifting" the broadcasts constituted fair use, but it isn't clear how these laws and rulings extend to copying eBooks. Regardless, the Digital Millenium Copyright Act makes it illegal to circumvent access controls, whether or not copyright infringement is involved.

Anonymous said...

Hi, I am a new Kindle user and not too good on computors. I would love to get this program working. I downloaded .Net 4 per you site. Next it says to open the program nd click add a devise. I am not sure which program you are talking about. I can't find a program for the .Net4. or is it on my Kindle. Anyway could someone help me. Maybe be a little more basic for the computor challenged. Thanks. SJ


@Anonymous: The .NET 4 framework is a prerequisite for this program, but that is not the program itself. Now that you have installed the .NET 4 framework, click the link that says "You can download it here" to download and run the MobiKindle program. After that, things should be fairly simple.

Anonymous said...

I'm confused - doesn't Overdrive use ePub format (and PDF) only? Where are people borrowing mobi formatted ebooks? Many thanks!


@Anonymous: Overdrive has both formats. Unfortunately, many of their eBooks are only available in the ePub format, while many others are only available in the Mobi format. At this point there are about 5200 books in the MobiPocket format. In the Advanced Search menu of the Overdrive site, choose the "Mobipocket eBook" format to search only Mobipocket books.

Whitney said...

It took my sleeping on the problem to figure out why I was getting the same message as some of the others :"The selected item could not be opened. If you purchased this item from Amazon, delete the item and redownload it from Archived Items available in Home". However, I discovered that it works PERFECTLY if I just transfer the book directly to my kindle without using an outside program such as Amazon Whispersync or Calibre.

I am thrilled beyond belief, because now I can actually get books from the library! Thank you so much for creating this. I struggled with Igor's python scripts for quite a while - and I just didn't get it. So, thank you, thank you, thank you for putting it into a format I can use!

anme said...

Thank you for creating this program! I struggled with the Python scripts but this was much easier for me to use. Now off to the library!

Anonymous said...

Thanks so much for this great program!

Unknown said...

Forgive me for this very basic question.I am new to this eReader world. I received a Kindle for Christmas and discovered that I cannot borrow eBooks from my public library system and was very disappointed. I found your blog and its information by searching the internet for suggestions about how to be able to read library books on my Kindle. But, please help me understand. Unless my library system has eBooks in the Mobipocket format, I still cannot use the Kindle. Your program will only work to convert eBooks using that format. So really, for most of us, unless we want to buy an eBook in the Mobipocket format and then use your program to convert the file for the Kindle, if we want to be able to read eBooks from our public library systems, we need to invest in another eReader. Am I understanding this correctly? Thank you.


@Dr. Maggie: I don't know about the "for most of us" part, because many libraries do have a wide selection of books available in MobiPocket format. But if you cannot get the book you want to read in MobiPocket format from your local library, and if it's a copyrighted book that you can't get from the Gutenberg project, then you will either have to buy the book from Amazon or find a device that supports the format that is available from your local library. That is, unfortunately, the state of the industry right now.

Anonymous said...

I just have to say you rock! I just found out about this and not using the library borrow is the only thing I haven't liked about my Kindle now I'm thrilled!!!! You are my hero of the day! Thank you for sharing your talent with the world! I was able to download everything convert my first library book and open it within about 5 minutes...fantastic! Thanks again!

Anonymous said...

Hi everyone!
Great fix!
But one question: What if I want to convert an mobi file I made myself (first as a xls file, then converted to mobi) onto the kindle? Can you tell me how that would work? I obviously am skipping the step of adding the device to my library account... but of course, I'm still getting the error message! HELP, please!


If you made the .mobi file yourself, it probably does not have DRM on it, so you don't need to use this program at all! Just copy your .mobi file into the documents folder on your Kindle, and the Kindle will pick it up automatically. My conversion program is only for "protected" .mobi files.

Anonymous said...

Thank you... works great! Now I just wish my library had more Mobi titles! :)

Anonymous said...

Awesome! It worked perfectly the first time on my Kindle 3. I'm so happy!! Thank you!!

Unknown said...

I am so excited to know that this is possible. But in following your directions I got stuck at the first part. I downloaded the net part but when I click on your "download here" the page is empty. What am I doing wrong?

dan rogy said...
This comment has been removed by a blog administrator.

@Melora: The "You can download it here" link should go directly to the program you need to download and run. If you're getting a blank page you may want to try a different browser, or check your downloads folder to see if MobiKindleSetup.exe got downloaded without your realizing it.

Unknown said...

re: "libraries have an eBook lending system set up with, which does accept Kindle PIDs."
I cant find anywhere on overdrive to read a book with there software only see audio books . so there is no way to put in a pid to registar with mobi . tryed the Mobi reader but it wont accept the pid with * so I stumped! Regardsbruce


@bruce: The ebooks should be fairly obvious. Go to for an example of what I'm talking about. Maybe your local library's contract with Overdrive only includes audio books.

Allen said...

I have added the new device with the PID generated using MobiKindle to the Mobipocket reader.

It does not convert and gives the following message.

Any ideas how to fix this?

- Error converting file: C:\Users\Allen\Downloads\1000YearsForRevenge.prc
- Exception: System.Exception: PID doesn't match this file
at MobiKindle.KindleFix.FixForKindle(String fileName, String pid, String newFileName)
at MobiKindle.MainForm.ConvertFile(String fileName, String pid, IResultLog log)



@Allen: "PID doesn't match this file" tells me that the file has one or more PIDs associated with it, but that the PID you've selected isn't one of them. You probably didn't copy the PID to your library account correctly. Double-check that, watching out for easily-confused characters like "I", "l", "1", "O", "0", etc. If you have more than one Kindle PID in your MobiKindle program list, make sure you've selected the one that matches the file before clicking "Convert".

Amadeus63 said...

From Spain...

Kindle 3 Wifi
SN B008...

To convert dictionary Mobipocket:

- Error converting file: C:\Documents and Settings\All Users\Documentos\Libros electrónicos MASTER\Français\Dictionnaires\Le_Robert_nomade_2009.prc
- Exception: System.Exception: PID doesn't match this file
en MobiKindle.KindleFix.FixForKindle(String fileName, String pid, String newFileName)
en MobiKindle.MainForm.ConvertFile(String fileName, String pid, IResultLog log)

Debbie Farrer, SLC said...

You are AWESOME, AMAZING, KIND, WONDERFUL, SMART but most important...SO GENEROUS for sharing this info!!! Tell me again how you get profits if I buy from Amazon. Need to buy something- you TOTALLY deserve LOTS of profit so PLEASE tell me how I can make that happen??!!!!

Anonymous said...

Thanks so much for this. I was using my Sony eReader for library books but had limited selection since most of the ePub and pdf formats were already checked out and have long waiting lists. The mobibook format though is usually available, so this really helps out and now I can use both my Kindle and eReader for library books, depending on what's checked in.


@Amadeus63: Le message d'erreur me fait croire que le fichier n'as pas été marqué par le PID registré avec le logiciel. D'ou venait ce fichier? Est-il venu de ( J'ai entendu dire que ne permettait pas d'entrer les PID avec l'asterisque (*) la-dedans.

@Debbie: Thanks! Basically, if you click on one of the ads in this program to get to Amazon's website and then make a purchase, I'll get a commission from the sale. So next time you're going to buy something from Amazon, if you use this program's ad banners to go to Amazon and buy it, that'll help me out.

Anonymous said...

Just downloaded an ebook from my local library but they don't support MobiPocket. Books are downloaded in Adobe Digital format. Anyone know how to convert Adobe Digital to Kindle format?

Jeff said...

Hello, great tool here!! I've linked from our website to yours for this great program, and some people are wondering if there is a MAC version of this? Can you point me to where I can point them? I can't seem to find anything, but thought you might know.



Anonymous said...

I am not a technical person. So, please forgive me if this is a lamb question, but I have a MAC computer. Can I install this .NET 4 framework onto my MAC?


@Jeff and @Anonymous: The Mono Project ( was developed as a way to run .NET applications on Linux and Mac systems. I've never tried it, and I won't have time to do any exploration with it in the near future, but I might look into it later on. I'm guessing that the ClickOnce installer probably wouldn't install the program even if you have Mono installed, so I'd need to set up a separate distribution in a zip file or something.

In the meantime, if you're savvy, you can install and run the Python scripts that this program is based on. For most people, it'll probably be easier to just find a friend with a PC.

Anonymous said...

Help please. I have been able to generate a PID for my Kindle 3, but I am getting this message "The selected item could not be opened. If you purchased this item from Amazon, delete the item and redownload it from Archived Items available in Home. I tried leaving the wireless on, as suggested, to verify date, but that didn't work. Any other ideas?

Anonymous said...

Never mind! I got it to work. Sweet!
Thanks so much for this!

Jeff said...

Thanks for the Mac response...I'm not computer techy enough to attempt the python scripts yet. Great program nonetheless. It's a big hit for the readers of my Kindle vs Nook web page...and a big "hit" to the Nook, since that really was the big advantage it had over the Kindle.

Anonymous said...

I downloaded a book from the library, converted it to AZW file, put it in documents and it loaded on my kindle. But when I try to open it I get the message "This item cannot be opened because it is licensed to a different user. Delete the item and download it from you Archived items or purchase a copy from the Kindle Store." I have re-entered the PID and serial number to make sure that is right. What am I doing wrong?

Anonymous said...

ABSOLUTELY BRILLIANT!! thank you so much. Just got it downloaded and worked like a charm! You've just saved my kindle!

Anonymous said...

i've downloaded the program but when i try to convert the mobi file to azw, i get the below error. i see that others were also getting this error but don't see any response about a fix--any update?

- Error converting file: C:\my files\Calibre\Nora Roberts\Happy Ever After (The Bride Quartet) (5)\Happy Ever After (The Bride Quartet) - Nora Roberts.prc
- Exception: System.Exception: Unknown encryption type
at MobiKindle.KindleFix.FixForKindle(String fileName, String pid, String newFileName)
at MobiKindle.MainForm.ConvertFile(String fileName, String pid, IResultLog log)

Anonymous said...

Tonight I have signed out Stephen King The Mist from my local library. With your lovely written software, I will be reading it on Kindle 3 comfortably on my bed.

You have amazing talent! Thanks a lot!

jandoe said...

I'm getting this too :(

- Error converting file: C:\Downloads\EBOOKS\roy_the_god_of_small_things.doc.prc
- Exception: System.Exception: Not a Mobi file!
at MobiKindle.KindleFix.FixForKindle(String fileName, String pid, String newFileName)
at MobiKindle.MainForm.ConvertFile(String fileName, String pid, IResultLog log)

I checked and my PID is definitely correct

Anonymous said...

From Ken
Hey, I was getting the same 'can't open...' message after converting the file and putting on my wife's new Kindle 3.

I thought it might be the time/date issue, but after thinking about it for awhile, I tried entering the serial number to create the PID, THIS TIME USING NO SPACES. The new PID, after re-entering it into all the appropriate places, worked like a charm.

Just thought I'd add this to help some of the other users running into problems. BTW, I use the Greater Phoenix Digital Library.

Great program, thank you so much!!! Without this app, we probably wouldn't stick with the Kindle.

adri h. said...

Thank you for your front-end work! I can finally read library books on the Kindle 3!

Anonymous said...

Oooh, thank you! Got this to work on my Kindle 3 with KCLS Overdrive! I had to install .Net 4 from the link you posted even though, my computer said it had .Net 4 ... but after that it worked like a charm!

Unknown said...
This comment has been removed by a blog administrator.
phaans said...
This comment has been removed by a blog administrator.
Anonymous said...

Us folks in Canada still are not getting Kindle versions from Overdrive! Please leave on and help us out

Anonymous said...

Hi, is it possible to use this program on a Mac ?

If not, can I borrow a friends pc to set it up and then use the Mac to browse and download books?



@Anonymous: I don't know. It is a .NET program, and the Mono project supposedly makes it possible to run .NET programs on OSX (, but I have no way to test it so I honestly don't know. If you succeed at getting it to work, would you let us know?

If you need this program (i.e. your public library uses Overdrive, but you're not in a country where you get direct-to-Kindle books), then you will need to use it to convert each book that you get from the library. You can browse, check out books, and download them on any computer you want, but before transferring the file to the Kindle you will need to run this program to convert it. So if you can't figure out how to make it work on a Mac, you may need to send your friend each file you check out and ask them to convert it and send the converted file back to you.