Introduction
I've been reading books on the computer for many years, but it wasn't until I started writing fiction again that I became seriously interested in the field of e-books. As it turns out, information about them is spread across various websites, and it takes a while to form a good image.
This is a guide to e-books from a personal perspective, that aims to collect a bunch of basics in one place. I tried to keep the language simple while not shying away from technical terms. Feedback is welcome, can't promise to update much though.
What are e-books?
From Wikipedia, the free encyclopedia:
An electronic book (variously, e-book, ebook, digital book, or even e-edition) is a book-length publication in digital form, consisting of text, images, or both, and produced on, published through, and readable on computers or other electronic devices.
Why e-books?
I love printed books. I grew up with them, and I hope they never go away. It's a pleasure to hold them, they can be works of art and they make great presents. But e-books have a lot going for them as well:
- E-books can be searched; if you ever spent long minutes browsing a paper book looking for a particular place only to be frustrated, you know what I mean.
- E-books only take up as much physical space as the storage device. My old Palm would fit in a pocket, yet with the 256M memory card it could probably hold 700-800 e-books.
- E-books can be organized easily. Libraries spend a lot of time sorting and cataloging books, while on the computer they can essentially sort themselves.
- E-books are trivially shared. It costs nothing to copy an e-book and send it across the planet, which is great when you're trying to keep a really old book available after it's no longer commercially viable.
- Contrary to the definition in the previous section, e-books are free from the constraints of the printed book, and can be as short or long as they need to be.
E-book formats
TXT
Plain text is the most basic file type one may use for e-books. People used to office suites may balk at the lack of formatting options, but in fact you need very little of that. Plain text files are compact (since they have zero overhead), compress well and can be read nearly everywhere; I had a bunch of books on my old MP3 player for example. In the way of downsides, it's hard to navigate within a large text file (except by searching for known keywords) and sometimes they can be a little too plain.
Plain text can be read on just about any device, often with preloaded apps.
HTML
Being the language of web pages, HTML is uniquely well positioned to be used for e-books. On the plus side, it's ubiquitous, allows for rich formatting, and adapts to various screen sizes and capabilities more easily than plain text. On the minus side, handling it uses up ample hardware resources. My Nokia E5 used to choke trying to render an entire novel in the browser. But even cheaper feature phones can read HTML to a degree.
There are several competing standards for metadata in HTML, but luckily they can coexist just fine.
Designed in the early 1990s as an interchange format, PDF was later made an industry standard for documents meant to be printed. That makes PDF files great for preserving the exact visual appearance of a book, but they're also large, and unsuitable for small screens (unless special care is taken) since they don't reflow.
PDF files can be read on any laptop or desktop computer; smartphones and the like can open them as well, but that's only good for previewing.
ePub
Now we get into formats specifically designed for e-books. The most widespread of those is ePub, an open format that bundles web pages along with images and fonts into a zip archive. On the minus side, it suffers from design-by-committee, being unnecessarily complex (I would have made it more akin to CBZ). As an advantage, ePub is very compact and allows for rich metadata, which greatly facilitates cataloging work. It can also do well on devices with limited memory.
You can read ePub on Java-enabled feature phones with Albite Reader, or on PCs using SumatraPDF on Windows and Foliate on Linux. On Android we're spoiled for choice; I use Chaka Book Reader as of 2026.
PDB
Since I mentioned my Palm, you'll notice every single file made for the good old machines has the .pdb extension. That's actually a container format, much like AVI is for movies. The contents can be Aportis Doc (a.k.a. PalmDoc), eReader (nowadays owned by B&N), Plucker or zTxt, to list just the most common e-book formats for the platform. Some of these formats can be read on modern devices, but there is little point.
FB2
Coming from Russia, where e-books have been very popular long before the rest of the world had heard about them, FictionBook (a.k.a. FB2) is a custom format for representing literature. It's between TXT and HTML in size and it encodes an entire book, including images, in a single XML-based file. That makes it very easy to parse, but abusing the ability to embed images can make a FB2 file swell up quickly, and since it has to be parsed all at once, devices with plentiful memory are required to handle it.
On Linux, Okular can read FB2 files. Try CoolReader on Android, though others should work.
Making your own
Sooner or later you'll want to make your own e-books, either from scratch or by assembling 3rd-party materials (imagine an anthology of public domain short stories). This is incredibly valuable, because it means anyone can be a publisher and printing press, contributing to the world's culture without having to ask the rich and powerful for permission.
In practice, you have three formats to worry about:
- HTML
- This is the format of web pages; it allows you to put e-books online, and is an intermediary step for creating other formats.
- This is the one most people know about; it's good for reading on a big screen (desktop or laptop) and for taking e-books to a print shop.
- ePub
- This one is what you want for reading on a mobile device such as a smartphone or tablet.
As of 2026, my (rather technical) process is:
- write plain text sources in ReStructuredText or Markdown format;
- convert to HTML with the corresponding tool (command-line, sorry);
- copy-paste from Firefox to a new LibreOffice document;
- adjust styles as needed (use styles!) add a table of contents and whatnot;
- export to PDF with default settings.
That gives you a nice printable document (double-check the paper size). Unfortunately LibreOffice does ePub very poorly, so you need to go a different way:
- if you have the hard drive space to spare, install Sigil; it's the ePub editor to consider;
- otherwise if you have some technical skills, the Sphinx documentation generator makes high-quality ePub files with (almost) default settings from ReStructuredText;
- an untested solution is Little Webby Press, that uses Markdown as input.
Last but not least, a couple of other ways to get HTML and LibreOffice documents is via export from Org Mode or WordGrinder. Org Mode in particular outputs gorgeous stand-alone documents; they just don't look much like a "proper" e-book. Oh well, I was beginning to question the need anyway.
Appendix: Lightweight markup formats
People used to writing directly in Google Docs or whatever might wonder what a markup format is and why bother. After all, if you want to emphasize the last word, you can simply select it and press Ctrl-I. But I say that breaks your flow and is usually overkill (word processors tend to be heavy).
Markup is a way to insert meaning into a plain text file by way of adding certain symbols as you type. Like this:
The art of plain text ===================== Lightweight markup formats are a *great* idea! Examples: - Markdown - ReStructuredText - Org files
They're called "lightweight" because they're crystal-clear and blend into the text. (By way of contrast, HTML is often so noisy as to drown out what you're trying to say.) That, and you can view or edit them with any old text editor, such as Geany.
The downside for non-technical people is that markup formats are generally processed with command-line tools, though some word processors can import and/or export them.