MTG Search Operators: The Scryfall Syntax Cheat Sheet
August 16, 2026

What MTG search operators actually do
MTG search operators are the short codes, like c:, t:, o:, and mv:, that let you filter a card database instead of scrolling through it. Type c:ur t:instant mv<=2 into Scryfall's search bar and you get every cheap Izzet instant in the game, sorted and ready. This guide covers the operators that actually matter, how to combine them without breaking your query, and a handful you can copy straight into a search bar today.
Every operator follows the same shape: a field name, a colon or comparison symbol, and a value. t: means "type," o: means "oracle text," and so on. Learn a dozen of these and you can describe almost any card you're picturing in your head well enough for the search engine to find it in under a second.
The core operators, in one table
These cover the vast majority of real searches. All of them accept the comparison symbols :, =, <, <=, >, and >= where a range makes sense.
| Operator | What it filters | Example |
|---|---|---|
| c: / color: | Colors in the mana cost | c:rg (red and green) |
| id: / identity: | Color identity, for Commander legality | id<=bant |
| t: / type: | Card type and subtype | t:"legendary creature" |
| o: / oracle: | Rules text on the card | o:"draw a card" |
| mv: / cmc: | Mana value | mv<=2 |
| pow: / tou: | Power and toughness | pow>=4 tou<=2 |
| r: / rarity: | Rarity | r:mythic |
| s: / set: / e: | Set or expansion code | s:mkm |
| f: / legal: | Format legality | f:commander |
| is: | Special card properties | is:commander, is:mdfc |
| usd / eur / tix | Price by currency | usd<1 |
Color versus color identity, the mix-up almost everyone makes
c: looks only at a card's mana cost. id: also counts colors that show up as symbols in the rules text, hybrid mana, and color indicators, which is exactly what Commander's color identity rule cares about. A card can be colorless to cast but still have a color identity, and Scryfall's own color identity coverage update exists specifically because this distinction trips people up.
For Commander deckbuilding, the default comparison on id: behaves like <=, meaning "these colors or fewer." That's on purpose: id<=mardu returns every card that fits inside a Mardu commander's deck, including mono-colored and colorless cards, not just cards that are exactly Mardu. Use id=mardu instead if you only want cards that hit all three colors.
Color nicknames save typing. Guild names cover two-color pairs (azorius, rakdos, gruul), shard and wedge names cover three (bant, esper, mardu, jeskai), and four-color combinations have names too (chaos, artifice). id<=temur reads a lot cleaner than id<=gur.
Comparing numbers: mana value, power, toughness, price
Anything numeric takes the same comparison symbols. A few that come up constantly when you're actually building something:
mv<=2for a low curve, ormv=0to find free spells like Ornithopterpow>=4 tou<=2for glass-cannon attackersloyalty>=5for planeswalkers that survive a hitusd<1for cards priced like bulk, orusd>50to see what's expensive in a set
Combining operators without breaking your search
Space-separated terms are combined automatically, so c:u t:instant o:counter finds blue instants with "counter" somewhere in their text. That's an implicit AND, and it's how most queries work without you doing anything extra.
To search either side of a condition, use the word or. To control how a group of OR terms interacts with the rest of the query, wrap it in parentheses. (t:instant or t:sorcery) o:destroy mv<=2 reads as "instant or sorcery, and it destroys something, and it costs two or less." Drop the parentheses and the logic falls apart, because or would apply to the whole line instead of just the type check.
A leading minus sign excludes a term. t:creature -t:human finds every creature that isn't a Human. Multi-word values need quotes, single or double: t:"legendary creature" matches the exact type line text, while t:'legendary human' matches nothing, since Human is a creature subtype rather than part of the "legendary creature" phrase itself.
Ready-to-use queries for real deckbuilding jobs
Find every legal commander in your colors
is:commander id=mardu lists every card that can lead a Mardu (red/white/black) Commander deck. Swap id= for id<= if you want commanders whose identity fits inside Mardu but doesn't use all three colors.
Budget removal for a two-mana slot
(t:instant or t:sorcery) o:destroy mv<=2 usd<1 finds cheap, cheap-to-cast removal in one line. Swap o:destroy for o:exile if your deck needs to dodge indestructible.
One-mana ramp for a green deck
t:artifact o:"add {g}" mv<=1 pulls up mana rocks that tap for green and cost a single mana, the kind of card that quietly wins Commander games on turn three.
Modal double-faced lands for your mana base
is:mdfc t:land finds modal double-faced cards with a land on the back, a fast way to shore up fixing without spending a card slot on a land that does nothing else.
Where this same logic shows up outside Scryfall
Scryfall isn't the only place running this system. Grimoria's card search reads the same underlying fields, color, type, oracle text, mana value, rarity, and price, but exposes them as filters you click instead of syntax you type. Once you know what c: or mv: actually does, the dropdowns make more sense, because they're doing the identical job behind a friendlier interface. The card search guide walks through how those filters map to the fields covered above, and the collection filtering and sorting guide covers the same idea applied to cards you already own.
Building around a specific commander tends to start with exactly the kind of query in this guide: find your legal commanders, lock in a color identity, then pull every card that fits it. Once you've got a card pool, our deck-building guide and roundup of deck-building tools cover what to do with it next.
Frequently asked questions
What's the difference between c: and id: in a search query?
c: (color) looks at a card's mana cost, so it matches cards you can cast with those colors of mana. id: (color identity) also counts colors from text-box symbols like hybrid mana and color indicators, and it's what Commander uses to decide if a card fits your commander's colors. Use id: for Commander deckbuilding and c: for cost-based filtering.
How do I find every card a specific commander can use?
Start with is:commander id=mardu (swap in your colors) to see legal commanders. Once you've picked one, drop is:commander and search id<=mardu combined with a type or oracle text filter to browse every card that fits inside that same color identity for your deck.
How do I combine multiple search operators in one query?
Space-separated terms combine automatically, so c:u t:instant o:counter finds blue instants with counter in their text. Use the word or to search either side of a condition, wrap groups in parentheses to control how they interact, and put a minus sign in front of any term you want excluded, like -t:legendary.
What does mv: or cmc: mean in a search?
Both search a card's mana value, the number on its mana cost. Wizards renamed "converted mana cost" to "mana value" in 2020, and Scryfall kept cmc: working as an alias so older saved searches still function. mv<=2 finds cheap spells; mv=0 finds free cards like Ornithopter.
Can I search by price to find budget cards?
Yes. usd, eur, and tix filter by the cheapest available printing in US dollars, euros, or MTGO tickets. usd<1 turns up cards priced like bulk, and prices update regularly, so treat the results as a snapshot rather than a fixed number.
Open a search bar, pick two or three operators from the table above, and try one of the queries in this guide against your own deck idea. It clicks a lot faster once you watch your own results change in real time.