DRM Removal Tools for eBooks

Version 6.4.3 released on 28 April, 2016

Welcome to Apprentice Alf’s blog

This blog is intended to help anyone looking for free and simple software for removing DRM from their Kindle ebooks, stripping DRM from their Adobe Digital Editions ebooks, getting rid of DRM from their Barnes and Noble ebooks, freeing their Kobo ebooks of DRM, or decrypting their Fictionwise eReader ebooks.

If you want to find out more about ebooks, DRM and why you will probably want to remove the DRM from your ebooks, see this post:  Ebook Formats, DRM and You — A Guide for the Perplexed.

If you already know that you want to strip the DRM from your ebooks, you’ve found the right place.

The Tools

To get started on removing DRM from your ebooks, just download the tools archive from the link below. Unzip the archive, and start reading.

The latest release can be found at the top of this page:
https://github.com/apprenticeharper/DeDRM_tools/releases

Getting Help with the Tools

If you have any questions about the tools, ebooks and DRM, check my FAQs post:  Frequently Asked Questions about the DRM removal tools.

If you have any problems with the current tools, please ask for help in a comment on this post. If you are having a problem with an older version of the tools, please first update to the current version, and see if that solves your problem.

Before commenting here, please check the ReadMe file and the FAQs (see link above).

In any bug report or help request, please include:

  • which tool was used
  • which OS you are using
  • where the ebook file came from (device or folder)
  • any error messages
  • a log of the DRM-removal attempt (see the FAQs on how to get a log).

Anti-Piracy Notice

Please only use this application for gaining full access to your own ebooks for archiving/converson/convenience. De-drmed ebooks should not be uploaded to open servers, torrents, or other methods of mass distribution. No help will be given to people doing such things. Authors, retailers and publishers all need to make a living, so that they can continue to produce books for us to read. Don’t be a parasite.

Origin of the Tools

The tools for removing DRM from ePubs were originally posted at i♥cabbages’ blog. The tools for Kindle/Mobipocket were originally posted at The Dark Reverser’s blog.

They have since been improved by many people, but mostly some_updates, DiapDealer, Apprentice Alf, and Apprentice Harper. While there are many sites that redistribute these tools, the most up-to-date versions of the tools are currently released here.

Other Sources

Anyone trying to sell you ebook DRM removal tools for Adobe Adept ePub and PDFs, Barnes & Noble ePubs, Kindle ebooks, Kobo ebooks, or eReader ebooks has probably just repackaged (an earlier) version of the tools available here.

1,725 thoughts on “DRM Removal Tools for eBooks

  1. Latest tools on MacOS 10.11.4. Using calibre 2.55.0 on Kindle files downloaded to the Mac Kindle app.

    Convert book 1 of 1 (Auntie Mame: An Irreverent Escapade)
    Resolved conversion options
    calibre version: 2.55.0
    {‘asciiize’: False,
    ‘author_sort’: None,
    ‘authors’: None,
    ‘base_font_size’: 0.0,
    ‘book_producer’: None,
    ‘change_justification’: u’original’,
    ‘chapter’: u”//*[((name()=’h1′ or name()=’h2′) and re:test(., ‘\\s*((chapter|book|section|part)\\s+)|((prolog|prologue|epilogue)(\\s+|$))’, ‘i’)) or @class = ‘chapter’]”,
    ‘chapter_mark’: u’pagebreak’,
    ‘comments’: None,
    ‘cover’: u’/var/folders/bs/l7g9cymj1gl3w8m_4vq4jhvw0000gn/C/calibre_2.55.0_tmp_t23mqj/AiJvD_.jpeg’,
    ‘debug_pipeline’: None,
    ‘dehyphenate’: True,
    ‘delete_blank_paragraphs’: True,
    ‘disable_font_rescaling’: False,
    ‘dont_compress’: False,
    ‘duplicate_links_in_toc’: False,
    ’embed_all_fonts’: False,
    ’embed_font_family’: None,
    ‘enable_heuristics’: False,
    ‘expand_css’: False,
    ‘extra_css’: None,
    ‘extract_to’: None,
    ‘filter_css’: u”,
    ‘fix_indents’: True,
    ‘font_size_mapping’: None,
    ‘format_scene_breaks’: True,
    ‘html_unwrap_factor’: 0.4,
    ‘input_encoding’: None,
    ‘input_profile’: ,
    ‘insert_blank_line’: False,
    ‘insert_blank_line_size’: 0.5,
    ‘insert_metadata’: False,
    ‘isbn’: None,
    ‘italicize_common_cases’: True,
    ‘keep_ligatures’: False,
    ‘language’: None,
    ‘level1_toc’: None,
    ‘level2_toc’: None,
    ‘level3_toc’: None,
    ‘line_height’: 0.0,
    ‘linearize_tables’: False,
    ‘margin_bottom’: 5.0,
    ‘margin_left’: 5.0,
    ‘margin_right’: 5.0,
    ‘margin_top’: 5.0,
    ‘markup_chapter_headings’: True,
    ‘max_toc_links’: 50,
    ‘minimum_line_height’: 120.0,
    ‘mobi_file_type’: u’old’,
    ‘mobi_ignore_margins’: False,
    ‘mobi_keep_original_images’: False,
    ‘mobi_toc_at_start’: False,
    ‘no_chapters_in_toc’: False,
    ‘no_inline_navbars’: True,
    ‘no_inline_toc’: False,
    ‘output_profile’: ,
    ‘page_breaks_before’: u”//*[name()=’h1′ or name()=’h2′]”,
    ‘personal_doc’: u'[PDOC]’,
    ‘prefer_author_sort’: False,
    ‘prefer_metadata_cover’: False,
    ‘pretty_print’: False,
    ‘pubdate’: None,
    ‘publisher’: None,
    ‘rating’: None,
    ‘read_metadata_from_opf’: u’/var/folders/bs/l7g9cymj1gl3w8m_4vq4jhvw0000gn/C/calibre_2.55.0_tmp_t23mqj/c2uC4S.opf’,
    ‘remove_fake_margins’: True,
    ‘remove_first_image’: False,
    ‘remove_paragraph_spacing’: False,
    ‘remove_paragraph_spacing_indent_size’: 1.5,
    ‘renumber_headings’: True,
    ‘replace_scene_breaks’: u”,
    ‘search_replace’: ‘[]’,
    ‘series’: None,
    ‘series_index’: None,
    ‘share_not_sync’: False,
    ‘smarten_punctuation’: False,
    ‘sr1_replace’: None,
    ‘sr1_search’: None,
    ‘sr2_replace’: None,
    ‘sr2_search’: None,
    ‘sr3_replace’: None,
    ‘sr3_search’: None,
    ‘start_reading_at’: None,
    ‘subset_embedded_fonts’: False,
    ‘tags’: None,
    ‘timestamp’: None,
    ‘title’: None,
    ‘title_sort’: None,
    ‘toc_filter’: None,
    ‘toc_threshold’: 6,
    ‘toc_title’: None,
    ‘transform_css_rules’: ‘[]’,
    ‘unsmarten_punctuation’: False,
    ‘unwrap_lines’: True,
    ‘use_auto_toc’: False,
    ‘verbose’: 2}
    InputFormatPlugin: MOBI Input running
    on /var/folders/bs/l7g9cymj1gl3w8m_4vq4jhvw0000gn/C/calibre_2.55.0_tmp_t23mqj/9HiZQD.azw3
    Found KF8 MOBI of type ‘standalone’
    Extracting text…
    Parsing all content…
    Parsing text/part0005.html …
    Parsing text/part0017.html …
    Parsing text/part0006.html …
    Parsing text/part0007.html …
    Parsing text/part0008.html …
    Parsing text/part0009.html …
    Parsing styles/0001.css …
    Parsing text/part0018.html …
    Parsing text/part0010.html …
    Parsing styles/0002.css …
    PropertyValue: Missing token for production Choice(ColorValue, Dimension, URIValue, Value, variable, MSValue, CSSCalc, function): (‘CHAR’, u’&’, 4, 20)
    No content to parse.
    PropertyValue: Unknown syntax or no value: &quot
    CSSStyleDeclaration: Syntax Error in Property: font-family: &quot
    Property: No “:” after name found: Shift Light&quot [4:38: quot]
    Property: No property value found: Shift Light&quot [4:38: quot]
    CSSStyleDeclaration: Syntax Error in Property: Shift Light&quot
    PropertyValue: Missing token for production Choice(ColorValue, Dimension, URIValue, Value, variable, MSValue, CSSCalc, function): (‘CHAR’, u’&’, 10, 20)
    No content to parse.
    PropertyValue: Unknown syntax or no value: &quot
    CSSStyleDeclaration: Syntax Error in Property: font-family: &quot
    Property: No “:” after name found: Shift Light&quot [10:38: quot]
    Property: No property value found: Shift Light&quot [10:38: quot]
    CSSStyleDeclaration: Syntax Error in Property: Shift Light&quot
    PropertyValue: Missing token for production Choice(ColorValue, Dimension, URIValue, Value, variable, MSValue, CSSCalc, function): (‘CHAR’, u’&’, 16, 20)
    No content to parse.
    PropertyValue: Unknown syntax or no value: &quot
    CSSStyleDeclaration: Syntax Error in Property: font-family: &quot
    Property: No “:” after name found: Fort-Book&quot [16:36: quot]
    Property: No property value found: Fort-Book&quot [16:36: quot]
    CSSStyleDeclaration: Syntax Error in Property: Fort-Book&quot
    Parsing text/part0011.html …
    Parsing text/part0000.html …
    Parsing text/part0019.html …
    Parsing text/part0012.html …
    Parsing text/part0013.html …
    Parsing text/part0001.html …
    Parsing text/part0014.html …
    Parsing text/part0015.html …
    Parsing text/part0002.html …
    Parsing text/part0016.html …
    Parsing text/part0003.html …
    Parsing text/part0004.html …
    Referenced file u’styles/%26quot%3bfonts/Fort-Book.otf%26quot%3b’ not found
    Referenced file u’styles/fonts/Shift-BoldItalic.otf’ not found
    Referenced file u’styles/fonts/Shift-Light.otf’ not found
    Reading TOC from NCX…
    Merging user specified metadata…
    Detecting structure…
    Flattening CSS and remapping font sizes…
    Source base font size is 10.56000pt
    Removing fake margins…
    Found 1 items of level: div_3
    Found 2 items of level: div_2
    Found 20 items of level: div_1
    Found 14 items of level: p_3
    Found 2728 items of level: p_2
    Ignoring level div_3
    Ignoring level p_3
    div_2 left margin stats: Counter()
    div_2 right margin stats: Counter()
    div_1 left margin stats: Counter({u”: 16, u’0%’: 1})
    div_1 right margin stats: Counter({u”: 16, u’0′: 1})
    Negative text indent detected at level p_2, ignoring this level
    Cleaning up manifest…
    Trimming unused files from manifest…
    Trimming u’images/00005.jpeg’ from manifest
    Trimming u’images/00007.jpeg’ from manifest
    Python function terminated unexpectedly: Argument must be bytes or unicode, got ‘float’
    Traceback (most recent call last):
    File “/Applications/calibre.app/Contents/Resources/Python/lib/python2.7/site.py”, line 209, in main
    return run_entry_point()
    File “/Applications/calibre.app/Contents/Resources/Python/lib/python2.7/site.py”, line 114, in run_entry_point
    return getattr(pmod, func)()
    File “site-packages/calibre/utils/ipc/worker.py”, line 190, in main
    File “site-packages/calibre/gui2/convert/gui_conversion.py”, line 31, in gui_convert_override
    File “site-packages/calibre/gui2/convert/gui_conversion.py”, line 25, in gui_convert
    File “site-packages/calibre/ebooks/conversion/plumber.py”, line 1219, in run
    File “site-packages/calibre/ebooks/conversion/plugins/mobi_output.py”, line 208, in convert
    File “site-packages/calibre/ebooks/conversion/plugins/mobi_output.py”, line 240, in write_mobi
    File “site-packages/calibre/ebooks/mobi/mobiml.py”, line 116, in __call__
    File “site-packages/calibre/ebooks/mobi/mobiml.py”, line 127, in mobimlize_spine
    File “site-packages/calibre/ebooks/mobi/mobiml.py”, line 567, in mobimlize_elem
    File “site-packages/calibre/ebooks/mobi/mobiml.py”, line 567, in mobimlize_elem
    File “site-packages/calibre/ebooks/mobi/mobiml.py”, line 565, in mobimlize_elem
    File “site-packages/calibre/ebooks/mobi/mobiml.py”, line 287, in mobimlize_content
    File “src/lxml/lxml.etree.pyx”, line 3112, in lxml.etree.SubElement (src/lxml/lxml.etree.c:81786)
    File “src/lxml/apihelpers.pxi”, line 203, in lxml.etree._makeSubElement (src/lxml/lxml.etree.c:18358)
    File “src/lxml/apihelpers.pxi”, line 198, in lxml.etree._makeSubElement (src/lxml/lxml.etree.c:18281)
    File “src/lxml/apihelpers.pxi”, line 302, in lxml.etree._initNodeAttributes (src/lxml/lxml.etree.c:19840)
    File “src/lxml/apihelpers.pxi”, line 316, in lxml.etree._addAttributeToNode (src/lxml/lxml.etree.c:20196)
    File “src/lxml/apihelpers.pxi”, line 1437, in lxml.etree._utf8 (src/lxml/lxml.etree.c:32414)
    TypeError: Argument must be bytes or unicode, got ‘float’
    Creating MOBI Output…
    Serializing resources…
    Creating MOBI 6 output
    Generating in-line TOC…
    Applying case-transforming CSS…
    Parsing manglecase.css …
    Parsing tocstyle.css …
    Rasterizing SVG images…
    Converting XHTML to Mobipocket markup…

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s