2024-02-14- Finding the most suitable tool for writing novels - novelWriter

Finding the Best Tool for Writing Novels - novelWriter#


I love writing novels. Occasionally, a spark of inspiration pops into my head and I start brainstorming it. So, why not write it down?

And so, I begin the search for the perfect tool.

Writing a novel requires a suitable tool.

Compared to the abundance of note-taking software, there is a scarcity of writing software. I have tried the highly recommended Scrivener, Effie, as well as the less popular Writeathon.

The most comfortable one to use is Scrivener, but the Chinese experience on the Windows platform is really poor. Also, as a non-professional writer, writing novels is just a hobby for me and I haven't made any income from it yet. Therefore, when choosing software, I prefer to choose free software whenever possible.

After various searches, I discovered novelWriter.

Introduction to novelWriter#

novelWriter is an open-source software with 1.6k stars on GitHub. It is built with Python's PyQt5 and is available for Windows, Mac, and Linux systems.

Here is the description on GitHub:

novelWriter is an open-source plain text editor designed for writing novels. It supports a minimal markdown-like syntax for formatting text. It is written with Python 3 (3.8+) and Qt 5 (5.10+) for cross-platform support.

novelWriter is a plain text editor without mind maps, card views, or the ability to insert images. However, it is sufficient for writing stories. Just as the name suggests, novelWriter is more suitable for writing stories or, in other words, it is only suitable for writing stories (novels and non-fiction stories).


Document Structure#

Under the root directory of novelWriter, you can create 9 types of documents: Novel, Archive, Plot, Character, Location, Timeline, Object, Entry, and Custom. Multiple novel directories can be created.

Documents can be divided into two categories: Novel Documents and Note Documents. Novel documents are used for writing the main novel, while note documents are used for building settings.

Novel documents can only be created under the novel directories, while note documents can be created under any directory that includes novel documents.

Folders can also be created under each root directory for organization and management.

Both types of documents can be converted into each other.


Novel Documents#

novelWriter uses the most basic Markdown syntax. Each novel document is built based on headings:

  • Level 1 headings are used for novel title pages or intermediate chapters.
  • Level 2 headings are used for novel chapters.
  • Level 3 headings are used for scenes.
  • Level 4 headings are used for different parts within scenes.

During the novel editing process, you can create a new document for each section or write the entire novel in one document and then split it based on headings.

Note Documents#

Note documents can be created under any type of directory for setting up the novel, taking notes, and outlining.


Text Formatting#

novelWriter uses simple Markdown syntax and simple Shortcode syntax:

  • Headings
    • Level 1 heading: #
    • Level 2 heading: ##
    • Level 3 heading: ###
    • Level 4 heading: ####
  • Bold
    • **bold text**
    • [b]bold text[/b]
  • Italics
    • _italicized text_
    • [i]italicized text[/i]
  • Strikethrough
    • ~~strikethrough~~
    • [s]strikethrough[/s]
  • Underline [u]underline[/u]
  • Superscript [sup]superscript[/sup]
  • Subscript [sub]subscript[/sub]

Alignment and Indentation#

In the document file, the default text is left-aligned or justified. You can specify the alignment of a specific paragraph using a set of '>>' or '<<' symbols, and indent a paragraph from both the left and right sides using '>' and '<' symbols.

This text is left-aligned.<<
>> This text is right-aligned.
>> This text is centered.<<
> This paragraph is indented from both the left and right sides. It is very useful when you want to quote a large block of text.<

Comments and Annotations#

Summary comments can be displayed in the table view.

  • Summary comment: %Synopsis:
  • Short comment: %Short:

Text Replacement#

During the novel editing process, use <text> as a placeholder. It can be replaced according to the replacement rules in the project settings when switching to the reading view, exporting, and previewing.


Novel Organization#


The project view is a view that constructs all the notes and novel documents of the novel.


The outline view displays the outline of the novel in the sidebar and only includes novel documents. It identifies multiple documents based on their heading levels.


In the project view and outline view, selecting a document will display its attribute information in the information bar at the bottom of the document tree.

The table view presents the novel outline and its tag attributes in a tabular form. The displayed attributes can be customized. Selecting a document will display its specific attributes at the bottom.


Tags and References#

Each document can use @tag:tag to add tags to the document.


Specific syntax can also be used to add reference attributes to documents:

  • Plot: @plot:
  • Characters:
    • Point of view character: @pov:
    • Focus character: @focus:
    • Minor character: @char:
  • Locations: @location:
  • Timeline: @time:
  • Objects: @object:
  • Entries: @entity:
  • Custom: @custom:

This syntax can be used in all pages (each heading in a novel document can be understood as a document) to add attributes, and suggestions will be provided based on the attribute type.

Note that the linked document needs to be defined using @tag:tag content.


During the novel editing process, hovering over the attribute link and clicking it will open the document in the sidebar for reference.


Status, Activity Status, Importance#

In the document tree, the names after each level represent Word Count, Activity Status, and Status/Importance.

There are two activity statuses: Active and Inactive, displayed as a checkmark (✔) and a cross (❌) respectively:


Novel documents can be set with statuses, which can be toggled and customized in the document tree or in the project settings.


Note documents can be set with importance, similar to the status setting for novel documents.




Once a novel is finished, it can be exported. You can customize document filtering, preview, and export in multiple formats.



Writing Statistics#


Current Issues#

Due to the characteristics of CJK languages such as Chinese characters, the word count rules are different from those of alphabetic languages like English. The word count for Chinese characters is based on the number of characters, not spaces. Therefore, in the word count, "Words" refers to the number of Chinese characters, and "Characters" is meaningful for Chinese characters. This issue has been discussed with the developer on GitHub, and improvements for CJK characters are also included in the plan.


The focus of writing a novel is always on the writing itself. Tools are just tools. This article is just a simple recommendation and introduction to novelWriter. It may not cover everything. Whether to choose it or not depends on whether it is comfortable for you. Don't let the tool restrict you. Focus on creating stories.

Ownership of this post data is guaranteed by blockchain and smart contracts to the creator alone.