Reddit AutoModerator: Why It Removed Your Post
Your post disappeared. Not slowly, not after a debate in the comments, but within a second or two of you pressing the button. There was no message, or there was a message signed by an account with a name that sounds like a robot because it is one. The community looks the same as it did a minute ago and your post is not in it.
The thing that did this is called AutoModerator, and the single most useful fact about it is that it is not clever. It is a rule engine that reads a text file. The moderators of that community wrote the file, the file lists conditions and what to do when a condition is met, and your post met one. There is no judgement in the loop and no appeal to reason, because there was no reasoning.
The second most useful fact is that in most communities you can read the file. It lives at a published address, it is written in a format you can follow without being a programmer, and it will tell you exactly which line caught you. That turns a mystery into a lookup.
This article walks the whole system in the order a removed post actually travels through it. Where the rules live, which rules run first, the four different removals and why they feel different, what gets checked about the post, what gets checked about the account behind it, the matching behaviour that catches innocent wording, the prepackaged lists nobody wrote, and the actions that leave no trace at all. Every rule, field and default below was read from Reddit's own AutoModerator specification on 10 August 2026 rather than remembered, and where a page refused to open, that is said plainly.
The Thing That Removed Your Post Is a Text File
Before anything else, get the model right. Almost every wrong theory about automated removal comes from imagining the wrong kind of machine.
It is a rule engine, not a filter with an opinion
Reddit's own description is that AutoModerator is a system built into the platform that lets moderators define rules, consisting of checks and actions, to be applied automatically to posts. That is the whole design. A check asks a question with a yes or no answer, an action does something, and a rule is a bundle of checks plus the actions that fire when every check passes. Nothing weighs your intent, nothing considers whether the post was good, and nothing learns from having been wrong last week. If the conditions matched, the action ran.
What it is routinely set up to do
The documented examples are ordinary housekeeping. Send a message to the moderators when something collects a minimum number of reports, or remove items that reach a very high number. Assign link flair based on tags or keywords in the title or the source domain. Enforce a required title format and leave a comment explaining the format to anyone who got it wrong. Remove links to sites the community has ruled out, such as affiliate links. Report or remove posts and comments containing particular words or phrases. Read that list again and notice how many of those could catch a legitimate post by accident.
Why this is better news than it sounds
A system with judgement cannot be argued with usefully, because you are arguing about taste. A system with rules can be inspected. If a rule removed you, then a specific line of a specific file has a condition your post satisfied, and the condition is written down in a syntax with fixed meanings. You do not have to guess what the moderators think of you. You have to find the line. Everything that follows is about finding the line and then knowing what to do with it, which is a different and far more tractable problem than appealing a decision a human made.
The Rules That Removed You Are Published
This is the part most people never learn, and it changes the entire experience of being removed.
The address of the configuration
AutoModerator's configuration is kept on a subreddit's wiki, on a page called config slash automoderator. The documentation gives the address directly, in the form of the community's wiki path followed by that page name. In communities where the wiki is readable, you can open that address in a browser and read the rules that govern the place. Nothing is being leaked by doing so. The page is where moderators are told to put the configuration, and moderators who want it private have to make the wiki private, which many do not.
What you will see when it opens
A list of rules separated by lines containing exactly three hyphens, with comments introduced by a hash symbol. Each rule is a short block of keys and values. Some keys are questions about the post, some are questions about the author, and at least one is an action. It reads like a configuration file because it is one. You do not need to be able to write it in order to search it, and searching it for a word that appeared in your title is often the entire investigation.
What we could not open, said plainly
Two source families refused us this time and it is worth naming them rather than papering over the gap. The specification pages themselves return an error on the main site to an automated reader and return the full text on the old interface, which is the route we used. Reddit's help centre articles, which the specification links to for crowd control levels and for temporary events, refused every request we made, so those two features are described here only from what the specification itself states and not from their own pages. If you need the help centre wording, you will have to open it in a browser yourself.
Removal Rules Run Before Everything Else
Order matters more than people expect, and the ordering is not the order you see on the page.
The two groups
The specification is unambiguous. Rules that may result in an item being removed, meaning those with an action of remove, spam or filter, are always checked before all other rules. Every other rule waits. So a rule that would have flaired your post, or approved it, or replied to it helpfully, never gets the chance if a removal rule higher in the running order already fired. This is why the polite explanatory comment you expected sometimes never arrives while the removal happens instantly. The removal was in the first group and the explanation was in the second.
Priority, and what it does not override
Inside a group, order can be tuned. A rule can carry a priority set to a number, higher values are checked first, an undefined priority defaults to zero, and negative values push a rule to run after the undefined ones. What priority cannot do is move a rule between the two groups. A flair rule with an enormous priority still runs after every removal rule, because the group split happens first and priority only sorts within it. Moderators who have never read this line often believe their rules run top to bottom.
A rule also declares what kind of item it applies to, and the vocabulary is finer than most people expect. Comment, submission, text submission, link submission, crosspost submission, poll submission, gallery submission, or anything at all, which is the default. So a rule can be aimed squarely at gallery posts and leave every other format untouched. When you are scanning a configuration for the rule that caught you, this is the first field to read on each block, because it tells you in one word whether that rule could have applied to what you posted.
Four Ways to Be Removed, and They Are Not the Same
The word removed covers four different outcomes with genuinely different consequences for you, and knowing which one you got changes what you should do next.
Remove and spam
Both take the item out of the community. The difference between them is what the platform learns from it. They are separate values in the action field precisely because they are separate signals, and a rule author picks one deliberately. From your side the visible result is similar, which is part of why the distinction is invisible to most people who get caught by it. What you can see is the moderation log, and both of these are logged like any other moderator action.
Filter, which is the one you want
Filter is described as unique to AutoModerator. It removes the post but keeps it in the modqueue and on the unmoderated pages. In plain terms, the post is hidden from the community and simultaneously placed in front of the moderators as something to look at. This is the outcome to hope for, because a human will see it. If your post was filtered rather than removed, waiting is a real strategy and messaging the moderators is a reasonable follow up rather than a nuisance.
Report, which is not a removal at all
The fourth action is report, and it leaves your post up. It flags the item for moderator attention with a reason string the rule author can write, and that reason can carry information about your post pulled in automatically. A post that was reported by a rule is live, visible and being watched. If you have ever had a post that stayed up and then vanished an hour later, this is one of the shapes that takes, and it means the second decision was made by a person.
What It Checked About Your Post
The checks divide into things that search text and things that measure. Knowing which is which explains a lot of the removals that feel arbitrary.
The searchable fields
For a submission the searchable fields are the identifier, the title, the domain, the url, the body, the three flair fields covering text, css class and template, and for polls the option text and the option count. For a comment there are two, the identifier and the body. There is one behaviour here that catches people constantly. Rules on the body field always apply to text posts, and by default they do not apply to other post types unless some body text is present. A link post with an empty description is invisible to a body rule and the same wording in a text post is not.
Domains, links and the crosspost twist
The domain check is special. It looks for the exact domain or a subdomain of it, which means a rule aimed at one site catches every subdomain of that site without anyone writing them out. For a text post, the domain reads as self followed by the community name, which is how rules distinguish self posts from links without a separate flag. Crossposts add a layer, because domain, url and body are all checked against the original submission rather than the one you made. Your crosspost inherits the removability of the thing you crossposted.
There is a further layer on links that most people never hear about. For submissions, rules can also check the embedded media object, testing the media title, the media description, the uploader's name on the source site and the link to their page there. That data is supplied by a third party extraction service rather than by Reddit, which means a rule can catch you on the strength of metadata written by somebody else entirely, on another platform, about a video you merely linked to.
The measurements
Then the non searching checks, which take a number or a true or false. Minimum report count. Body longer than, and body shorter than, both counted in characters with spacing and punctuation at either end excluded. Whether the item has been edited, which can be used in both directions, so a rule can be set to skip edited items entirely or to fire only on them. Whether a submission is flagged as original content, whether it is a poll, whether it is a gallery, and whether it is past the archive date of six months. Short posts and edited posts are two of the most common accidental catches.
What It Checked About You
The other half of the engine looks at the account rather than the post, and this is where most silent removals of otherwise reasonable posts come from.
Karma, with floors that surprise people
Six karma thresholds are available. Comment karma, post karma and combined karma across the whole platform, and the same three counted only inside that community. Two floors are documented and both matter. Comment karma will not go below minus one hundred, and post karma will not go below zero. A community that requires more than a certain amount of local karma is asking for a history it can see, and a new account has none of it by definition. If you have ever been removed from a community you had never posted in before, a subreddit karma threshold is the first thing to suspect.
Account age, and the units
Account age compares against the age of the author's account and supports a unit, defaulting to days, with minutes, hours, days, weeks, months and years all accepted. A rule can therefore require an account older than sixty hours or older than two years with the same syntax. This is the check behind the experience of joining a community, reading it for a week, posting carefully and being removed anyway. Nothing you wrote was the problem. The account was three days old.
Contributor Quality Score and the switch that turns AND into OR
Newer than the karma checks is a score the platform assigns to every account, presented as one of five values, from highest down through high, moderate and low to lowest. Moderators can test it directly, and the documented example filters content from authors below moderate. It is offered as a more holistic replacement for karma and age checks, which means the thing gating you may not be a number you can see anywhere. There is also a switch called satisfy any threshold. Left alone, every karma and age check in a rule must pass together. Turned on, any single one passing is enough, which makes the rule dramatically broader.
Beyond scores there are flat facts about the account. Whether it has a verified email address or a phone number, which are treated as one condition rather than two. Whether it has a paid membership. Whether it is an approved contributor in that community. Whether it is a moderator there. And when the item is a comment, whether the commenter is also the person who made the post being commented under. Any of these can be required or forbidden, and a rule combining two of them is narrower than either alone.
The Matching Rules That Catch Innocent Posts
Here is where a rule written in good faith removes something nobody intended to remove.
Includes versus includes word
A search check can look for text as a whole word or as a fragment anywhere inside other words. Those are two different modifiers, and choosing the fragment version turns a short banned term into a trap, because it will match inside longer innocent words that merely contain those letters. Most fields default to whole word matching, which is the safer choice, and the defaults are worth knowing because they apply whenever the rule author did not state a preference. Any check that joins several fields together defaults to whole word matching regardless of what the individual fields would have done.
The other five methods
Beyond those two there is starts with, ends with, full exact, which requires the entire field to match precisely, and full text, which is the same but forgiving about punctuation and spacing at either end. The defaults per field are documented and uneven. The identifier fields and the three flair fields default to full exact. The url defaults to fragment matching. The domain has its own special behaviour. Everything else defaults to whole word. A rule author who never specifies a method is still choosing one, just without knowing it.
Regular expressions, and the case switch
A check can be marked as a regular expression, using standard Python syntax, and a separate modifier makes the search case sensitive. Searches are case insensitive by default, so changing your capitalisation to dodge a filter does nothing unless the rule author deliberately turned that on. The documentation also warns rule authors to wrap regular expressions in single quotes to avoid needing to escape everything twice, which is the source of a whole class of rules that match far more or far less than intended.
The Word Lists Nobody Wrote
Some rules do not contain the thing that caught you. They contain a reference to a list maintained elsewhere.
Eight prepackaged conditions
The system ships standard conditions, which are named bundles a rule can invoke in a single line instead of writing out a long list. There are eight. Image hosting sites, direct image links, video hosting sites, streaming sites, crowdfunding sites, meme generator sites, links to one large social network, and affiliate links to one large retailer. The definitions live on their own page and can be updated centrally, which means the rule that removed you can change meaning without anyone in that community editing anything.
What is actually on those lists
They are longer than most people assume. The image hosting list runs to more than thirty domains and includes the obvious large image hosts, several gif services, a photo sharing network, and Reddit's own image domain. The video list covers the main video platforms and a handful of smaller ones. The crowdfunding list includes the big campaign platforms and the main creator membership site. Direct image links are caught by a pattern on the file extension, so linking straight to an image file trips it regardless of where the file is hosted.
The two that read your body text
Most of these check the domain of a link post, which means they only apply when the link is the post. Two of them are different. The social network condition and the affiliate condition both search the url and the body together, so a link buried in a paragraph of a text post is caught the same as a link post would be. The affiliate condition is narrower than it sounds, since it looks for the tag parameter that marks a referral rather than for the retailer at all, so an ordinary product link passes and a referral link does not. Only one standard condition may be used in a single rule.
Why the Moderators Never Saw It Either
A recurring frustration is writing to the moderators and being told they cannot find your post. Usually they are telling the truth.
Removed does not mean queued
Only the filter action keeps the item in the modqueue and on the unmoderated pages. A rule using remove or spam takes the post out without putting it in front of anyone. The moderators are not ignoring you and they are not hiding it. Unless somebody goes looking through the moderation log deliberately, the removal is a line item in a log nobody reads in full. This is why a short message with a direct link is far more effective than a message describing what you posted, and why checking the removal state yourself first saves everyone the round trip.
Moderators are exempt by default
By default, submissions and comments made by moderators of the community are not checked against any rule that could cause a removal or a report. There is a flag to override this in either direction, so a rule can be made to apply to moderators or a normal rule can be made to skip them. The practical consequence is that the person telling you the rule does not exist may genuinely never have experienced it. They have been walking through the door you keep hitting. It is the same asymmetry that makes permission testing on any platform unreliable when the tester holds the permissions.
It Can Do More Than Remove
Removal is the loud outcome. The quiet ones change what happens to a post that is still there.
Flair, set silently
A rule can set link flair or user flair, supplying text, a css class, a template identifier, or a combination, and it can be told whether to overwrite flair that already exists. By default it will not overwrite. Flair matters more than it looks, because in many communities flair drives filtering and sorting, so a post given the wrong flair automatically can be invisible to most of the people browsing.
Sticky, lock, and the state flags
The action list also covers sticky, including targeting a specific sticky slot by number, locking the item, marking it not safe for work, marking it a spoiler, marking it original content, turning on contest mode for its comments, and setting the suggested comment sort. That last one has a documented subtlety worth knowing. Setting it to blank is not the same as leaving it alone, because blank makes the reader's own default sort apply instead of the community's.
Crowd control and the modmail path
A rule can set a submission's crowd control level to one of four values, from off through lenient and medium to strict. Separately, a rule can send a message to the moderators or a message to the author, each with its own subject line, both defaulting to a generic notification subject when none is given. So a post can be quietly escalated to the moderators without anything visible happening to it at all, which is the closest the system comes to a silent alarm.
The Comment It Left You Was Written by a Template
If you did get a message, it was assembled from a template, and reading it as a template tells you more than reading it as prose.
The placeholders available
A rule author can drop in the author's name, the author's flair in three forms, the body text of the item, a permalink to it, the community name, the word submission or comment depending on what was caught, the title, the domain and the url. Those are the only variables. If the message you received contains a specific reason, a moderator typed that reason into the rule by hand. If it is generic, nobody wrote you a generic reply, they wrote one template for everybody.
The match placeholder, and why it is the useful one
There is a further placeholder that inserts the exact option that matched. It can be pointed at a particular check when a rule searches several fields, and it can extract individual capture groups from a regular expression, numbered from two upward because the first is the whole match. When a removal message quotes a specific word back at you, that is this placeholder at work and the word it quotes is literally the entry in the rule's list. That is the most direct evidence you will ever get about which line caught you.
Configuration Mistakes That Remove the Wrong Things
Some removals are bugs. The configuration format has documented traps, and rules written by volunteers hit them.
The values that change type on their own
The format will silently convert certain unquoted strings. Numbers beginning with a zero, values made only of digits and underscores, and the words true, false, on, off, yes and no. The guidance is to quote anything that could be misread. A rule intended to catch a code beginning with a zero, or a word from that list, can end up matching something else entirely, and nothing anywhere reports an error. The rule simply behaves in a way its author never tested.
The duplicate that wins quietly
Defining the same key twice inside one rule does not raise an error. The second definition overwrites the first. A moderator editing a long configuration and adding a check that already exists further up has just deleted the earlier one without being told. This is one of the few genuinely invisible failure modes in the system, and it is the reason a rule can stop doing half of what it used to do after an unrelated edit.
The greater than sign
Threshold checks are written with a less than or greater than sign followed by a value. The greater than sign has a special meaning in the format, so it has to be wrapped in quotes, while the less than sign does not. Forgetting the quotes on a greater than check breaks it. Since the two directions look symmetrical to anyone reading the file, this asymmetry produces rules that appear to say one thing and do nothing at all.
What AutoModerator Refuses to Do
There are documented limits, and two of them explain outcomes that otherwise look like malice.
It will not contradict a human
The system deliberately avoids overriding moderators. It will not approve an item that has already been removed by a moderator, and it will not remove an item that a moderator has already approved. So if a person removed your post, no automatic approval rule anywhere in the configuration will bring it back, no matter how well you satisfy that rule's conditions. The reverse also holds, which is why a post a moderator has approved survives a later rule change that would otherwise have caught it.
Approval is narrower than it looks
Approval actions only run on items that actually need approving, meaning items caught by the platform's own spam filter or items that have been reported. On top of that, the system will not approve anything posted by an account banned across the whole platform unless the rule explicitly checks the author's name, and approval conditions will not re approve a reported item unless the rule includes a report count check. Approval is the most constrained action in the system, and an approval rule that looks broad on the page is narrow in practice.
Reading Your Own Removal in Order
Putting the whole thing together, this is the sequence that answers the question with the least wasted effort.
Confirm it is actually removed
Start by establishing the state rather than assuming it. A post can be filtered and waiting, removed outright, reported and still live, or perfectly fine and simply not appearing in the sort you are looking at. Those four states need four different responses and the first is the only one where patience is the correct move. Getting this wrong is the most common way people escalate a situation that was resolving itself.
Open the configuration and search it
Then go to the community's automoderator configuration page and read it, searching for anything from your post. A domain you linked. A word from your title. Terms from the karma and age checks, which will show you the account thresholds in force. If the wiki is closed, you have lost this step and you fall back to asking, but it is worth trying first because it converts a conversation into a fact.
Ask a question that can be answered
If you have to write to the moderators, write the message that is cheapest for them to act on. A direct link to the item, one sentence on what you posted, and a specific question rather than a complaint. If you found a probable rule, name it and ask whether that is what fired. Moderators handling a queue answer specific questions and ignore general ones, which is the same dynamic that governs whether any unsolicited message on the platform gets a reply at all.
Working Where Removal Is Silent
If you are posting for a business rather than for yourself, the automated layer stops being an annoyance and becomes a measurement problem.
The number that lies to you
A removed post still appears in your own profile and in your own analytics. If you are counting posts published, you will count it. Nothing about your dashboard changes when a rule takes something out of a community, which means an outreach programme can be running at half effectiveness with a healthy looking record of activity. The only reliable check is to look at the item logged out, in the community, and confirm it is where you think it is. That is the same discipline that keeps any outbound programme honest with itself, and it is the reason a channel that looks busy can be producing nothing measurable.
Where the work actually goes
Reading communities to find people describing a problem is a monitoring job, and our ProspectPulse tool is built for exactly that, watching sources and surfacing the conversations rather than posting into them. When the conversation moves somewhere you control, Mass DMs and Account Manager handle the follow up on Telegram, and Bot Manager runs the automation behind it. If your situation needs something none of those covers, Custom Solutions is where that conversation starts. The general principle holds across every platform we work on, including the parts covered in our guide to programmatic access to Reddit and the one on automated restrictions elsewhere. Read the rules first, because they are usually published, and the alternative is guessing at a machine that never explains itself. The same is true of permission systems on other platforms, which fail quietly for identical reasons.
Frequently Asked Questions
Where exactly is the AutoModerator configuration
On the community's wiki, at the page named config slash automoderator. If the wiki is public you can open it and read the rules. If the community has made its wiki private you will get an error, and there is no other published copy.
Why did my post vanish instantly with no message
Because rules that remove run before every other rule, including the ones that leave explanations. If the rule that caught you had no comment or message attached, nothing was ever going to be sent. Silence is the default, not a decision about you.
What is the difference between removed and filtered
Filter removes the post from the community but keeps it in the moderator queue and on the unmoderated pages, so a person will see it. Remove and spam take it out without queueing it. Filtered posts are worth waiting on, the others are not.
Can I get around a rule by changing my capitalisation
No. Searches are case insensitive by default, and a rule author has to deliberately turn on case sensitivity for capitalisation to matter at all. Changing letter case is the least effective evasion available.
Why was I removed for karma when I have plenty
Because six separate karma thresholds exist and three of them count only your karma inside that specific community. A large platform wide total means nothing to a rule checking local post karma in a place you have never posted.
Does AutoModerator log everything it does
Almost. Removals, approvals and the rest are logged like any other moderator action. Setting flair and distinguishing its own comments are the documented exceptions and leave no entry, so a silent flair change is genuinely untraceable from the log.
Can moderators tell me which rule fired
Yes, if the rule carried an action reason, which is a field written into the rule specifically to display in the moderation log. Whether they will look it up is a separate question, which is why asking about a specific rule works better than asking why in general.
My link post was removed but the same text was fine
Body rules always apply to text posts and apply to other post types only when body text is present. A link post with an empty description is invisible to a body rule, and several of the prepackaged domain lists only apply to link posts in the first place.
Do the standard conditions ever change
Yes. Their definitions live on a central page and are updated there, which is the stated reason for using them. A rule invoking one can start catching a domain it never caught before without anyone in that community touching the configuration.
Know Where Your Posts Actually Landed
If you are posting into communities for a business, the number that matters is not what you published but what survived. Open a demo and look at the panel before you write another post.
Try Free Demo