Ten Great Ebook Production Tools

Expert publishing blog opinions are solely those of the blogger and not necessarily endorsed by DBW.

EPUB ebook productionThere are many ways to get at the insides of an EPUB—many of them idiosyncratic and unique to the particular needs of a given ebook developer. And not all tools are created equally.

So while this isn’t an exhaustive list by any means, it’s a quick guide to some of the best tools for four key pieces of the development process that ebook designers confront day in and day out.

It’s also an invitation to start a conversation about just how we go about confronting them. As I’ve written before, ebook developers are still working out how best to balance print and digital outputs in ways that support readers in both formats while making efficient use of publishers’ production resources. That’s no easy challenge, and there’s no one solution, but opening up our respective toolboxes and sharing tips of the trade is one good place is start.


Many developers are perfectly comfortable with the command-line method of unzipping EPUBs to edits their various pieces. If you prefer the drag-and-drop method, Rorohiko’s free script eCan Crusher will be a big help to you. It works on both Mac and Windows and simply creates a folder of the HTML, CSS, etc. that live inside an EPUB, which can be edited and then re-zipped into the .epub format.


An essential step in the editing process is to run any EPUB through an EPUB validator to make sure you didn’t miss an HTML close tag or a semicolon in the CSS. There are a couple of ways to do this. The IDPF has an online validator for books that are under 10MB. You can also install a local version on any desktop. I use the pagina EPUB-Checker app, a piece of freeware into whose window you can drag any EPUB to find out if it validates. It is available for Windows, Mac and Linux.

FlightDeck is a newer tool that is already proving to be an indispensable part of my workflow. EPUB validation is built into the report it generates, though its feedback is much fuller than the sometimes cryptic error messages that a validator will usually throw up.

Flight Deck instead provides detailed error messages about whats’ going wrong plus lets you compare the ebook against an industry-standard set of best practices; a full set of fonts, images and external links statistics; and a review of the built-in metadata (as well as a space to edit and add to the metadata). It also shows a preview of how the various platforms will deal with the ebook and what elements might cause problems at the ingestions stage.

Text Editors

Once an EPUB is unzipped, the HTML, CSS and other pieces of the package can be edited with any text editor. Many of them have powerful find/change menus with RegEx options—which is critical for any HTML cleanup operation. TextWrangler is a free text editor that can run RegEx searches on a full folder of HTML files at once. Its older sibling BBEdit is available for a very small fee and includes full web authoring tools. Coda is another, slightly more expensive text editor with a preview function that is popular with developers. Finally, Sublime is a low-cost editor also popular in ebook developer circles.

Ebook Editors

There are a few EPUB-specific editors on the market as well as one XML editor that functions nicely as an ebook editor. Sigil is a multiplatform ebook editor that inspires wild loyalty; it is an open-source tool under active development created by ebook developers for ebook developers. Sigil has some intuitive, organizational tools—including some allowing the creation of semantic names for the HTML files and then editing the navigational document and OPF to reflect those changes. Unfortunately, it is currently stalled at EPUB2, although I am told that EPUB3 capabilities are under development. In addition to being open-source, another major advantage is that it is free.

I personally use oXygen to edit EPUBs. It is an XML editor that works nicely for most ebooks. It will open EPUBs directly, allowing users to skip the zip/unzip step entirely. It validates HTML and CSS on the fly, redlining any erroneous bits and pieces. It will also validate to the EPUB2 or EPUB3 spec, whichever is indicated inside the ebook. Users can flip between code and author views, making it a little more WYSIWYG for people who want that. This software has a steep buy-in but is also available as a subscription.

What Do You Use?

This is a personal list, partly reflecting my bias—because I like the tools that I like— and partly reflecting the still decidedly sub-par nature of other tools in this space. That being so, I am very curious about what other ebook developers use. Please don’t hesitate to tell me and other readers of this post about your own favorites in the comments section below.

20 thoughts on “Ten Great Ebook Production Tools

  1. Ben Styles

    Hi Laura,

    Great post, and I am fully behind your concept of sharing this kind of information to try and foster some progress and joined-up thinking.

    My own process is a little complex but is the best way I have found so far of automating as much as I can.

    InDesign (cleaning up styles, adding links, images, footnotes etc., doing all the fundamental text editing)
    InDesign export to .epub
    Run through a Node.js script (available here [just index.js at this point]) to automate: metadata completion in the opf manifest from a csv spreadsheet I get from my clients; changing pixel values spat out by InDesign into more responsive em values; any other custom regexes I want (added in a separate config file)
    Sigil for final checking and tidying, including splitting up the xhtml files for page breaks
    Node.js again, this time running amzn.js to run automations pre-conversion to .mobi (including setting start-location, toc location)
    kindlegen command-line script, initiated by amzn.js

    Anyone is free to use my Node.js script but it’s very idiosyncratic to my process. Of course please feel free to fork it for your own needs!

  2. Honza Hejzl

    This kind of sharing is really rare!

    For me, the most necessary tool is Vim editor. It is great for fast navigation, working with multiple files at once and working with really complex RegExes. It’s very steep learning curve is really worthy.

    With Vim I like FlightDeck which is slowly becoming my main validation tool.

    These tools + humble (and simple) macros for packing/unpacking and locally validating files gives me quite powerful workflow. It allows me to have everything under control.

    As far as direct editing of e-books, I don’t believe it will ever exist. It should be something so huge like Dreamweaver for web-editing. And this probably won’t happen, at least not in it’s entirety.

  3. Honza Hejzl

    Hi Laura, great post, such a kind of sharing is very rare (and so much needed!).

    My typical workflow:

    1. Preparing ePub in InDesign > export (ePub3 mainly);
    2. manually unzipping;
    3. editing with Vim editor which allows me to work quickly; it’s power is in working with quite complex RegExes, work across multiple files, strong support of touch typing;
    4. zipping and basic validating through humble macros (simply for running EpubCheck and zip with one click);
    5. validation with FlightDeck.


  4. Honza Hejzl

    Hi Laura, great post, such a kind of sharing is very rare (and so much needed!).

    My typical workflow:

    1. Preparing ePub in InDesign > export (ePub3 mainly);
    2. manually unzipping;
    3. editing with Vim editor which allows me to work quickly; it’s power is in working with quite complex RegExes, work across multiple files, strong support of touch typing;
    4. zipping and basic validating through humble macros (simply for running EpubCheck and zip with one click);
    5. validation with FlightDeck.

    Thank you!

  5. Michael W. Perry

    Edit epub? I’d rather pull my own teeth. For me, great tools for creating quality epub files are tools that don’t require unzipping and hand-editing the code.

    If you do like that sort of thing, why not give the rest of us scripts that automate these changes. After all, what’s involved is simply changing one text string to another. Create software that lets us choose what changes to make.

  6. Doug Hoffman

    I write in LibreOffice, which stores documents in open document format, and can produce a PDF ready for printing at Create Space. The odf doc can be fed into Calibre for conversion to a number of ebook formats including MOBI. I then send the .mobi file to Amazon for conversion to their format. This way I can produce ebook and hardcopy from the same source document. Both LibreOffice and Calibre are free open source programs.

  7. Notjohn

    Good stuff. I love Sigil. It’s free, it’s powerful, it’s regularly improved, and though it has a learning curve there’s great support available on MobileRead dot com. And the resulting epub converts beautifully on Amazon’s KDP platform.

    My favorite text editor is DOS WordStar, last updated in 1991 or shortly after. Because I’ve lost some of the Windows Clipboard features (I can paste to WS but not copy from it), I sometimes am driven to use Notepad. I have Notepad++ and Note Tab Pro on my computer, but I rarely resort to them.

    I have a WordStar keyboard command set on my Microsoft Word 2000 software, so I often finish up a book there. (WS doesn’t accommodate curly quotes or em or en dashes.) In that case, I get clean html by pasting the Word doc into Word2CleanHtml dot com online. (If you have a newer version of Word, you can get a plug-in that does much the same thing. Google toxaris word macro

  8. Philippe Roy

    Jutoh. Jutoh. Jutoh.

    It does everything above, a the result is always perfect, right down to the code.

    It’s powerfull enough to limit some section to certin output. Want a section to show in the Kindle version but not in the iBook one? No problem. It can even take care of this nasty Meatgrinder savy Word document. And it test everything for complience before wrapping up everything.


  9. Don

    InDesign works well in getting the layout, threading etc done. Once it has been exported as ePub I am kinda hooked on Notepad++. You would really have to be careless to miss an opening or closing tag with Notepad++ as it automatically highlights the closing tag once you are inside the opening one and vice versa. It also has a predictive auto-complete feature that can be turned on and off.

  10. India

    You got all the big ones, but here are a handful of (Mac, mostly) tools from the list that I give to new minions:

    Free. “WordService provides a large number of commands for working with selected text,” e.g., changing case, to which you can then assign a shortcut that will work in any app that supports services. Yes, you can do this stuff in any decent text editor, but having a system-wide shortcut is priceless. Yet it’s free. Can’t go wrong.

    A code snippet manager
    I use Pastebin (free, up to a point; I use this only to share boilerplate code with minions) and Codebox ($10; what I actually use when working). BBedit and Sigil also have built-in clippings managers, but I prefer a standalone app.

    Multiple-clipboard app
    I use ClipboardHistory ($5). Free alternatives include ClipMenu, CopyClip, Jumpcut, and Flycut. Flycut syncs to Dropbox, which might be nice.

    Something about oXygen XML Author disrupts all such apps that I’ve tried, which is one of the many reasons I can’t stand using oXygen as my main editor. I don’t know how anybody is supposed to get work done using only one clipboard slot.

    File/folder renaming app
    I use the Mac Finder replacement Path Finder ($40) for simple stuff and Name Mangler ($19) for heavy lifting.

    Code prettifiers
    BBEdit dropped the out-of-date HTML Tidy from version 11, and someone on their support board recommended Balthisar Tidy as a replacement. It’s a drag to configure, and I use it judiciously, because sometimes it changes stuff I don’t want changed, but it’s nice to have. Inside BBEdit, I use T J Luoma’s Tidy-XML to replace the XML reflow tool that also disappeared in v.11, as well as Ryan Wilcox’s html.bbpackage, which includes CSScomb.

    Text expansion app
    I use TextExpander ($35). For EVERYTHING. I used it at least twenty times while composing this comment. Computers are broken without it. Lifehacker has a roundup of apps that do this; none are free, but their favorite is only $5.

  11. Tom

    I use the book document management application from manuscriptmaker.com: I can import from Word or text file, use the simple chapter-by-chapter xhtml editor and auto-generate an epub file. It stores hundreds of books and can even create a print PDF of my manuscript.

    It uses MS Access database and is for Windows only.

  12. john

    Well, there are so many reasons I can see judging by your various comments on the interwebs…

    1. You would not be able to use those scripts and this can be claimed with absolute certainty.

    2. You would not want to purchase such software—and since there is a lot of work involved to get something complete enough, it would be a lot easier to build it as one piece of software so that the vast majority of people can benefit.

    3. You would not see the benefits of such software because you think you know better while so many people in the industry don’t share your opinions. Quite surprisingly—and don’t forget ”surprisingly” rhymes with “irony”.

    4. If you think it is as simple as changing one text string to another then I guess you think typesetting is as simple as putting text in InDesign’s objects. There are actually so many variables that people must often create scripts for a single file.

    5. EPUB is HTML, CSS, JavaScript, etc. Basically, it’s web stuff. Now, and surprisingly (irony involved… again), we’ve been trying to develop great web tools that don’t require hand-editing the code for something like, you know, 15 years. And we’re not there yet, we’re still very far from here.
    The best tools are actually build cleverly and specifically designed, which EPUB export in existing tools is not at the moment. It’s just an afterthought and that is the biggest part of the problem: it is added to a hostile environment in many cases.

    6. You would not know which changes have to be made since you don’t have any clue what is wrong in the first place.

    7. You don’t trust people who know their craft and believe they are just doing their utmost to be considered indispensable while they are actually trying their best to provide with the best eBooks (design, semantics, UX, etc.).

    8. Believe it or not, a lot of publishers are creating (or outsourcing the creation of) tools, which, once combined, result in workflows not revolving at all around InDesign. In those workflows, InDesign is just an output—that means it is not used to create the EPUB file. Why would they do that (and spend a lot of money) if ID is the gold standard some people pretend it is.*

    * Hint: it is not. A lot of skilled users, users who know their sh*t in ID, make do with it because they have no choice. If they could build a better workflow, they would do it. And the people who wouldn’t are probably suffering from an aggravated form of dementia.

    Have a nice day!

  13. Lara Smith

    My workflow is an appendage to print, so I use InDesign to prep and export, Dreamweaver to polish, and epubchecker to validate. The only reason I use DM is because I have it and, now, it’s what I use. But I’m going to check out some of these other code editing options. Great article, great comments—thanks for sharing everyone. (I sit alone at my desk and am isolated from other ebookers out there in the day-to-day.)

  14. Lindsey Thomas Martin

    Useful article and comments. Thank you. I hope the material is moved to the Resources page after a bit.

    One point that was not perhaps explicit in the section *Text Editors*: BBEdit, versions 10 and up, can edit unzipped EPUB files.


  15. Ori Idan

    We are using mainly inhouse scripts written in Perl.
    All of them are open source and we will be glad to share with others.
    We are working only on Linux and I’d be happy if there is someone that can package some of our perl tools for Windows.
    For example, we have a command line tool that takes a directory with EPUB contents, analyzes the OPF file and according to OPF’s manifest, creates a valid EPUB zip file.
    See my github repository:



Your email address will not be published. Required fields are marked *