Find scripts that improve your experience on Ao3.#getting started#browsing & filtering#reading & feedback#posting & editing [private blog - not run by AO3/OTW. all stock photos from pexels.com]
Don't wanna be here? Send us removal request.
Text
AO3: just my languages
What it does: Reduce the number of languages in the list, highlight some of them, and select languages automatically
Found at: GreasyFork by CertifiedDiplodocus
The languages list on AO3 has become quite long by now - the userbase is global and diverse. That's beautiful! Except when you're trying to pick the language(s) you understand from a seemingly endless list.
Install ⇒ AO3: just my languages
The script comes with some configuration options at the beginning of the code, so check those out when you install it. Towards its end you'll also find a list of the various languages and their "codes" (abbreviations) you can use in the script. For instance, en is for English, ptBR is for Brazilian Portuguese, and sux is for Sumerian 𒅴𒂠.
---
bold some language(s) in the list to find them more easily
const boldedLanguages = ['en', 'es', 'fr']
if you don't want any languages to be bolded, leave the list empty by changing it to:
const boldedLanguages = []
---
2. hide all other languages, except the ones you know
const dropdownLanguages = ['en', 'es', 'fr', 'ptBR', 'ptPT', 'sux']
and
const modifyFilterDropdown = true
This can be combined with the bolded languages configuration, so you could get a brief list with a few entries in bold like this:

If you want the list to keep all the language options that AO3 has, set the configuration to:
const modifyFilterDropdown = false
---
3. pick a (single) language that's selected by default
const defaultLanguage = 'es'
and
const autofillSearch = 1
Having this language automatically selected in the filters will NOT actually filter the works yet. You'll have to click the "Sort and Filter" button by hand, but it means you don't have to find the language in the list.
If you don't want the automatic language selection, set the configuration to:
const autofillSearch = 0
---
4. If you understand multiple languages and want to be able to filter for them quickly, you can instead use
const languagesForMultilingualSearch = ['ptBR', 'ptPT']
and
const autofillSearch = 2
This uses AO3's advanced search capabilities and enters some text in the Sort & Filter form. It won't yet filter the works; you'll still have to click the "Sort and Filter" button by hand.
Clicking the green button with the 𒈾 next to the Language label toggles the advanced filters on and off, in case you want to run a search without these language filters.
If you don't want the advanced language search to be populated, set the configuration to:
const autofillSearch = 0
---
The options 1 through 3 will also work on the Post New Work form. The script theoretically has separate configuration for new works, but it's currently buggy and still uses the same config as when you're browsing works.
If you use and enjoy this userscript, also consider giving its author some feedback!
0 notes
Text
Warn for Old Publication Date on Drafts
What it does: Adds a warning on drafts where the publication date is in the past
Found at: Greasyfork by escctrl
AO3 does this thing where the "Publication Date" field is set to the day the draft was created—the checkbox is not ticked, and it never updates, but that date will be used when you finally post your work or chapter.
Install ⇒ AO3: Warn for Old Publication Date on Drafts
When you're viewing a draft where the publication date (ticked or unticked) is in the past, you'll get a warning banner below the Post button to remind you.
You can either manually update the Publication date, or just select the handy "update it to today's date" button.
It won't interfere when you're backdating your work on purpose. You'll see the warning, but if you don't click the button, the work will post with your backdated date.
If you use and enjoy this userscript, also consider giving its author some feedback!
0 notes
Text
Other works with this Tag by this Author
What it does: Each tag on a work gets a filter-link for that creator+that tag, and can preview how many works with that tag the creator has posted.
Found at: Greasyfork by rallamajoop
You love a fic and want to see more of the author's works, especially for your blorbo? Sadly getting to that work list requires a lot of clicking around through their profile.
Install ⇒ AO3 author+tags quick-search
The script adds either an asterisk or a number next to each tag, and links them straight to a filter that combines the author of the work + that particular tag.
The numbers tell you how many works they have already posted using that particular fandom, character, or relationship tag:
To be able to show the numbers, the script does a lot of background page loads. That can cause the page to freeze for a while, especially if your internet connection is slow, the creator used a lot of tags, or if there are multiple co-creators (because the script will create individual links for each co-creator, multiplying the number of page loads). Many page loads in short succession can also cause Ao3 to rate-limit you, which is when you get the "Retry Later" message.
To avoid all those issues, you can configure the script to not load the numbers, by changing the printCounts variable to false:
Then the work pages will load without any delay, and you'll still have the asterisk as a link.
By the way, the quickSearchText variable on the next code line lets you define which symbol you want to see. For example, you want the ❡ symbol? use "❡" instead. There are a lot of HTML Unicode characters you can choose from.
If you use and enjoy this userscript, also consider giving its author some feedback!
0 notes
Text
AO3: Highlight Author Fandoms
What it does: As you're on a user's dashboard, your favorite fandoms are higlighted in the list of fandoms they've posted in.
Found at: GreasyFork by CertifiedDiplodocus
You've run across someone who's style you enjoy and you want to see more of their works - so you check out their profile. But the list of fandoms they've posted in is long, and since it's ordered by number of works, it's kind of all over the place... anything but alphabetical. Makes it hard to find the fandoms you're in, too.
Install ⇒ AO3: Highlight Author Fandoms and the Config script that goes with it
In the config script, you can specify which fandoms should be highlighted—using the power of RegEx for all those sprawling fandoms with virtually or literally dozens of related fandoms that you'd also be interested in.
You can also define certain fandoms that should be highlighted in a particular color!
The other script does the actual highlighting on a user's dashboard:
Now it's much easier to pick out your favorite fandoms that you have in common with this user.
If you use and enjoy this userscript, also consider giving its author some feedback!
0 notes
Text
AO3: Tag counter when posting/editing works
What it does: Tells you how many tags you've added so far while posting or editing a work.
Found at: Greasyfork by Rhine
If you're one to add a lot of tags, you might be dreading that error that tells you you've exceeded the limit and stops you from posting. Better to be forewarned!
Install ⇒ AO3: Tag counter when posting/editing works
Once it's installed, you'll have a little dialog on the right-hand side while posting or editing a work. Click the "Update Counter" button for it to refresh the numbers in the dialog.
If you exceed the limit of 75 tags, the box goes read, and you can start removing tags before you try to post.
If you use and enjoy this userscript, also consider giving its author some feedback!
0 notes
Text
AO3: Highlight Tags
What it does: Highlights tags containing your chosen text in different colors so you can find them faster within a work blurb
Found at: GreasyFork by Fangirlishness
AO3 comes with a lot of text... just like an archive should. But it's easy to overlook certain tags that you'd love to read—or to avoid.
Install ⇒ AO3: highlight tags V2
This new version lets you define the tag type: characters, relationships, freeforms. For example, you can highlight the relationships featuring your favorite character (in the screenshot above: Bruno), without also highlighting all the freeforms about them (e.g. Parental Bruno Buccellati).
As most scripts that check the tags on works, it cannot guarantee that it highlights all instances correctly, and you have to account for all the ways people might tag for it in the script configuration. For example, if you wish to highlight any "Alternate Universe" type of tag, people might use
the canonical tags that all start with "Alternate Universe", e.g. "Alternate Universe - Modern Setting"
a tag that abbreviates it to "AU", e.g. "modern AU"
a tag that doesn't explicitly state it's an AU because context makes that clear, e.g. "modern setting" in a fantasy fandom
The first two can be covered in the configuration, but the third is hard-to-impossible to catch.
A couple of things to remember as you're setting up your config:
The script configuration is currently case-sensitive. So "AU" will only highlight tags where it's also capital letters. TBH I highly recommend switching it to case-insensitive by adding the "i" in front of the "g" at the end of the line so the code becomes: var pattern = new RegExp(key, "ig")
The script tries to find any tag that contains the text you configured. That can even be in the middle of the word: configuring "au" would higlight tags including the word author, trauma, etc.
If you know a little bit of RegEx, you've just become so much more powerful! As an example, \b is the RegEx "word boundary" metacharacter, and to make it work in the script, its backslash needs to be escaped with another backslash. To highlight tags including the word "au" like in highschool!au but not in trauma, you can configure "\\bau\\b".
Because RegEx is supported in this script, some characters need to be "escaped" by preceding them with a backslash, so that the highlighting takes them literally within a tag. That includes quotes ", pipes |, parenthesis (), square brackets [], slashes /, or dots... and the backslash of all RegEx metacharacters.
If you want to check for relationships, the tags might include them in either order. You can set up multiple lines in the configuration. With RegEx, you can also do it in a single line. Configure "relationships!(Geralt.*\/.*Jaskier)|(Jaskier.*\/.*Geralt)" and it'll highlight either order of them in a romantic relationship. Now, Jaskier is sometimes called Dandelion, so we could go one step further and make the logic check for either of his names: "relationships!(Geralt.*\/.*(Jaskier|Dandelion))|((Jaskier|Dandelion).*\/.*Geralt)"
If you use and enjoy this userscript, also consider giving its author some feedback!
0 notes
Text
AO3: Set Default to Allow Guest Comments
What it does: As you’re posting a new work, it automatically allows comments by guests.
Found at: AO3 news post by Quihi
AO3 will soon be making changes to the Post New Work form so that by default, comments by guests (people not logged in to an AO3 account) are disabled. It's supposed to protect you from spam, but restricts people's ability to interact with your work, so it's up to you to choose what's more important to you.
Install ⇒ AO3: Set Default to Allow Guest Comments
Once the code changes are live, the "Only registered users can comment" option will be selected by default for "Who can comment on this work", whenever you post a new work.
The script will return the selection to "Registered users and guests can comment".
1 note
·
View note
Text
AO3 Incomplete Work Script
What it does: fades out any works marked as Work In Progress
found at: fangirling.net via crescented-quill's screenshot
Is the little red icon for WIPs in the corner of the blurb sometimes too inconspicuous for you?
Install ⇒ AO3 Incomplete Work Script
The entire blurb is, by default, made a little bit transparent. That makes WIPs stand out more in comparison to completed works:
But you can also change the CSS on line #13 and make it look different!
If you use and enjoy this userscript, also consider giving its author some feedback!
0 notes
Text
AO3: Badge for Unread Inbox Messages
What it does: Adds a notification badge into the menu if you have unread messages in our AO3 Inbox
Found at: GreasyFork by escctrl
You don't have emails enabled for comments, but still want to stay on top of them? You're a neat freak (like me) and want a clean inbox? You love getting comments, but constantly forget to reply to them even though you're on AO3 basically every waking minute?
Install ⇒ AO3: Badge for Unread Inbox Messages
There are some configuration options in the code of the script, but if you leave everything at default and you have unread Inbox messages, you'll see something like this:
Every few hours (12 by default), the script will check in the background if your AO3 Inbox has any unread messages, i.e. when the sidebar menu shows as "Inbox (#)". Then it displays this little badge next to your user icon.
Clicking the badge takes you straight to your inbox. It automatically filters to show only the unread messages, so you won't get sidetracked ;)
If you use and enjoy this userscript, also consider giving its author some feedback!
0 notes
Text
AO3 Exchange requests' names link to their profiles
What it does: Usernames/Pseuds on the requests and assignment pages of challenges link directly to their profiles
Found at: GreasyFork script set by mkp
Maybe you're gearing up to fulfill someone's prompt in a challenge (whether that be a prompt meme or a gift exchange) and want to check their profile for some additional input on what they'd enjoy... but the name on that prompt is just text.
Copy-pasting it into a URL by hand is out. This script is in:
Install ⇒ AO3 Exchange requests' names link to their profiles
Now the usernames on the blurbs are links!
If you use and enjoy this userscript, also consider giving its author some feedback!
0 notes
Text
AO3: Estimated reading time
What it does: Adds the estimated time needed to read the work to its blurbs
Found at: GreasyFork by oulfis
Word counts are great, but here's an easier way to figure out if a story fits in before bedtime:
Install ⇒ AO3: Estimated reading time
Next to the word count, you'll now see an estimated time it takes for reading the work. By default, it's based on a reading speed of 250 words per minute (which is considered the upper end of average reading speed). If you want to tweak the number so it accurately reflects your reading speed, you can test yourself at sites like readingspeedcalculator.com and change the value in the code (line #19).
The color highlighting is also based on configuration (line#28 and #29) - the default thresholds are 30 and 90 minutes.
If you use and enjoy this userscript, also consider giving its author some feedback!
0 notes
Text
AO3 Primary Relationships
What it does: Hides works where your chosen relationship isn't the first one tagged
Found at: tumblr by @brennansdice
Let's say you're fan of a rarepair, or even a medium-sized ship in a fandom that's just dominated by another ship. It can get tedious going through works which are tagged with yours, but only as a background thing.
First option of course is to use AO3's filters. Browse your ship's tag, and in the Sort and Filter form, enter "otp:true" in the "Search within results" field.
What remains are all works which were tagged ONLY with your relationship. But that would also hide everything where other background ships are tagged.
Based on the assumption that most creators will put the main ship as the first relationship tag on their work, a couple of scripts emerged.
Install ⇒ Ao3 Only Show Primary Pairing
This script requires some configuration by you: In the code (line#16), enter the various formats that people have tagged your desired ship. You can also enter multiple ships here!
While the script is active, any work where the first relationship tag doesn't match anything in the list you gave it, will be hidden.
Install ⇒ AO3 First Relationship Tag Filter
This script takes a different approach. There's no need to touch the code, and it will assume if you're browsing a particular relationship tag, that it should filter for works where this relationship is tagged first.
Note that you'll have to enable the script on the tag you're browsing, through a new menu item:
It tries to guess variations of the tag you're browsing (for example: A/B, B/A, A/B (Fandom), A (Fandom)/B, etc) to recognize if a work is still listing your ship first. But it will reach its limits if your fandom likes to use shipnames (like IronFrost for Tony Stark/Loki).
Both scripts don't hide the work completely. They only collapse the work blurb, and you can choose to see it anyways:
The second script also lists the first relationship tag in the collapsed blurb—you'll quickly recognize if the script hid something you want to see, and press the "Show Work" button.
Obviously, the first script requires you to create and maintain that list manually, but gives you a lot of flexibility what tags are in use in the fandom. The second is more versatile if you're fandom-hopping.
If you use and enjoy this userscript, also consider giving its author some feedback!
3 notes
·
View notes
Text
AO3: Comment Formatting and Preview
What it does: Above the comment textbox, adds buttons which will insert HTML code to format text (italics, bold, underline, etc), to insert links or images, or even custom text. It also shows a preview of the comment.
Found at: GreasyFork by escctrl
Typing HTML by hand is a drag. Especially if you're just trying to get your squee on in the comments. That's something the Comment Formatting Options script addressed wonderfully, by letting you insert the HTML at the push of a button. But it hasn't been updated in years to make fixes or improvements, such as the ideas its author dusty had noted on its GreasyFork page.
Recently, a different script was published, which takes dusty's to the next level and adds several nifty features.
Install ⇒ AO3 Comment Formatting and Preview
The smaller new features are additional formatting buttons for lists and paragraphs. As before, you can highlight text within your comment and then click the button, to insert the HTML around it.
And the buttons now show reliably on Inbox messages, while replying to comments, and while editing comments.
The more noticable addition is that there's a GUI for configuration!
Go to any page that has comments, for example by opening a work, or viewing your Inbox (if you have an Ao3 account). In the top menu, there'll be a "Userscripts" option, with a "Comment Formatting Buttons" entry.
In the top section of the GUI, you can pick which of the buttons you want to see or hide, if there are some you'll never use anyways.
At the bottom, you can add your own custom buttons. Follow the step-by-step guide in the GUI. One thing to remember when you pick the icon is that this only works with Font Awesome v4 (which has a limited set of icons available), not with the new v5. So make sure to stay on the v4 page when you pick something.
When you chose an icon, copy its four-letter Unicode into the first field in the script GUI. Then it shows up on your custom button.
The other obvious new feature is that you'll have a Preview field, which'll show how the comment will look like once it's been posted.
... And as far as I can tell, it works nicely on mobile devices. \o/
If you use and enjoy this userscript, also consider giving its author some feedback!
4 notes
·
View notes
Text
AO3: Jump to a Random Work
What it does: Loads a random work within your selection (filtered works, Marked for Later)
Found at: GreasyFork by escctrl
Sometimes, decisions are hard. If you've got your works all filtered down to your preferences, or if you're staring down a long list of works you've Marked for Later, this script can now make the decision for you.
Install ⇒ AO3 Jump to a Random Work
At the top right of the page, you'll find a "Random Work" button. Once you select it, you'll get a browser dialog warning you that you're navigating away, but if you confirm that, you'll be sent to one of the works at random.
If you use and enjoy this userscript, also consider giving its author some feedback!
0 notes
Text
AO3 Google Docs Italics Bug Fixer
What it does: Adds a button to the AO3 Post Work form, which cleans up the HTML for italics so no spaces are added when pasting from a Google Doc
Found at: GreasyFork script set by mkp
If you're writing your fic in Google Docs and then copy-paste it straight into AO3's Rich Text editor, you'll notice that words in italics have some additional space to them. That's particularly annoying if there is punctuation around the word.
Install ⇒ AO3 Google Docs Italics Bug Fixer
Paste your fic in the Post Work form as usual, but then select the "Fix Italics (Gdocs)" button, which is found next to the "Rich Text" and "HTML" toggles.
This cleans up the unnecessary HTML that causes the weird spacing, and you can continue posting your fic.
If you use and enjoy this userscript, also consider giving its author some feedback!
0 notes
Text
AO3 Replace Y/N in Works with Your Name
What it does: Automatically replaces placeholders like "Y/N" in fic with your chosen text, such as your name
Found at: GreasyFork by escctrl
If you're into xReader fic, you have the choice to either read with the placeholders still in the text (which can throw you out of your reading flow quite harshly) or to copy & paste the whole fic into a texteditor, so you can run a text replace (which is just annoying work).
Install ⇒ AO3 Replace Y/N in Works with Your Name
You can configure the placeholder(s) that show up in the work, and the text that you want to be inserted instead (like your name, eye color, etc). Just open the GUI from the new "Userscripts" option in the main menu:
Make the changes, and don't forget to toggle on that the text will actually be replaced automatically.
Save your changes, and the page will reload. The fic's text has all the placeholders replaced and you can immerse yourself in the story.
The auto-replace toggle is helpful if you want to check which placeholders an author uses. Disable it to see the original fic text, adjust the config, and re-enable the toggle again. No need to uninstall the whole script.
If you use and enjoy this userscript, also consider giving its author some feedback!
0 notes
Text
AO3 Display Tag ID
What it does: Displays a tag's ID next to its name in the header, so you can use it more easily for advanced filtering
Found at: Greasyfork by WhyEssEff (fork & fix of dusty's script)
The Search & Filter form already offers a bunch of options for including and excluding tags. But for really complex searches, you may still need a canonical tag's ID number.
Install ⇒ AO3 Display Tag ID
You can use it in the "Search within results" box, or in the main search in the menu. Let's say for example, you want to see the works in both The Barstard Son and the Devil Himself (TV) as well as its original book fandom, The Half Bad Trilogy - Sally Green. These fandoms aren't connected on AO3, and the Search & Filter form's checkboxes would only let you filter for a work that has BOTH fandoms tagged on it. But what you want is works that are tagged with either the TV show OR the books.
The solution? Tag IDs!
With this script, you can more easily tell that the TV fandom has the tag ID 83323467, while the books are 19760997. And so, if you search for filter_ids:83323467 OR filter_ids:19760997, you'll get list of all works in either one of the fandoms \o/
It is noteworthy that this script will only work for fandom, character, and relationship tags. On additional tags (freeforms), it won't display the number.
PS: There are more uses for tag IDs, and many more options for advanced filtering. There's no FAQ yet on AO3 about these techniques, but there is an admin post!
If you use and enjoy this userscript, also consider giving its author some feedback!
0 notes