
When I posted a link to the Nurse Jackie screenplay earlier this month, someone left a comment asking for help with formatting screenplays for the Kindle.
I am always up for a challenge, at least until I grow bored or frustrated, so today I tried to figure out a solution. What I finally came up with is a bit convoluted, but hopefully it lays the groundwork for others to figure out more elegant solutions in the future.
First, I just played around with sending pdf, html, and txt files to Amazon to let them convert it to see what happened. The results were not good. I did a search online for advice on conversions and saw someone mention using FinalDraft–something about how you can set up the style guide with that program and export a correctly formatted document that can then be used by the Kindle.
Well I’m not paying $$$ for FinalDraft obviously. Instead, I remembered an open-source and free-as-in-beer alternative, Celtx. I figured I’d try that. It’s available for Windows, Apple, and Linux platforms.
Next, I went to a website that has html versions of screenplays and downloaded a sample script. (Note that I didn’t try any pdf documents–someone else will have to try that, as I’ve exhausted my curiosity for this problem today.)
Finally, I relied on Calibre, another free software, that manages ebooks for a variety of devices. It also handles conversions.
Once I had all the raw materials–html version of screenplay, Celtx screenplay formatting software, and Calibre ebook software–I started experimenting.
My Solution
Summary for the technically inclined: Import in Celtx, export as html, replace CSS code in exported doc with this code (modify as per your tastes), import into Calibre, convert to MOBI, send to device.
- In Celtx
- import
html.txt version of a screenplay (see the special note in the dashed box above) - export it as html
Why? Because by doing this, you get Celtx to replace whatever formatting the original document used with a consistent set of CSS mark-up tags, which is important to have in order to get the Kindle to display the formatting properly.
- import
- Open the newly exported html file in a simple text editor, e.g. WordPad on Windows XP, or in a real HTML editing application (note that fancier editors like Microsoft Word may hide the html code from you, and really really simple editors like Notepad may do the same)
- delete ALL the current CSS style code — everything between <style type=”text/css”> and </style> — from the top of the document (make sure you don’t actually delete the “style” tags as well)
- paste this CSS code instead
- save the file
- In Calibre
- Import this new html file (or drag and drop it into your list of documents and it will be copied over automatically
- Highlight the file in the Calibre list by clicking on it once
- Click the big “Convert E-books” button at top of screen
- Click “Page Setup” and change Destination profile to Kindle
- Hit Okay
- Wait for hourglass in the bottom right corner to stop spinning
- Right click the file name in the Calibre list
- Select “Send to device”
That’s it! It probably looks more complicated than it is, because I’m trying to include enough detail here for beginners to use these instructions.
I experimented with the CSS style code for a while until I got something that worked for me, but I noticed a couple of weird issues with it:
- The Kindle seems to ignore right-side margins
- Although I used percentages in the CSS style code, hoping it would scale appropriately when different text sizes are used, it doesn’t seem to work that way. The CSS I settled on looks good when the text display size on the Kindle is at one of the smallest two settings, but on the bigger settings the left-side margins start to get really obnoxious. It’s a puzzle to me.
And finally, here are two things I noticed that you should be aware of:
- The final version will only be as good as the original screenplay you export from Celtx. If the formatting isn’t correct there, clean it up there and make sure everything’s standardized before exporting it. Otherwise, the CSS markup tags won’t be used correctly throughout the document.
- You can change that CSS code to whatever you want. If you don’t like the margins I chose, simply play around with the CSS code before you import the file into Calibre for conversion. The primary three areas you’ll want to play with are marked p.character, p.parenthetical, and p.dialog. Also, I stripped out a lot of other CSS code to make this simpler; it’s possible you can customize the code to include far more elaborate mark-up rules, so long as you always reference the tags that Celtx uses.
(Photo: Vikki Heartbreak)
By Stephen Peters June 23, 2009 - 4:18 PM
Great work! I can’t wait to see how this turns out.
By Tim Wilcox July 15, 2009 - 12:46 PM
Thank you so much!
By James Monohan October 2, 2010 - 8:58 PM
But what if the script is not HTML? What if it’s PDF?
Btw, I can’t get Celtx to open HTML or PDF files – only .txt.
By Chris Walters November 15, 2010 - 2:34 PM
@James Monohan, I must have overlooked something, or else Celtx has changed since I did this. (Probably the former.) I’ve gone back and verified a work-around, which I’ve added to the instructions above.
Thanks for catching this!
(By the way, I don’t think anyone has a good solution yet for PDF script conversion. Please let me know if you figure one out.)
By Claire March 6, 2011 - 2:52 PM
Fabulous notes. I have been trying to do this for weeks and finally! Thank you soooo much.
By joshua thomas July 27, 2011 - 5:39 PM
I did it and it looks great! Now however I need to work out how to publish on Amazon…
By Arash November 6, 2011 - 5:35 PM
Thank you Thank you Thank you Thank you Thank you Thank you Thank you
By Pierre December 28, 2011 - 4:03 PM
For thos of you who have a screenplay in the Final Draft format, you can use a free Ruby program I wrote to convert it into both the epub and the mobi(Kindle) format: https://github.com/ebookineur/EbookUtils
Feel free to email me (pierre@ebookineur.com) if you have questions.
You can see sample here (blog in french but the scripts are in english):
http://www.ebookineur.com/ebook/2-scenarios-de-film-au-format-ebook-gratuits/
By Lee February 17, 2012 - 8:57 PM
For Canadians who can’t take a look at the Nurse Jackie script, how does the raw unconverted html file look? I’m guessing it looks similar to:
JOHN DOE
Hey.
…
Thanks!
By Lee February 17, 2012 - 11:36 PM
Drat, my HTML was stripped out.
Did it look similar to (I’ve replaced the “” with “(” and “)”:
(p class=”character”)JOHN DOE(/p)
(p class=”dialogue”)Hey.(/p)
…
Thanks.
By Jack R. Stanley August 4, 2012 - 10:20 PM
Because of the problems with screenplay formatting, I’ve created what I call “E-book Readable Screenplay” format. Everything is flush left, scene headers and shots are underlined and all caps, character names are all caps and flush left on a line by themeselves, while dialogue is flush left and in italics. I’ve used a single paragraph style which is single spaced and I’ve had to manually put in double spacing between scene headers and shots before action, after action or between paragraphs of action, and after dialogue. I’ve just published my screenplay in this form. Check out THE VAMPIRE ROSE by Jack R. Stanley. It’s only on Kindle but, hey, it’s just $0.99.
By Will P September 4, 2012 - 12:34 PM
You rock Chris Walters! Thanks for posting this. I thought converting a screenplay was going to be a complete nightmare and you made it easy…
By David Esp Video Technical Blog » Blog Archive » Authoring an eBook for Amazon Kindle January 29, 2013 - 6:44 AM
[...] wondered about CeltX. A web-search confirmed that it could be “persuaded” to act as basis for eBook authoring. But how good is [...]
By Lachie February 27, 2013 - 11:08 AM
A solution that worked for me for a word doc file that contained sections in screenplay format.
1) save as ‘Web page, filtered’
2) add book to Calibre (version 0.9.20)
3) converted to epub and mobi.
Both appear relatively well formatted. The only issue is that it is not quite centred as there is more of a left than right margin but this looks reasonable.