e621:cheatsheet (locked)
← E621 Wiki – Tags – Cheatsheet
Table of Contents
Cheatsheet
This page lists every metatag available for tagging and searching, as well as additional information about syntax. For basic information about tags, what they are, and how to use them, see the tag help page.
These tags and syntaxes are used to search for posts.
↑ Basics
cat dog
Search for posts that are tagged with both cat and dog. Tags are separated by spaces. You can only have up to 40 tags1 in a single search.
red_panda african_wild_dog
Words within each tag are separated by underscores.
~cat ~dog
Search for posts that are tagged either cat or dog (or both). May not work well when combined with other syntaxes2.
-chicken
Search for posts that don't have the chicken tag.
fox -chicken
Search for posts that are tagged with fox and are not tagged with chicken.
african_*
Search for posts with any tag that starts with african_, such as african_wild_dog or african_golden_cat. May not work well when combined with other syntaxes2.
Limit one wildcard per search.
-african_*
Search for posts with no tags that start with african_, such as african_wild_dog or african_golden_cat.
There are no limits for how many negated wildcards can be used in a search.
( ~cat ~tiger ~leopard ) ( ~dog ~wolf )
Search for posts that are tagged with one (or more) of cat, tiger or leopard, and one (or more) of dog or wolf.
Important:
The opening parenthesis must be followed by a space, and the closing parenthesis must follow a space; this prevents them from being mistaken for a tag that includes a parenthesis (like many character tags) do).
The Power of Implications
Many tags are implied by other tags, and in cases like this example, searching for the implied tag might be better than trying to list everything that tag implies. For example, cat is aliased to domestic cat, and domestic cat, tiger and leopard are all members of Felidae, the cat family, and thus all imply felid, while dog (aliased to domestic dog) & wolf both imply Canid (the dog family). When trying to find posts with any kind of feline and any kind of canine, try searching for felid canid instead. You can find tag aliases & implications at the bottom of a tag's wiki page, or you can search for aliases & implications directly.
Advanced Group Syntax
- The aforementioned - & ~ prefixes can be used on groups themselves. For example, ~( felid -leopard ) ~( leopard tiger ) will find posts with felids, but won't allow any posts with a leopard unless there's also a tiger.
- Groups can also be nested within one another. For example, ( ~( felid -leopard ) ~( leopard tiger ) ) dog will return posts with either non-leopard felids or with both a leopard & a tiger, and then keep only posts that also have a dog.
- You can only nest groups 10 levels deep.
Most searches automatically remove deleted posts from results; see here for more info.
[[e621:cheatsheet#Basics]]
Metatags
In addition to using tags, you can also search based on the post's metadata using the appropriate metatag (not to be confused with tags). The remainder of this guide is focused on the available metatags you can use.
Note
To avoid confusion, the following metatags (1 word; i.e. dynamic psuedo-tags operating on the post's metadata) are not to be confused with tags (2 words; i.e. normal tags that describe meta information about the post itself). All references to "metatags" are referring to the former (1 word), with limited exceptions in the Sorting & Counts sections.
↑ Sorting
By default, posts are ordered from highest ID to lowest ID (newest posts first). This is the same as order:id.
Adding the "limit:" metatag will increase or decrease the number of posts per page, otherwise following the normal rules for your current sorting method.
- votedup:me order:random limit:1 will return a single post that you have upvoted, with no pagination.
- order:id_asc limit:1 will display the single oldest post, with the next pages containing the second oldest, the third oldest, etc.
- limit:10 will display the 10 newest posts, with the next pages containing posts 11 through 20, 21 through 30, etc.
| Search | What it does | Search | What it does |
|---|---|---|---|
| order:id | Oldest to newest | order:id_desc | Newest to oldest |
| order:score | Highest score first | order:score_asc | Lowest score first |
| order:favcount | Most favorites first | order:favcount_asc | Least favorites first |
| order:comment_count | Most comments first | order:comment_count_asc | Least comments first |
| order:comment_bumped | Posts with the newest bumped comments | order:comment_bumped_asc | Posts that have not had bumped comments for the longest time |
| order:mpixels | Largest resolution first | order:mpixels_asc | Smallest resolution first |
| order:filesize | Largest file size first | order:filesize_asc | Smallest file size first |
| order:landscape | Wide and short to tall and thin | order:portrait | Tall and thin to wide and short |
| order:change | Sorts by last update sequence, highest to lowest | order:change_asc | Sorts by last update sequence, lowest to highest |
| order:duration | Video duration longest to shortest | order:duration_asc | Video duration shortest to longest |
| order:random | Orders posts randomly * | order:hot | The order used by the 'Hot' page ** |
| order:comment | Posts with the newest comments | order:comment_asc | Posts that have not been commented on for the longest time |
| order:created | Newest post date first | order:created_asc | Oldest post date first |
| order:updated | Most recently updated post first | order:updated_asc | Least recently updated post first |
| order:note | Most recent note first | order:note_asc | No note/oldest note first |
| order:tagcount | Most tags first | order:tagcount_asc | Least tags first |
| order:general_tags | Most general tags first | order:general_tags_asc | Least general tags first |
| order:artist_tags | Most artist tags first | order:artist_tags_asc | Least artist tags first |
| order:contributor_tags | Most contributor tags first | order:contributor_tags_asc | Least contributor tags first |
| order:copyright_tags | Most copyright tags first | order:copyright_tags_asc | Least copyright tags first |
| order:character_tags | Most character tags first | order:character_tags_asc | Least character tags first |
| order:species_tags | Most species tags first | order:species_tags_asc | Least species tags first |
| order:invalid_tags | Most invalid tags first | order:invalid_tags_asc | Least invalid tags first |
| order:meta_tags | Most tags first | order:meta_tags_asc | Least tags first |
| order:lore_tags | Most lore tags first | order:lore_tags_asc | Least lore tags first |
| order:md5 | Highest MD5 checksum to lowest | order:md5_asc | Lowest MD5 checksum to highest |
* If you need deterministic results, add randseed:123 to your search. Passing the same seed will return the same set of random posts. This supports pagination, and the following pages will contain no duplicates. Seeds must be numbers.
** You can use the hot_from metatag with a date (see below for accepted date formats) to change the start of the 2 day window order:hot sorts posts over.
Almost all orders can be reversed by adding a - before the metatag. For example, -order:score is equivalent to order:score_asc, and -order:score_asc is equivalent to order:score. If the order category isn't capable of being reversed, it will be equivalent to the non-negated version.
Full List (including shorthand variants)
Many of these have alternative forms that are removed from the autocomplete to minimize bloat. Here are all valid order metatags, with each item in a cell being equivalent to every other item in that cell.
| Category | Main Ordering | Reversed Ordering |
|---|---|---|
| Creation Date | order:created_at, order:created_at_desc, -order:created_at_asc, order:created, order:created_desc, -order:created_asc | -order:created_at, -order:created_at_desc, order:created_at_asc, -order:created, -order:created_desc, order:created_asc |
| Update Date | order:updated_at, order:updated_at_desc, -order:updated_at_asc, order:updated, order:updated_desc, -order:updated_asc | -order:updated_at, -order:updated_at_desc, order:updated_at_asc, -order:updated, -order:updated_desc, order:updated_asc |
| Comment | order:comm, order:comm_desc, -order:comm_asc, order:comment, order:comment_desc, -order:comment_asc | -order:comm, -order:comm_desc, order:comm_asc, -order:comment, -order:comment_desc, order:comment_asc |
| Comment Bumped | order:comm_bumped, order:comm_bumped_desc, -order:comm_bumped_asc, order:comment_bumped, order:comment_bumped_desc, -order:comment_bumped_asc | -order:comm_bumped, -order:comm_bumped_desc, order:comm_bumped_asc, -order:comment_bumped, -order:comment_bumped_desc, order:comment_bumped_asc |
| Comment Count | order:comm_count, order:comm_count_desc, -order:comm_count_asc, order:comment_count, order:comment_count_desc, -order:comment_count_asc | -order:comm_count, -order:comm_count_desc, order:comm_count_asc, -order:comment_count, -order:comment_count_desc, order:comment_count_asc |
| Filesize | order:size, order:size_desc, -order:size_asc, order:filesize, order:filesize_desc, -order:filesize_asc | -order:size, -order:size_desc, order:size_asc, -order:filesize, -order:filesize_desc, order:filesize_asc |
| Aspect Ratio | order:ratio, order:ratio_desc, -order:ratio_asc, order:aspect_ratio, order:aspect_ratio_desc, -order:aspect_ratio_asc, -order:portrait, order:landscape | -order:ratio, -order:ratio_desc, order:ratio_asc, -order:aspect_ratio, -order:aspect_ratio_desc, order:aspect_ratio_asc, order:portrait, -order:landscape |
| Resolution | order:mpixels, order:mpixels_desc, -order:mpixels_asc | -order:mpixels, -order:mpixels_desc, order:mpixels_asc |
| General Tags | order:general_tags, order:general_tags_desc, -order:general_tags_asc, order:gentags, order:gentags_desc, -order:gentags_asc | -order:general_tags, -order:general_tags_desc, order:general_tags_asc, -order:gentags, -order:gentags_desc, order:gentags_asc |
| Artist Tags | order:artist_tags, order:artist_tags_desc, -order:artist_tags_asc, order:arttags, order:arttags_desc, -order:arttags_asc | -order:artist_tags, -order:artist_tags_desc, order:artist_tags_asc, -order:arttags, -order:arttags_desc, order:arttags_asc |
| Contributor Tags | order:contributor_tags, order:contributor_tags_desc, -order:contributor_tags_asc, order:conttags, order:conttags_desc, -order:conttags_asc | -order:contributor_tags, -order:contributor_tags_desc, order:contributor_tags_asc, -order:conttags, -order:conttags_desc, order:conttags_asc |
| Copyright Tags | order:copyright_tags, order:copyright_tags_desc, -order:copyright_tags_asc, order:copytags, order:copytags_desc, -order:copytags_asc | -order:copyright_tags, -order:copyright_tags_desc, order:copyright_tags_asc, -order:copytags, -order:copytags_desc, order:copytags_asc |
| Character Tags | order:character_tags, order:character_tags_desc, -order:character_tags_asc, order:chartags, order:chartags_desc, -order:chartags_asc | -order:character_tags, -order:character_tags_desc, order:character_tags_asc, -order:chartags, -order:chartags_desc, order:chartags_asc |
| Species Tags | order:species_tags, order:species_tags_desc, -order:species_tags_asc, order:spectags, order:spectags_desc, -order:spectags_asc | -order:species_tags, -order:species_tags_desc, order:species_tags_asc, -order:spectags, -order:spectags_desc, order:spectags_asc |
| Invalid Tags | order:invalid_tags, order:invalid_tags_desc, -order:invalid_tags_asc, order:invtags, order:invtags_desc, -order:invtags_asc | -order:invalid_tags, -order:invalid_tags_desc, order:invalid_tags_asc, -order:invtags, -order:invtags_desc, order:invtags_asc |
| Tags | order:meta_tags, order:meta_tags_desc, -order:meta_tags_asc, order:metatags, order:metatags_desc, -order:metatags_asc | -order:meta_tags, -order:meta_tags_desc, order:meta_tags_asc, -order:metatags, -order:metatags_desc, order:metatags_asc |
| Lore Tags | order:lore_tags, order:lore_tags_desc, -order:lore_tags_asc, order:lortags, order:lortags_desc, -order:lortags_asc | -order:lore_tags, -order:lore_tags_desc, order:lore_tags_asc, -order:lortags, -order:lortags_desc, order:lortags_asc |
| Id | order:id, -order:id_desc, order:id_asc | -order:id, order:id_desc, -order:id_asc |
| Score | order:score, order:score_desc, -order:score_asc | -order:score, -order:score_desc, order:score_asc |
| MD5 | order:md5, order:md5_desc, -order:md5_asc | -order:md5, -order:md5_desc, order:md5_asc |
| Favorite Count | order:favcount, order:favcount_desc, -order:favcount_asc | -order:favcount, -order:favcount_desc, order:favcount_asc |
| Note | order:note, order:note_desc, -order:note_asc | -order:note, -order:note_desc, order:note_asc |
| Tag Count | order:tagcount, order:tagcount_desc, -order:tagcount_asc | -order:tagcount, -order:tagcount_desc, order:tagcount_asc |
| Change Seq | order:change, order:change_desc, -order:change_asc | -order:change, -order:change_desc, order:change_asc |
| Duration | order:duration, order:duration_desc, -order:duration_asc | -order:duration, -order:duration_desc, order:duration_asc |
| Random | order:random, -order:random | No Reversed Ordering Supported |
| Hot | order:hot, -order:hot | No Reversed Ordering Supported |
[[e621:cheatsheet#Sorting]]
↑ User-Based Metatags
These metatags are used to search for posts based on user-related information.
The basic form is metatag:username (e.g., favoritedby:Bob). You can also search for these by the user's id by adding an exclamation point before the id. For example, user:!17633 searches for posts uploaded by a user with the ID # 17633, rather than the name "17633".
| Search | What it does |
|---|---|
| user_id:17633* | Posts uploaded by a user with the ID # 17633, rather than the name "17633" |
| user:Bob | Posts uploaded by Bob |
| fav:Bob/favoritedby:Bob | Posts favorited by Bob |
| voted:anything** | Posts you voted on. Only works while logged in. |
| votedup:anything/upvote:anything** | Posts you upvoted. Only works while logged in. |
| voteddown:anything/downvote:anything** | Posts you downvoted. Only works while logged in. |
| approver:Bob | Posts approved by Bob |
| deletedby:Bob | Posts deleted by Bob |
| commenter:Bob/comm:Bob | Posts commented on by Bob |
| noter:Bob | Posts with notes written by Bob |
| noteupdater:Bob | Posts with notes updated by Bob |
* This metatag cannot use the metatag:!user_id syntax.
** anything can be replaced w/ any text; it will only return results relating to the logged-in user. Only staff members can search another user's votes.
[[e621:cheatsheet#UserMetatags]]
↑ Post-Based Metatags
These metatags are used to search for posts based on post-related information.
Counts
| Tag counts | What it does | Supported syntax |
|---|---|---|
| id:100 | Post with an ID of 100 | range |
| score:100 | Posts with a score of 100 | range |
| favcount:100 | Posts with exactly 100 favorites | range |
| comment_count:100 | Posts with exactly 100 comments | range |
| tagcount:2 | Posts with exactly 2 tags | range |
| gentags:2 | Posts with exactly 2 general tags | range |
| arttags:2 | Posts with exactly 2 artist tags | range |
| conttags:2 | Posts with exactly 2 contributor tags | range |
| chartags:2 | Posts with exactly 2 copyright tags | range |
| copytags:2 | Posts with exactly 2 character tags | range |
| spectags:2 | Posts with exactly 2 species tags | range |
| invtags:2 | Posts with exactly 2 invalid tags | range |
| metatags:2 | Posts with exactly 2 tags | range |
| lortags:2 | Posts with exactly 2 lore tags | range |
[[e621:cheatsheet#Counts]]
Rating
| Rating | Shorthand | What it does |
|---|---|---|
| rating:safe | rating:s | Posts rated safe |
| rating:questionable | rating:q | Posts rated questionable |
| rating:explicit | rating:e | Posts rated explicit |
[[e621:cheatsheet#Rating]]
File Types
| File type | What it does |
|---|---|
| type:jpg | Posts that are JPG, a type of image |
| type:png | Posts that are PNG, a type of image (may be animated; see animated_png) |
| type:gif | Posts that are GIF, a type of image (frequently animated) |
| type:mp4 | Posts that are MP4, a type of video |
| type:swf | Posts that are Flash, a legacy format used for animation & interactivity |
| type:webm | Posts that are WebM, a type of video |
[[e621:cheatsheet#FileTypes]]
Image Size
| Image Size | What it does | Supported syntax |
|---|---|---|
| width:100 | Posts with a width of 100 pixels | range |
| height:100 | Posts with a length of 100 pixels | range |
| mpixels:1 | Posts that are 1 megapixel (a 1000x1000 image equals 1 megapixel) | range |
| ratio:1.33 | Search for posts with a ratio of 4:3. All ratios are rounded to two digits, therefore 1.33 will return posts with a ratio of 4:3. | range |
| filesize:200KB | Posts with a file size of 200 kilobytes. File sizes within ±5% of the value are included. | range |
| filesize:2MB | Posts with a file size of 2 megabytes. File sizes within ±5% of the value are included. | range |
[[e621:cheatsheet#ImageSize]]
Post Status
| Post status | What it does |
|---|---|
| status:pending | Posts that are waiting to be approved or deleted |
| status:active* | Posts that have been approved |
| status:deleted* | Posts that have been deleted |
| status:flagged | Posts that are flagged for deletion |
| status:modqueue | Posts that are pending or flagged |
| status:any*/status:all* | All active or deleted posts |
* Disables implicit filtering of deleted posts from results. Note that adding -status:deleted to a search outside of a group will disable implicit filtering, but still explicitly remove all deleted posts from the results. Adding a deletedby metatag or delreason metatag with any value will also disable this.
Advanced Details
- This metatag does not support the "~" prefix.
- Only 1 status metatag may be used in a search. Using groups, you may use 1 status metatag outside of all groups & 1 status metatag per each group, with each nested group also being able to use 1 additional status metatag.
- If that's confusing, it might help to think of each group being processed independently of all other groups (including the overall search as an implicit root group); there's only space to store 1 status metatag per group, but each group has its own space for their own single status metatag.
[[e621:cheatsheet#Status]]
Dates
| Single day | What it does | Supported syntax | |
|---|---|---|---|
| date:2012-04-27 | date:april/27/2012 | Search for posts uploaded on a specific date; assumes year-month-day format by default. | range |
| date:today | date:yesterday | Same as above, but specific to today and yesterday | range |
| Simple time period | What it does | Supported syntax |
|---|---|---|
| date:day | Posts from the last day | range, ago, yester |
| date:week | Posts from the last 7 days | range, ago, yester |
| date:month | Posts from the last 30 days | range, ago, yester |
| date:year | Posts from the last 365 days | range, ago, yester |
| date:decade | Posts from the last decade | range* |
* Only x..decade is supported (e.g., date:decade..year)
| Ago syntax | What it does | Supported syntax |
|---|---|---|
| date:5_days_ago | Posts from within the last 5 days | range** |
| date:5_weeks_ago | Posts from within the last 5 weeks | range**, yester |
| date:5_months_ago | Posts from within the last 5 months | range**, yester |
| date:5_years_ago | Posts from within the last 5 years | range**, yester |
** If used as the first of a range, will start at the first day of that range. For example, date:year..month will range from 30 days ago to 1 year ago.
| Yester syntax | What it does | Supported syntax |
|---|---|---|
| date:yesterweek | Posts from last week | ago |
| date:yestermonth | Posts from last month | ago |
| date:yesteryear | Posts from last year | ago |
| date:5_yesteryears_ago | Posts from 5 years ago |
[[e621:cheatsheet#Dates]]
Text Searching
| Text searching | What it does |
|---|---|
| source:*example.com | Posts with a source that contains example.com, prefix matched, use wildcards as needed |
| source:none | Posts without a source |
| description:whatever | Posts with a description that contains the text whatever. |
| description:"hello there" | Posts with a description that contains the text hello there. |
| note:whatever | Posts with a note that contains the text whatever |
| delreason:*whatever | Deleted posts that contain a reason with the text whatever, prefix matched, use wildcards as needed |
[[e621:cheatsheet#TextSearching]]
Parents and Children
| Parents and Children | Opposite | What it does |
|---|---|---|
| ischild:true | ischild:false | Posts that are(n't) a child |
| isparent:true | isparent:false | Posts that are(n't) a parent |
| parent:1234 | Posts with a parent of 1234 | |
| parent:none | parent:any | Posts with no(/any) parent; same as ischild:false(/ischild:true) |
| child:none | child:any | Posts with no(/any) child; same as isparent:false(/isparent:true) |
[[e621:cheatsheet#ParentsAndChildren]]
Locks
Posts can be put in a state where certain properties cannot be changed; this prevents further incorrect actions, & is only done after numerous incorrect changes have been made to the post. For example, users missing a hard-to-spot genital & rating the post Safe instead of Explicit might get the rating locked, users thinking photo-realistic posts are genuine photos & flagging for violating the Uploading Guidelines might get the status locked, & users incorrectly adding notes for an intentional "typo" might get the notes locked.
| Metatag | What it does | ||
|---|---|---|---|
| ratinglocked:true/locked:rating | ratinglocked:false/-locked:rating | ~locked:rating | Posts with rating (un)locked |
| notelocked:true/locked:note/locked:notes | notelocked:false/-locked:note/-locked:notes | ~locked:note | Posts with notes (un)locked |
| statuslocked:true/locked:status | statuslocked:false/-locked:status | ~locked:status | Posts with status (un)locked |
[[e621:cheatsheet#Locks]]
Other
| Metatag | What it does | |
|---|---|---|
| hassource:true | hassource:false | Posts with or without a source |
| hasdescription:true | hasdescription:false | Posts with or without a description |
| inpool:true | inpool:false | Posts that are or aren't in a pool |
| pending_replacements:true | pending_replacements:false | Posts that have or don't have any pending replacements |
| artverified:true | artverified:false | Posts that were or were not uploaded by artists who are verified |
| pool:4 | pool:fox_and_the_grapes | Posts in the pool "Fox and the Grapes" |
| set:17 | set:cute_rabbits | Posts in the set with the short name "cute_rabbits" |
| md5:02dd0... | Post with the given MD5 hash. MD5 hashes will never be shared by more than one image. | |
| duration:>120 | Videos with a duration of at least 120 seconds |
[[e621:cheatsheet#Other]]
↑ Range Syntax
Some of the prior metatags support searching for a range of values:
| Search | Equivalent Form | What it does |
|---|---|---|
| id:100 | Post with an ID of exactly 100 | |
| id:100,121,144,... | Post with an ID of either 100, 121, 144, ... | |
| date:year..month | Posts uploaded between 30 days ago and 1 year ago | |
| filesize:200KB..300KB | Posts with a file size between 200 kilobytes and 300 kilobytes | |
| score:25..50 | Posts with a score between 25 and 50 | |
| score:>=100 | score:100.. | Posts with a score of 100 or greater (100+) |
| score:>100 | -score:<=100 | Posts with a score greater than 100 (101+) |
| favcount:<=100 | favcount:..100 | Posts with 100 or less favorites (0-100) |
| favcount:<100 | -favcount:>=100 | Posts with less than 100 favorites (0-99) |
[[e621:cheatsheet#RangeSyntax]]
^1: Metatags count towards this limit.
^2: Specifically, the wildcard & ~tag syntaxes do not combine well. Behind the scenes, tag wildcards (but not metatag wildcards) are implemented by adding the 40 most popular matching tags to the same internal list as tags prefixed with ~. E.g. ~eagle ~domestic_dog *_cat is the same as ~eagle ~domestic_dog ~domestic_cat ~calico_cat ~tabby_cat... & not ~eagle ~domestic_dog ( ~domestic_cat ~calico_cat ~tabby_cat... ) as you might have assumed. Additionally, using both of these together (e.g. ~*_cat ~tiger) simply adds the tag to the list directly without performing the wildcard resolution (e.g. posts tagged with either *_cat or ~tiger), effectively discarding that item from the search, as no tag can include a *. These quirks do not apply to negated wildcards.