top of page

My Favorite (Free!) Macros for Fiction Editing

Using macros can increase efficiency and reduce repetitive stress injuries, so, editors, it's definitely worth learning how to install and use them.

What is a macro?

For those of you who aren't familiar with macros, they're lines of VBA code (Visual Basic for Applications is Microsoft Word's internal programming language) that program Word to do a particular task.

If you're put off by the idea of coding, don't be; the editing community is full of generous people who've written macros and made them available to others. And you don't have to know how to record macros or write VBA code to use them. (All of the macros I currently use were created by Paul Beverley, who not only shares his macros for free but also has tutorials on his website and YouTube videos on how to use the more complex ones.)

And once you've installed macros, you can assign keyboard shortcuts to run them quickly and easily whenever needed. (Simple instructions here.)

Installing macros isn't as hard as it may first appear, but the very first time you install one it's slightly more complicated. Paul Beverly has great resources (including tutorials and YouTube videos) on his website to help you get started.

Preflight: Global changes and document analysis

The following macros are primarily used in the preflight stage of editing, allowing you to quickly perform routine formatting and cleanup tasks and get a sense of what kind of shape the manuscript is in before you begin your first pass.


One of the most powerful and versatile free macros for fiction copyediting is Paul Beverley's FRedit. The capital FR stands for "Find and Replace," and this macro enables users to run multiple F&Rs simultaneously. And since Paul provides prewritten scripts for common editing tasks, you don't even have to be an expert at Find and Replace to harness its power.

Below is a list of things I use FRedit for when fiction editing.

1. Initial cleanup

My favorite use for FRedit is pre-editing document cleanup. I created a Word document with a list of all the FRedit scripts I commonly use for this purpose, and I simply open this document alongside the manuscript I'm preparing to edit and run FRedit.

(I do this before turning on Track Changes—noting on my style sheet that these routine, non-subjective changes were made silently—but you can also run FRedit with Track Changes on. You just need to strike through any scripts that you don't want tracked. And through any wildcard changes, since they can do wonky things with TC on.)

For clients that I work with regularly, I have specific FRedit lists that are tailored to their style guide. For example, one client never wants bold formatting of any kind in their manuscripts and also sends me documents with pictures that need to be removed. So I have added a script that removes bold formatting and a script that deletes graphics to this client's FRedit cleanup list.

Examples of cleanup tasks FRedit can do:

  • get rid of rogue spaces at the beginning and end of paragraphs

  • change double spaces to single spaces

  • replace three periods with the ellipsis character

  • change straight quotes to curly

  • change double hyphens to em dashes

  • change spaced en dashes to em dashes

  • change hyphens to en dashes in number ranges

  • change manual line breaks to hard returns

  • delete tabs on line ends

  • delete extra paragraph returns

And since global changes can be a bit scary, you have the ability to highlight, underline, or change the color of whatever FRedit changes. That way, as you work through the document, you'll be certain to notice if anything wonky happened (such as defiance becoming defiancé).

2. Style guide word lists

If you work with a client regularly, you can make a FRedit list that will change or flag words that are specific to their house style. For example, they may deviate from Merriam Webster spelling and prefer "oversized" to "oversize." FRedit can make these spelling changes globally, but it can also just highlight words that may need consideration. (For example, words that might need to be capitalized in some instances but not in others). I color code my highlighting so I can see at a glance whether a word has been changed outright or has just been flagged for consideration.

The time saved by not having to check the client's style guide before looking up a word in MW can offset the time spent making the list.

3. Change UK spelling to US, and vice versa

Yes, spell check catches many of these, but far from all. And in the interest of not cluttering up the document with unnecessary tracked changes—and not having to turn off tracking every time I come across word in UK English—I have a list for this. Always highlight your list, so you'll know if a word has been changed, since global changes can produce unexpected results. This will help you spot the occasional mess-up, like "flaxen" becoming "flaxn" because the British "axe" was changed to the US "ax."

4. Catch tense slip-ups

One nifty way FRedit helps me out is with present tense manuscripts where the author frequently slips into the past tense. I have a FRedit list with common past tense words and wildcard searches for words with common past tense endings (-ed, -eed, -rnt, -elt). It can't catch them all, but it highlights many past tense verbs that could be easy to overlook when editing. (The FRedit wildcard script for words that end in -ed: ~[a-zA-Z]@[!e]ed>|^&.)

5. Run preflight macros

If there are other macros that you like to run as part of your pre-flight process, you can add a command to your FRedit list that will run these macros as part of the clean-up process (DoMacro|type name of macro here).

I like to run ParagraphEndChecker and LanguageSetUS on every manuscript, so adding these to my FRedit cleanup list saves me a couple of steps.


This macro analyzes the manuscript before editing, listing all capitalized words in a separate document, then grouping similar words together that might be variant spellings of the same proper noun. This not only helps you to catch that Rachel becomes Rachael part way through the manuscript and Brian was mistyped as Brain a few times, it also allows you to start populating your character list and your proper noun list on your style sheet, making it less likely you'll forget to add one when you're deep into language editing.


It's so easy to overlook missing periods at the end of a paragraph when you're focusing on story, language, and flow. This macro highlights anything that looks suspicious, so you're more likely to notice such a tiny detail.


Like ParagraphEndChecker, this macro highlights places where the punctuation may be missing, only inside quotation marks.


This macro underlines any paragraphs that may have quotation mark errors in them. It catches open quotes that don't have a a matching closing quote, two single quote marks used instead of a double quote mark, and other weird replacements for double quotes. I used to use this at the end of an edit, but since you need to remove the underlining, I think it's better to run at the beginning. But I was always amazed at the things it caught that I missed.

There's also a MatchSingleQuotes for those using other punctuation conventions.

Mid-edit: Selective changes and speed editing

These macros eliminate tedious keystrokes, allowing you to make almost effortless changes as you edit line by line and reducing the risk of repetitive stress injuries.


While FRedit is a powerful tool for global changes, MultiSwitch is its equivalent for selective changes. And like FRedit, MultiSwitch uses a list document that you open alongside the manuscript you're editing.

There are two primary uses for MultiSwitch:

1. Quick substitutions

With one keyboard shortcut, you can change words to contractions, convert numerals and symbols to words (and vice versa), and change the spelling of common confusables. If you have an author who tense switches (or—yikes!—you have to change the tense of an entire manuscript), you can use the same keyboard shortcut to switch "say" to "said" and "can" and "will" to "could" and "would."

So how can one keyboard shortcut do all that?

You create a document called "zzswitchlist" and list the words you often have to change and what you want to change them into. Then, when you place your cursor before the word you want to change and hit your keyboard shortcut, the macro runs down the list until it finds the word your cursor is in, then changes that word to the next one on the list. Like so:

I will


, which





So if you come across this line of dialogue—"I turned 23 last week"—you just place your cursor before "23" and hit your assigned keyboard command and voila!: "I turned twenty-three last week." It would have taken fourteen keystrokes to make this change without MultiSwitch. And my keyboard shortcut uses two (Ctrl + /).

2. Text expansion

Used as a free version of a text expander plug-in, MultiSwitch can replace a few keystrokes of your choosing with a common used phrase or comment.

Placeholder. Just an example of what's needed here. Please rewrite as needed.

Edited for repetition.

Paul Beverley, the creator of the MultiSwitch macro, provides a pre-made list (called zzSwitchList, the name the macro recognizes), and though it's geared more for non-fiction, it has an extensive list of spelled-out numbers and ordinals, something that would be extremely time-consuming to prepare yourself. I share my own modified version of the list below. It focuses on contractions, confusables, and spelling out numbers, and though it still contains a lot of stuff I don't use, I've been streamlining it and adding things to it specifically for fiction.

Download DOCX • 64KB

As you work, when you find yourself repeating a particular change, you can just add it to your zzSwitchList. You can also prune out those things you don't use (though I haven't done as much of this as I probably should and haven't noticed the macro getting sluggish).


Ever turn off Track Changes and then forget to turn it back on? Yeah…me too. Having to undo a bunch of changes and then redo them with TC on makes for a grumpy editor. Paul Beverley has a bunch of different versions of this macro, but I use the Mac version, TrackOnOffVisibleMac. When Track Changes is off, the screen is yellow. When I turn TC back on (with a simple keyboard shortcut that I assigned to the macro—for directions how to do this, go here for Mac and here for PC), the color goes away. This also saves you having to mouse up to the TC icon or down to the status bar to turn TC on and off.

VerbChanger and ParticipleChanger

This pair of macros really helps when editing a manuscript where the author overuses or misuses participles and participial phrases. VerbChanger whacks off (or adds) the -ing, and Participle Changer toggles back and forth between -ed endings and -ing endings. These have some limitations (irregular verbs, anyone?) but can still be wonderful time savers.


This one is great for changing the spelling of compound words, and toggles through closing the compound, adding a hyphen, or keeping it open. What I particularly love about it is that it does this without tracking the change, so I don't have to waste my time turning Track Changes off and back on. I prefer to silently change spelling—unless there's something subjective about it—since the markup on a line edit can get overwhelming for the client.


So satisfying to click in a word and then zap the entire thing (without getting rid of any attached punctuation) with a simple keystroke. BAM!


Simply click in the last word you want to retain, hit your keyboard shortcut, and the rest of the sentence gets lopped off. And you can even use this one to lop off dialogue tags. The comma will change to a period and the closing quotation mark will be retained. Genius.

GoogleFetch and MerriamWebsterFetch

Simply select the word or phrase you want to look up, hit your keyboard shortcut, and you're suddenly on the internet looking at a definition or search results. (For some reason, I find it really satisfying to say "Google…" when I hit the Control key, then "FETCH!" when I hit the final key—which is a G in my case.)

SwapCharacter, SwapWords, and SwapThreeWords

Once keyboard shortcuts have been assigned to these macros, it's simple to change "huor" to "hour," "said he" to "he said," and "carrots and peas" to "peas and carrots."


Quickly and efficiently change the capitalization of the following letter.

PunctuationToComma and PunctuationToFullPoint

When you hit your assigned keystroke combination, the next punctuation mark will change to either a comma or a period. You don't even need to move your cursor.

Final cleanup

I don't usually use macros in the final cleanup stage, primarily because most macros make global changes and I don't want to risk introducing errors or formatting changes after finishing my last pass. But I do use Find and Replace checks (but almost always replace manually) and use a consistency checker. In the interest of rounding out my workflow—and at the risk of wandering slightly off-topic—I'll include some of my favorites here.


Not free and not really a macro, but I have to mention it anyway since it's such a great tool. PerfectIt is a consistency checker, and some editors like to use it in preflight, some like to use it in the cleanup stage, and some like to do both.

Did you fail to notice that "reemerge" was hyphenated in some places but not in others? That "gray" was sometimes spelled "grey" and that "my dad" was improperly capitalized in a few spots? PerfectIt won't!

But it doesn't make changes, it just flags things for you to check. Which is what you want at this final stage.

Two caveats: Intelligent Editing has moved to a subscription model, which some people dislike on principle, and the Mac version is not as robust as the PC version. Some Mac users have a cheap Windows laptop just to run PerfectIt, and I myself have a Windows partition on my Mac that I use only for PerfectIt. Though when my subscription runs out, I plan on giving the Mac version a go. I used it once on my mom's Mac and thought it worked fine, and it costs less per year than the PC version.

Em dashes

In a deep line edit, the markup is extensive, so it can be easy to overlook pesky spaces or a stray comma on either end of an em dash. I tend to miss these, so I always do a search for em dashes and give each one a final look.

'S and s'

Mistakes with possessives can be easy to overlook when language editing, so a quick search for each of these will allow me to see if I missed anything.

Inverted apostrophes

Sometimes these are facing the wrong way because they were typed before a word and MS Word thinks they're opening single quotes, and sometimes they just end up facing the wrong way in the middle of a word because of a typing glitch. But it's always a good idea to do a search for these. (You'll need to type one into the document, then cut and paste it into the search field.) Yes, you'll get false positives on any closing single quotes, but it's worth it to catch even one of these little guys.


I use these next three searches as a backup for some of my favorite macros since they search for similar things without making any changes to the document.

Missing punctuation inside quotes

Find: ^$"

Missing periods at the end of paragraphs

Find: ^$^p

Incorrect punctuation between quote and speaker

Find periods with lowercase dialogue tags (like "Wow." she said")

Wildcard search for Mac: .^0211 [a-z]

Wildcard search for PC: .^0148 [a-z]

Find commas with uppercase dialogue tags (like "Wow," She said")

Wildcard search for Mac: ,^0211 [A-Z]

Wildcard search for PC: ,^0148 [a-z]

Delete extra spaces

And no final cleanup would be complete without checking for extra spaces.

I get rid of extra spaces with FRedit in the initial cleanup (with Track Changes off), but after a line edit, more can get introduced. Hopefully not too many, since I prefer to delete these spaces manually at this stage—and with Track Changes on.

The reason I leave TC on is that, when re-paragraphing, valid spaces in the original manuscript can become extra spaces at the beginning and end of paragraphs. If I don't track removing these spaces, when the client selects an entire sentence or paragraph and rejects all the changes therein, there could be missing spaces, introducing errors into the final manuscript.

For double spaces

Find: (just hit the space bar twice)

Replace with: (just hit the space bar once)

For trailing spaces (spaces between closing punctuation and the paragraph return).

Find: (space—don't type this, just hit spacebar once)^p

Replace with: (no space)^p

For leading spaces (spaces before the first word in a paragraph).

Find: ^p(space)

Replace with: ^p(no space)


So there you have it—my favorite, most-often-used macros and F&R searches. I personally love it when other editors share their favorite tools and workflow, and I've learned so much from those that do.

One place where editors chat about macros, offer help to others, and seek help themselves is the Editors Who Talk Tech group on Facebook.

Maybe I'll see you there.😁


bottom of page