How to create dynamically-gendered texts

The gist

To dynamically alter gender in a text, pronouns and other gendered words must be identified, and associated with the corresponding character in a machine-readable format. This is called "tagging."

A dynamically-gendered text needs to:

  1. Identify all pronouns and associate them with the appropriate character in the text
  2. Identify all gendered words and associate them with the appropriate character in the text
  3. Add a "legend" to the text to identify each character's name choice for female, male, and non-binary, and indicate the character's default gender.

To create a text, it's your responsibility to do each of the above. The below example illustrates what a (very short) tagged text would look like:

[ [Arabella/Arthur/Aspen:male] [Julie/Jude/Juen:female] ]

One midday when, after an absence of two hours, {{ Arabella }} came into the room, {{ she(Arabella) }} beheld the chair empty. Down {{ she(Arabella) }} flopped on the bed, and sitting, meditated.

"Now where the devil is my {{ man(Jude) }} gone to!" {{ she(Arabella) }} said.

In the above example, there are 2 characters, Arabella and Jude. The legend at top defines what their alternate gender names would be, and after the colon, what their default gender is.

Following the legend is the actual text. The tag {{ Arabella }} allows the software to know that this name should be gender-swappable from the legend. Shortly thereafter, the tag {{ she(Arabella) }} identifies that the pronoun "she" belongs to the character "Arabella", and should follow the same gender-swap rule as the character.

That, in a nutshell, is it.

See it in action on the testing page

Now let's break it down, step by step.

Step 1 : Create a character legend

Delineate all of the characters that exist in your story. In the example sentences above, there are two characters, Jude and Arabella. We must devise male and non-binary equivalents for Arabella, and female and non-binary equivalents for Jude. In this case, we've decided on "Arthur" and "Aspen" for Arabella, and "Julie" and "Juen" for Jude. Each character in the legend needs to be inputted in the following format:

[female name/male name/nonbinary name:default gender]

So, for Arabella, that is:

[Arabella/Arthur/Aspen:male]

And for Jude, it's:

[Julie/Jude/Juen:female]

Finally, we need to set off these indicators from the actual text, using brackets. The complete legend thus becomes:

[ [Arabella/Arthur/Aspen:male] [Julie/Jude/Juen:female] ]

Step 2 : Tag characters

Using the example sentences above, we need to identify all instances of "Arabella" and "Jude" in the text. The tagging syntax is simply {{ name }}. So, in this case, that's just {{ Arabella }} and {{ Jude }}.

Our text -- which only contains one named instance -- would now look like this:

One midday when, after an absence of two hours, {{ Arabella }} came into the room, she beheld the chair empty. Down she flopped on the bed, and sitting, meditated.

"Now where the devil is my man gone to!" she said.

Step 3: Identify all gendered words

Finally, we need to tie any pronouns referring to Jude and Arabella to those characters, as well as any gendered words that refer to them. In these sample sentences. There are three instances of the pronoun "she," all referring to Arabella. So we tag these as {{ she(Arabella) }}.

Words like "man," "sister," "wife," etc., are inherently gendered. In order to make the text fully gender-dynamic, each of these words needs to be identified, and mapped to a gender equivalent. There is one instance of "man," referring to Jude, so we write this as {{ man(Jude) }}.

The complete, tagged text now looks like this:

One midday when, after an absence of two hours, {{ Arabella }} came into the room, {{ she(Arabella) }} beheld the chair empty. Down {{ she(Arabella) }} flopped on the bed, and sitting, meditated.

"Now where the devil is my {{ man(Jude) }} gone to!" {{ she(Arabella) }} said.

Text Preparation Tool to the rescue

Finding all instances of pronouns and gendered words in a text can be a tedious process. So, we've built a tool that (mostly) does that for you. Input any original text and the tool will automatically add the tagging syntax for all pronouns and known gendered words (see our replacement map). All that's left for you to do, then, is mark which character corresponds to which tag.

Text Preparation Tool

Step 4: Submit your text for review & publication.

When you've tested your text to your satisfaction, you can submit the text for consideration.

Submit a new text

The Replacement Map

The Gendered Text Project has a canonical replacement map for gendered words:

Replacement Map

Any word on this list is eligible to be tagged in your text, and will dynamically change to its gendered equivalent when necessary.

If your text has a gendered word that is not on this list, contact the maintainers to add it.