The Best FREE Cross-Platform Software for Writing a Book

A few weeks ago I started writing a book on a whim. I spent about 90 minutes researching and experimenting with different solutions. As I knew all too well from my office job, word processing programs can be finicky and frustrating when it comes to layout and formatting. Google Docs in particular really bogs down with documents over a few dozen pages. On the other hand, many of the software specifically tailored towards book authors charged a subscription fee — if there’s one thing I hate, it’s recurring fees — or didn’t work on all of the platforms that I wanted to be able to write on. My requirements were:

  • Cross-platform between Windows, Linux, and Android so I can write on all of my devices
  • Free, or a reasonable one-time cost justified by value-added versus free alternatives
  • Flexible export options into a variety of formats including .epub, .docx, and .pdf
  • Ability to work offline

I’ve now written about 12,000 words, which is approximately 40 pages in a 6″ x 9″ book. For comparison, the longest article of all 43 on this blog to date is 3,650 words. I can’t understate the importance of just getting started with writing, rather than spending countless hours trying to research the absolute ideal setup. As they say, perfect is the enemy of good. Still, I did invest a small amount of time up front to ensure that I wasn’t incurring technical debt which would need a larger time investment to rectify later. Through my tinkering, I discovered what is perhaps the best cross-platform software setup for writing a book which has allowed me to add to to my book at my desktop PC, on my laptop on the couch, and even on my phone 36,000 feet in the air — all for free!

Obsidian is the ultimate free writing app

Obsidian has it all: it’s free, cross-platform to the maximum degree (Windows, macOS, Linux, Android, iOS), lightweight but powerful, and maximizes functionality while minimizing distractions.

The organization system uses a combination of folders which can nest indefinitely, and “notes” which is where you actually do your writing. I found it useful to create a parent folder for the book, containing sub-folders for major parts of the book, and then having one note file per chapter, starting with 01 and counting up to keep the sort order tidy.

Obsidian uses Markdown, a lightweight markup language that you can use to add formatting elements to plaintext text documents. The syntax is incredibly simple and designed to be human-readable. For example, adding a number sign before a line creates a heading (e.g. # Heading) and adding an asterisk on either side of a text string creates italics (e.g. *this would be italics*). It’s easy to learn and offers a number of benefits over word processing programs and proprietary file formats, such as being future-proof and maintaining incredibly small file sizes.

You can find a guide to basic Markdown syntax here. Probably the best approach is to spend only a few minutes learning the very basics that are present in most books at some point (paragraphs, italics, bold, headings) and then just start writing. Anything else can be figured out later if needed — you may never require anything beyond the most basic functions.

Make your own cloud sync service for free

Obsidian offers a cross-platform cloud synchronization service for $8 per month. But why pay for that when we can set up our own free alternative?

First, download the Google Drive application to whichever computer you will be doing most of your writing on. I then used the “open another vault” option in the left Obsidian sidebar to create a new vault in my Google Drive folder, simply called “Obsidian.” If all of your desired devices are PCs, then just download the Google Drive application on those as well and you’re all set to get working from your vault folder inside Google Drive.

My Android phone and Chromebook were a little bit more work. I found the AutoSync for Google Drive app which solved this. I created a new folder at [Internal Storage]/Documents/Obsidian on my phone. In the DriveSync app, I then created a folder pair with this new folder and the Obsidian folder in my Google Drive. Make sure the sync method is set to two-way.

The sync has always worked flawlessly for me with zero issues. Worst case, if something does go wrong your files will simply be moved to the trash folder on your Google Drive and you can restore them. Nothing will be lost forever unless it sits in the trash for 30 days.

Because I occasionally switch between devices very quickly and continue writing, I disabled the auto-sync option. I just manually go into the DriveSync app and “pull” the latest files from the cloud when I start writing on my Android or Chromebook. When I am finished with a writing session on that device, I simply do another manual sync to “push” the latest updates back out. Maybe I’m a dinosaur, but I’d rather take a few seconds to press that sync button than deal with merge conflicts.

Assembling Markdown into a book using Pandoc

This is where one advantage of Markdown being one of the world’s most popular markup languages comes into play, as there are a plethora of free and open-source tools to cleanly convert your .md files into whatever format your heart desires. For example, you cannot natively export from Microsoft Word to the popular .epub ebook format, and the third party conversion tools available seem to frequently run into formatting conflicts. With Markdown, you have a plethora of options.

Pandoc is a universal document converter which converts between dozens of different markup formats. Most importantly for our uses, you can input a Markdown (.md) file, and output an electronic publication (.epub) file for self-publishing, or a Word document (.docx) which is the format most publishers require for manuscripts. There’s a guide here on how to create an ebook from markdown files.

Don’t spend too much time dorking around with file conversion early on — just know it’s here, and that it will be easy enough to figure out later. Until and unless you have a completed book, you do not have anything to convert.

Final thoughts

Writing a book is completely free and more convenient now than at any point in human history, so there are almost no barriers to entry remaining. I’ve presented a free, cross-platform and very effective setup using Obsidian, Autosync for Google Drive, and Pandoc. I believe this is one of the best software stacks available for writing, but I can’t be certain because once I discovered this setup which met all of my requirements I simply hunkered down and began typing. I’d recommend you do the same — don’t get caught in the “research mode” trap where you spend so long looking for the perfect setup that you never actually get started on writing, which is the most important part.

I set a somewhat arbitrary goal for myself to be a published author before age 30, so I’ve got a little over a year to get my book drafted, edited, and published. At 12,000 words written with 5 chapters complete and another 16 in various stages of outlining, I’d estimate I’m about 20–25% of the way towards an initial manuscript.

The topic of my book is not related to personal finance, investing, or FIRE. That’s a very crowded field for books already, and I also want to make sure I don’t burn myself out such that I can continue writing here at least twice per month. I actually managed to find an interesting and unique niche topic to write about where there appears to be no direct competing titles, so to keep it that way I’m just going to hold the specifics under wraps.

I’ll be sure to share my book here when I’m done, for any readers of this blog who might happen to find it of interest and like my writing. I love finding the lowest cost method of doing things, and I’m challenging myself to DIY this whole process, including things such as cover design and publication. But much of that is farther down the line, and for now I need to just focus on writing. Back to the grind!

Questions? Additional thoughts? Leave a comment below!