How can I remove DRM from Kindle books I've purchased from Amazon?
There is a set of Python scripts for removing DRM from several different eBook formats, including Kindle's. One of them (called KindleBooks) allows you to remove the DRM without needing Kindle for PC. Instead it just uses the serial number from the Kindle they were purchased for to decode the books. It worked great for books downloaded on my Kindle 2.
It also has handy plugins for calibre, which is open source software for reading and converting various eBook formats as well as syncing to many different kinds of eBook readers. I highly recommend it.
The above tools work great on Linux, and should work fine on Mac OS X too as they are all Python-based. In order to run them, you will need to install Python for Windows or Mac (which comes with Python, but apparently has older versions), or make sure you have packages for Python and its Tk binding installed on your Linux system.
Recently, I de-drm'd our family's collection of purchased Kindle e-books using skindle. The link is to a blog post giving step-by-step instructions for using it. It's Windows only and relies on having an installed version of Kindle for PC.
Here is an abbreviated summary of the instructions:
- Download and extract the skindle package
- Download, install, and register Kindle for PC
- Use Kindle for PC to download a local copy of a book from your library
- Run skindle against the file with the appropriate arguments
- Backup the resulting file however you want. If you need to put it back on your kindle in the future, just drop it into the Documents folder on the device.
The article Ebook Formats, DRM and You — A Guide for the Perplexed, describes how to remove DRM from Kindle books, using several methods :
- The simplest way is to use Calibre, as described in the article.
- Mac OS X 10.5, 10.6, and 10.7 users who don’t want to use calibre should use the DeDRM AppleScript, as described in the post, DeDRM AppleScript for Mac OS X 10.5, 10.6, and 10.7.
- Windows users who don’t want to use calibre will need to install Python and PyCrypto and use either the DeDRM_WinApp tool or the stand-alone tools, as described in the post, Windows, Python, Ebooks and DRM.
- Linux users may also use the Windows versions of the tools under the very latest 1.3.22 or later versions of Wine.
If you encounter problems, see also the Frequently Asked Questions about the DRM removal tools.
Since undoing DRM for personal use seems now acceptable, here is a procedure that has worked for me.
Install an older version of Kindle for PC
The new version has changed the format of its downloaded books, so an older version is required, for example Kindle for PC 1.17.0 Build 44170.
As on installation it will immediately update itself to the latest version, it is recommended to install it while Internet is turned off, and disable auto-update in the Options before connecting to your account.
After turning on the Internet and connecting to your account, download your
books to the computer. They will by default be found in the folder
C:\Users\USER\Documents\My Kindle Content and have strange names.
The latest file with the extension of
.azw is the downloaded book.
Download and install the free Calibre library with its excellent e-book reader for many formats.
Unzip the tools, find the Calibre plug-in and install it in Calibre (instructions included with the files).
Add books to the Calibre library
.azw book to Calibre will automatically invoke the
DeDRM tools to undo the DRM, and the book will be added to your Calibre library,
where you may read it with the supplied viewer, or convert it to another format.