If you have ever written a novel, you'll know it isn’t a straightforward task. It isn’t just about writing, rather you have to deal with a lot of related and even unrelated things. You need to organize your ideas and thoughts in the form of notes and outlines, you'll need a stable internet connection, and you need a comfortable and cozy working environment.
One important part of the novel writing process is novel writing software. A decent, reliable novel writing software will help you with a lot of things including smooth novel outline, note-taking, collaboration, distraction-free writing, novel section management, storage and backup, formatting, and more.
Gone are the days when the typewriter was the only tool that an author needed. Times have changed, and you need to change and upgrade yourself too.
Check out the following list of the best novel writing software in 2021 with reviews and pricing details and pick the one that’s right for you.
If the app you are looking to use Grammarly with has a web version (e.g. Www.slack.com), then you can try installing the Grammarly browser extension to see if it works there. Additionally, you can always copy your text to the online Grammarly Editor or Grammarly’s desktop app. Plus, the blocks in Notion limit the functionality of Grammarly. So these are my recommendations — use Evernote to store all your documents and digital data, including handwritten notes. Use Roam Research for taking notes and as a thinking tool — and export your.
- Browser extensions like Grammarly and After the Deadline automatically correct mistakes like contextual spelling errors, incorrect grammar, or poor vocabulary usage. For more complex proofreading, the Hemingway App identifies long, complex sentences, weak phrases, passive voice, and more.
- Grammarly’s digital writing assistant helps 30 million people write more clearly and effectively every day. In building a product that scales across multiple platforms and devices—including a web editor, native desktop apps, an iPad app, mobile keyboards, add-ins for Microsoft Office, and browser extensions—Grammarly works to empower.
Squibler is the world’s best writing platform that simplifies the writing process for novel writers. It is an easy-to-use writing app that comes with a simple yet effective text editor and word processor. It doesn’t just help you in writing, but it has ready-to-use templates and plot generator with over 500 story ideas for novel writers.
Squibler offers some of the best features and tools for novel writers:
- An easy-to-use and intuitive dashboard, text editor, and interface
- A drag-and-drop user interface for arranging and organizing chapters, sections, and notes
- First line generator tool for novel writers with more than 500 first line suggestions and ideas
- Story prompt generator and plot generator for novel writers of all genres
- A note-taking feature that helps you organize and manage your ideas
- More than 30 plot outlines for writers
- Distraction-free writing mode to write your novel with complete focus and attention
- An on-screen sidebar gives you quick access to all the essential elements and different novel sections
- Arrange different sections of your novel by dragging and dropping on the board
- Built-in grammar checking and editing tool to improve your novel and its readability in real-time
- Auto-save feature with version control that lets you access older versions of your novel
- Import feature that lets you import your novel from other another app
- Integrates and sync with Google Drive and Dropbox allowing you to save your work on the cloud
- Get your novel in publish-ready format for Kindle
- It works online and on Mac, Windows, iPad, and other devices. Your work is synced in real-time across all devices where you use Squibler.
Squibler only costs $9.99 per month. You can try it for 14 days and check all the amazing features. Click here to start your free 14 days trial now.
Squibler is a cost-effective all-in-one novel writing software that comes loaded with all the features that you want to see in a top book writing software.
AutoCrit is an editing tool for novel writers that help you improve readability without getting help from a professional editor or proofreader. It compares your manuscript with the best-seller novels and books in your genre and gives you recommendations on how to improve dialogue, word selection, repetition, etc.
The main features include:
- Easy-to-use word processor
- Up to 30 editing reports to improve your novel
- Built-in editing and grammar checking tool
- Specific guidance related to your genre
- Progress tracker and goal setting
- Online storage space
- Readability analysis
AutoCrit has a free forever plan that gives you access to limited features. The premium plan is priced at $30 per month (or $297/year).
AutoCrit helps you write better and improve readability. It isn’t a feature-rich novel writing tool and it only covers one area (editing and readability).
Scrivener is a decent novel writing software that simplifies writing and organizing your novel, its chapters, and your ideas. It works on both mobile and desktop making it easier for you to access your manuscript from multiple devices.
Here is an overview of the core Scrivener features:
- A word processor designed specifically for writers
- Distraction-free writing mode
- Corkboard for managing your ideas and novel elements
- Outliner tool and templates to choose from
- Set up writing goals and monitor progress
- Autosave feature
Scrivener for desktop is priced at $49 (either Mac or Windows) and the iOS app is priced at $19.99. There isn’t any online version available.
Scrivener is a nice novel writing software, but it doesn’t work on Android devices and doesn’t have any online version. You'll have to keep your device with you all the time.
Ulysses is a writing app for Mac, iPad, and iPhone for novel writers. If you are a proud Apple user and need a novel writing app that works on all Apple devices, Ulysses is the writing software for you. It has a lot of handy features that help you write better novels.
Here is what this novel writing software offers you with:
- Clean and simple user-interface
- Distraction-free writing mode
- Set and track writing goals
- Autosave and backup feature
- Supports multiple file formats
- Sync your data in real-time
- Create and manage your library with a single tap or click
- Organize your novel with a group feature
- Integrates with Dropbox and iCloud.
Ulysses is priced at $5.99 per month or $49.99 per year. It offers a free trial letting you explore it before you decide to pay.
Ulysses is a novel writing software for Apple devices with no online version. The features are good but lack some of the much-needed ones like corkboard and collaboration.
ProWritingAid is a grammar, style, and readability checking software that helps you edit the content of your novel and make it reader-friendly. It improves your writing to a great extent with its amazing and helpful features.
Here is what ProWritingAid offers you:
- Simple user-interface with powerful features
- Over 20 detailed writing reports for improvement
- Auto-suggestion feature that highlights grammar and style issues as you write
- Find and fix style issues automatically with a single click
- Use the most appropriate words by selecting the best synonym from the list
- It integrates with several leading tools and apps e.g. Microsoft Word, Medium, Gmail, and others
- It has a browser extension, Microsoft Word add-on, desktop app, and an online version.
ProWritingAid has flexible pricing. You can pay monthly ($20 per month) or a one-time payment of $224.25. You get 25% off if you switch to yearly payment ($59.25 per year).
ProWritingAid is a handy cross-device novel writing tool that lets you write better and quickly hassle-free. You can improve your writing style, grammar, and readability with ProWritingAid. However, the interface is a bit slow and there is no library of documents either.
Grammarly works like ProWritingAid by improving your writing. It fixes grammatical, style, tone, pronunciation, and readability errors in your manuscript. Grammarly has a writing assistant that automatically finds errors as you type and suggests how to fix them.
The leading Grammarly features include:
- AI-powered writing tool
- It detects a lot of grammatical and non-grammatical writing errors
- Write directly in Grammarly interface or copy text from the word processor
- Simple and easy-to-use interface
- It has a tone detector that helps you set the right tone for your novel
- It checks your manuscript for clarity, engagement, correctness, and delivery
- Built-in plagiarism detector
- A library of your documents to help you manage your novel chapters and sections
- Integrates with leading tools like Google Docs, Microsoft Word, Facebook, Slack, Outlook, Gmail, and more
- It has browser extensions, web version, desktop software, and mobile apps for both iOS and Android.
Grammarly has a free for life plan with basic features. As a novel writer, you'll have to switch to the premium plan that costs $11.66 per month and has all the necessary features you need.
Grammarly is a powerful novel editing and writing software that offers you a lot of features that help you improve your writing. Its tone detector is a very helpful feature.
yWriter is a word processor designed and developed by Simon Haynes who is a full-time novelist. He developed this novel writing software to help the novelist break their novel into sections and chapters, and to make it easier for them to organize and manage their novel.
Here is what yWriter has to offer you with:
- A simple user-interface that doesn’t need any training
- Organize your novel and work on multiple novels simultaneously
- Add scenes, chapters, items, characters, etc. in your novel and organize them easily
- Progress tracker with the word count for each file in your project
- Storyboard view of your work
- Drag-and-drop chapters, scenes, and characters for arrangement and re-ordering
- Autosave and automatic backup
- Autonumbering of the chapters
- It has desktop software for Mac, Windows, and Linux and mobile app for iOS and Android
- Automatic software updates.
yWriter is free to use. However, registering your account donates $11.95 or $24.95 to the developer. It isn’t compulsory though.
yWriter offers you multiple features to organize and manage your novel, sections, scenes, and chapters. The features are, however, basic and don’t offer something out of the box.
8. Hemingway Editor
Hemingway Editor is editing software that anyone can use. It is a desktop software for both Windows and Mac and it also has a free online version. You can use it to improve the readability of your novel.
Hemingway Editor Features
Here is an overview of what Hemingway Editor offers you:
- Extremely easy-to-use text editor
- Highlights errors in different colors for easy identification
- It identifies adverbs issues in the text and suggests how to fix them
- Highlights passive voice
- Highlights sentences that are hard to read and very hard to read
- It also suggests simple synonyms to complex words to improve readability
- Gives a readability score to your novel
- You can format the text easily with its editor
Hemingway Editor Pricing
The online app is free to use. However, the desktop software is priced at $19.99. It is available for Windows and Mac and you have to buy separate licenses.
Hemingway Editor is a nice novel writing software that will fix most of the major readability-related issues. However, you won’t be able to write your novel in its editor. You'll have to copy-paste chunks of text in the editor, fix them, and then move them back to your original word processor (e.g. Google Docs or Microsoft Word).
Evernote is an all-purpose note-taking app. It isn’t a tool specifically for novel writers but since it is such a useful tool, you can use it as your novel writing software. If you work in a team or working with multiple authors on one or more novels, Evernote will turn out to be the best app.
The leading Evernote features are:
- An easy-to-use tool for notetaking
- Take notes and share them with anyone you like
- Organize websites, URLs, articles, files, PDFs, etc. in your Evernote account
- Support for voice search
- Create a to-do list to keep track of daily writing tasks
- Organize and manage your notes easily
- Comes with ready-to-use templates
- It has a web version, desktop app, mobile app, and browser extension
- Integrates with leading tools and apps e.g. Gmail, Outlook, Slack, Google Drive, and more.
It has a free plan that comes with the basic note-taking feature. You can switch to the premium plan ($7.99 per month) to unlock more features.
Evernote is a handy note-taking app that will help you keep your ideas organized. You can manage and organize different sections of your novel with Evernote too.
Choose the Best Novel Writing Software
Tools and software are essential for novel writing. They simplify the writing process, automate repetitive tasks, improve readability, help in editing, and boost your productivity. The software discussed above might have overlapping features, but they help you achieve different things.
Dealing with multiple software turns out to be a separate problem so you have to carefully handpick the one that’s the best and meets your requirements. I’d recommend Squibler as it is an all-in-one novel writing software that’s specifically developed for writers. It doesn’t just focus on one aspect of the writing process (notetaking, outlining, editing, etc.) rather it covers everything. It is an end-to-end novel writing solution. Give it a try and see how it works for you.
I’m a seasoned writer specializing in business reviews. I’ve had my articles published on leading blogs including TheNextWeb, Yahoo News, Jeff Bullas, Business2Community, and more.
All things Evernote search
The Cloud API exposes powerful search functionality that allows you to search for notes within a user's account. This page documents the full search grammar. To learn how to use the search functionality, see the searching notes chapter.
Evernote translates all note searching and filtering into a simple, text-based string representation. This internal search format is used for SavedSearch queries, and it may also be used directly by power users. This same search syntax is implemented on the Evernote service and all clients, which means that the same search should produce the same results on all systems.
Evernote's search grammar is a simple list of terms which are evaluated within a notebook (or 'all notebooks') to find a match. By default, the search results are the intersection of the notes that match each individual search term. This behavior changes if the 'any:' modifier is found in the search. In this case, the search is executed as a union of the matches of the individual terms, and notes will be returned that match any of the criteria terms. The results are obviously identical if there is only one search term.
String matches are case insensitive, and multiple spaces will compare as if they were a single space.
The search grammar includes a set of advanced search expressions in the form of 'modifier:argument'. A note will match this expression if the appropriate condition is met. The matching terms vary by the type of the modifier, so that a date may be compared differently than a string.
Any matching term may also be negated by adding a '-' character to the beginning. This means that the term will only match a note if the conditional is NOT true. Each term in the search may be one of the following:
This section documents the way that the search grammar will interpret search terms within the search expression.
notebook:[nb name] - will match notes in a notebook with the provided name. Name matching is case-insensitive. Since notebooks have exclusive relationships with notes, at most one notebook can be provided for the search. If no notebook is given, the search will go over all of the user's active notes. The notebook is not included in the 'union' created by the 'any:' operator. E.g.:
- notebook:'Bob's first notebook'
- Matches all notes in this notebook
- notebook:'Hot Stuff' any: mexican italian
- Matches all notes in the 'Hot Stuff' notebook that have the word 'mexican' or the word 'italian' in them.
any: - If this expression is found at the beginning of the search (after the 'notebook', if present), then the search will return a note that matches any of the other search terms. If this is not found, then the default behavior will be used: a note must match all of the search terms. This expression cannot be negated.
Matching literal terms
If no advanced search modifier is found in a search term, it will be matched against the note as a text content search. Words or quoted phrases must exactly match a word or phrase in the note contents, note title, tag name, or recognition index. Words in the content of the note are split by whitespace or punctuation. Words may end in a wildcard to match the start of a word. Searches are not case sensitive. (A wildcard is only permitted at the end of the term, not at the beginning or middle for scalability reasons on the service.) Multiple whitespace and/or punctuation characters in the quoted phrase or the note will be compared as if they were a single space. The backslash escape character (') may be used to escape a quotation mark within a quoted phrase. E.g.:
- matches: 'Sweet Potato Pie'
- does not match: 'Mash four potatoes together'
- matches: 'Evernote Corporation'
- does not match: 'forevernote'
- 'San Francisco'
- matches: 'The hills of San Francisco'
- does not match: 'San Andreas fault near Francisco winery'
- matches: 'Mash four potatoes together'
- does not match: 'Sweet Potato Pie'
- matches: 'green eggs&ham.'
- 'eggs ham'
- matches: 'green eggs&ham.'
Punctuation is used to split the input query and document into words, but it is ignored for text matching. The behavior of a quoted search should behave as if the following operations were performed on both the search query and the target note:
- All XML markup is removed from the document, leaving only the visible text as a string
- The string is converted to a list of words which are separated by one or more whitespace and/or punctuation characters.
- The case of each word in the list is normalized
- The list of words in the query must match with the same sequence of words in the converted Note
For example, if a user searches for the phrase 'Spatula! City! For Bargains...' against this ENML document:
The algorithm should convert the search phrase into a normalized list of words:
[ 'spatula', 'city', 'for', 'bargains' ]
And the document into:
[ 'come', 'down', 'to', 'spatula', 'city', 'for', 'bargains', 'on', 'spatulas' ]
The search should match, since words from the target phrase are found in the list of words extracted from the document. (The same result could be implemented without literally converting each note into a list of words, but this gives the intended behavior that we see from major search engines like Google and MS.)
Matching Core Note Properties
tag:[tag name] - will match notes that have a tag with the literal name (word or quoted phrase). This requires an full case-insensitive match on the tag name. The tag name may end with a wildcard to match the beginning of a tag. The pattern will match from the beginning of the full tag name, and punctuation will be included. I.e. the tag and the search string are not tokenized by whitespace and/or punctuation. This can be used multiple times to specify all tags that must match the notes. E.g.:
- Matches any note with the 'cooking' tag
- Matches any note with a tag that starts with 'cook'
- Matches any note that does not have a tag that starts with 'cook'
- Matches any note that has at least one tag
- Matches any note that has no tags
intitle:[literal] - will match notes with a title that contains the literal word or quoted phrase. Can be used more than once. E.g.:
- intitle:'tale of two'
- Matches notes that do not have the word 'beef' in their title.
created:[datetime] - will match any note that has a 'created' timestamp that is equal to, or more recent than, the provided datetime. (See Section C.2 for details on the legal format of the datetime argument.) E.g.:
- Matches notes that were created on or after July 4th, 2007, based on the client's timezone.
- Matches notes that were created on or after 9:00am on July 4th, 2007, based on the client's timezone.
- Matches notes that were created on or after 3:00pm GMT on July 4th, 2007.
- Matches notes that were created before July 4th, 2007, based on the client's timezone.
- Matches notes that were created yesterday or today
- Matches notes that were created before today
- created:day-1 -created:day
- Matches notes that were created yesterday (only)
- Matches notes that were created within the last 30 days (or today)
- Matches notes that were created in this calendar week (Sunday-Saturday)
- Matches notes that were created before this month
- Matches notes that were created last year or this year
updated:[datetime] - will match any note that has a 'updated' timestamp that is equal to, or more recent than, the provided datetime. (See Section C.2 for details on the legal format of the datetime argument.)
resource:[MIME type string] - will match notes that have a resource with a MIME type that matches the argument. E.g.:
- Matches notes with at least one image/gif resource
- Matches notes with at least one audio resource
- Matches notes with no images
- Matches notes with one or more ink resources
The search expression may also contain a matching term for any attribute that is defined in the data model. These are defined in the NoteAttributes and ResourceAttributes structures in Types.thrift. This will match against the Note attribute, if NoteAttributes contains an attribute with that name, or else it will try to match against the Resource attribute if if one exists with that name. The match is performed based on the type of the attribute.
String attributes will be compared using the standard string matching as above (case insensitive, normalized spacing, optional wildcard at the end of the argument).
Datetime attributes will be matched in the same manner as 'created' and 'updated', above.
Boolean attributes will be matched based on the argument of 'true' or 'false'. A boolean attribute will match the wildcard ('*') argument if it has any value set for that attribute.
Double expressions will match notes where the attribute that is greater than or equal to the argument (see 'latitude' for examples). Double comparisons are numeric, not lexical, so an argument of '99.9' is less than an argument of '100'. A double attribute will match the wildcard ('*') argument if it has any value set for that attribute.
subjectDate:[datetime] - matches notes with a subjectDate attribute that is equal to or later than the argument datetime.
latitude:[double] - matches notes with a latitude that is greater than or equal to the argument. E.g.:
- latitude:37 -latitude:38
- Matches notes with a latitude that is greater than or equal to 37, but do not have a latitude greater than or equal to 38. (I.e. 37 <= latitude < 38)
longitude:[double] - matches notes with a longitude that is greater than or equal to the argument.
altitude:[double] - matches notes with an altitude that is greater than or equal to the argument.
author:[string] - will match notes that have an 'author' attribute set with a name that matches the argument string. E.g.:
- author:'robert parker'
- Matches notes that have no 'author' attribute set
source:[string] - matches notes that came from an application or data source that matches the argument string. Not all notes will have a 'source' attribute. Standard source attributes queries include:
- Matches notes that were clipped from a web page using an Evernote Web Clipper
- Matches notes that were clipped from a local mail client
- Matches notes that were delivered to the service via the email gateway.
- Matches notes that were created on an iOS client of some form.
- Matches notes that were created on an Android client of some form.
- Matches notes that were created on a mobile client of some form.
sourceApplication:[string] - matches notes that have a source application string that matches the argument. This string is not guaranteed to be structured. Standard sourceApplication attribute queries include:
- Matches notes that were created by Evernote Food
- Matches notes that were created by Evernote Hello
- Matches notes that were created by Evernote Skitch
contentClass:[string] - matches notes that have a contentClass string that matches the argument. E.g.:
- Matches notes created using Evernote Food
- Matches notes created by Evernote Hello
placeName:[string] - matches notes that have a placeName string that matches the argument. E.g.:
- Matches notes with the placeName attribute set to “home”
applicationData:[string] - matches notes that have an entry in the applicationData map with a key that matches the argument. This can allow an application to find all of the notes that it has added application-specific metadata. E.g.:
- Matches notes with a “myapp” entry in the applicationData map
- Matches notes that have at least one entry in the applicationData map
reminderOrder:[integer] - matches notes that have been marked as a reminder. The actual integer attribute value is used to order reminders relative to one another and is generally not useful in search. E.g.:
- Matches all notes that have been marked as a reminder
reminderTime:[datetime] - matches notes with a reminderTime attribute that is equal to or later than the argument datetime. reminderTime is the time at which the user has requested a reminder about the note. E.g.:
- Matches all notes with a reminder set for today or later
- reminderTime:day -reminderTime:day+7
- Matches all notes with a reminder set for the next 7 days
reminderDoneTime:[datetime] - matches notes with a reminderDoneTime attribute that is equal to or later than the argument datetime. reminderDoneTime is the time at which the user dismissed the reminder. E.g.:
- Matches all notes with a reminder done time of today
- Matches all notes with a reminder done time in the past week
Advanced Content Matching
The following search terms are expressed as attributes, but these do not correspond to literal attributes in the NoteAttributes data model. Instead, these perform advanced matching against the content of the notes. These do not match standard words in the notes, but rather match special elements embedded within the ENML document.
todo:[true false *] - if the argument is 'true', this will match notes that have ToDo checkboxes that are currently checked. If the argument is 'false', this will match notes that have ToDo checkboxes that are not currently checked. If the argument is '*', this will match notes that have a ToDo checkbox of any type.
- -todo:false todo:true
- Matches notes that have completed ToDo items, but no uncompleted items.
encryption: - matches notes that have an encrypted region within them.
Various expressions (such as 'created:...') take an argument that is interpreted as a date or a date and time. This date is translated into a universal time value for comparison against the timestamps on the notes. The search grammar includes datetime expressions using either an absolute specification (including year, month, day...) or an expression that is relative to the current day/week/month/year. The former is required to support searches in a specific date range, but the latter is particularly useful for saved searches which may return notes that are (e.g.) no more than 7 days old.
Absolute Date/Time Arguments
Absolute datetimes are specified using a compact profile of ISO 8601 ( http://en.wikipedia.org/wiki/ISO_8601 ). An absolute datetime must fit one of the following three forms:
yyyyMMdd - Used to specify a date with no time component. Equivalent to 'yyyyMMddT000000' for the same values. The date is converted to a universal time based on the client's desired timezone before comparing against the internal universal timestamps on the notes. E.g. '20071031' evaluates to 12:00am on 31 October 2007 in the client's timezone.
yyyyMMdd'T'HHmmss - Used to specify a date with a time component. The date and time are converted to a universal time based on the client's desired timezone before comparing against the universal timestamps on the notes. E.g. '20071031T093000' evaluates to 9:30am on 31 October 2007 in the client's timezone.
yyyyMMdd'T'HHmmss'Z' - Used to specify a date and time in absolute UTC (aka 'GMT' or 'Zulu') time. This time can be compared against notes as a universal time, which will produce the same results regardless of the client's current timezone preferences. E.g. '20071031T153000Z' evaluates 3:30pm UTC on 31 October 2007.
Relative Date Arguments
Relative date arguments are evaluated based on the client's notion of the beginning of the current 'day', 'week', 'month', or 'year'. They may include an integer delta to indicate a previous day/week/month/year instead of the current one. If no delta is provided, the argument evaluates the the beginning of the current day/week/month/year. The following examples show how each expression would be evaluated by a client with a local date and time of: Wednesday, 31 October 2007, 13:30:56
- day - would evaluate to: Wednesday, 31 October 2007, 00:00:00
- day-1 - would evaluate to: Tuesday, 30 October 2007, 00:00:00
- day-14 - would evaluate to: Wednesday, 17 October 2007, 00:00:00
- week - would evaluate to: Sunday, 28 October 2007, 00:00:00
- week-2 - would evaluate to: Sunday, 14 October 2007, 00:00:00
- month - would evaluate to: Monday, 1 October 2007, 00:00:00
- month-1 - would evaluate to: Monday, 1 September 2007, 00:00:00
- year - would evaluate to: Monday, 1 January 2007, 00:00:00
- year-1 - would evaluate to: Sunday, 1 January 2006, 00:00:00
Find notes containing the word 'chicken', tagged with 'cooking', and created this year:
chicken tag:cooking created:year
Find notes tagged with 'cooking' but not 'mexican' that include the word 'beef' but not the word 'carrots'
tag:cooking -tag:mexican beef -carrots
Find notes in my 'Travel' notebook with San Francisco in the title:
notebook:Travel intitle:'San Francisco'
Grammarly Evernote Integration
Find notes that either include the text 'San Francisco' or are tagged with the 'SFO' tag:
any: 'San Francisco' tag:SFO
Find image notes from the Sunnyvale region:
resource:image/* latitude:37 -latitude:38 longitude:-123 -longitude:-122
Find untagged audio notes that I edited in the last week or two:
Grammarly And Evernote
-tag:* resource:audio/* updated:week-1
Formal Search Grammar
The following grammar is expressed using EBNF notation. This grammar assumes that recursive-descent parsing will be 'greedy' to handle any ambiguity. The output of parsing this grammar is a set of terms and operators; separators are ignored. The parsing results of search expressions which do not match this grammar are undefined.