Search syntax
Scryfall-style queries for catalog search, deck filter, and collection filter.
Overview
CommanderView accepts Scryfall-style search syntax in three places:
- Catalog — nav search on the home page (full card database, server-side)
- Deck filter — filter field in the deck editor toolbar (in-memory, cards already in the deck)
- Collection filter — filter field on the collection page (in-memory)
Structured panel filters (color, type, CMC) on deck and collection stack on top of the text query. Unparseable filter text falls back to plain substring search on name, set name, and collector number.
Result directives such as unique:, order:, direction:, and lang: are stripped during parse and do not affect which cards match in deck or collection filters. In catalog search they control how results are grouped and sorted.
Compatibility with Scryfall
Read thisCommanderView aims to match Scryfall syntax for everyday queries, but it is a subset. Catalog search compiles to Postgres; deck/collection filters run the same AST against each loaded card in memory. Unsupported fields either throw (catalog cube:) or simply never match.
Aligned high-traffic shortcuts (checked against the Scryfall API; totals drift as new sets arrive):
is:commander/is:duelcommander/is:brawler/is:oathbreaker— front-face eligibility for those roles (is:commanderallows not_legal but excludes banned; duel/brawl/oathbreaker require legal/restricted in that format).is:partner— Backgrounds, Time Lord Doctors, Doctor's companion, and legendary Partner-style mechanics.is:phyrexian— Phyrexian mana in casting cost or oracle text (not the Phyrexian creature type alone).is:masterpiece,is:meldpart/is:meldresult,b:/block:,stamp:— supported. Catalog-only:g:/group:,new:art(and rarity/frame/language/artist/ flavor).- Faces — denormalized catalog columns join face type lines, mana costs, and (when top-level
colorsis empty) face colors forc:.
Not supported: cube: (external cube lists). See field notes below.
Colors and Color Identity
Find cards by color with c: or color:. Find cards by color identity with id: or identity:.
Use abbreviated letters w, u, r, b, g, or full color names. Guild, shard, wedge, college, and four-color nicknames are supported. Use c or colorless for colorless cards and m or multicolor for multicolor cards.
Comparison operators (>, <, >=, <=, !=, =) work on both fields. Numbers match cards with exactly that many colors.
Card Types
Use t: or type: to match supertype, card type, or subtype. Partial words are allowed.
Card Text
Use o: or oracle: to search oracle text. fo: and fulloracle: are aliases. Use quotes for phrases with spaces or punctuation.
Use kw: or keyword: to match keyword abilities. Use ft: or flavor: for flavor text.
Bare words without a field prefix search card names (catalog uses full-text search when possible).
Mana Costs
Use m: or mana: to search mana costs. Single-letter symbols like G work as shorthand for {G}. Complex symbols must use braces, e.g. {2/G}.
Mana cost comparisons (m>, m<, etc.) are not supported — use m: substring match only.
Use mv:, cmc:, or manavalue: for mana value with numeric comparisons. Parity filters (mv:even, mv:odd) are not supported.
Use produces: to find cards that produce specific mana. devotion: matches colored mana symbols in a card's mana cost (for example devotion:wu or devotion>=3).
Power, Toughness, and Loyalty
Use pow: / power: and tou: / toughness: with numeric comparisons. * is not comparable. Combined pt: / powtou: and loyalty: / loy: are supported.
Multi-faced Cards
Use layout: to match a card's physical layout (normal, split, transform, modal_dfc, token, vanguard, etc.). The same values work as is: shortcuts (for example is:split and layout:split).
Supported layout shortcuts: is:split, is:transform (alias is:dfc), is:mdfc, is:meld, is:meldpart, is:meldresult, is:flip, and is:leveler.
Spells, Permanents, and Effects
is:spell matches instants, sorceries, and other cast-as-spell types. is:permanent matches creatures, artifacts, enchantments, planeswalkers, battles, and lands. is:vanilla matches creatures with empty oracle text.
is:partner and is:companion match those commander mechanics (see Compatibility). Partner covers Backgrounds / Doctors / Doctor's companion / legendary Partner-style mechanics. is:party, is:outlaw, is:bear, is:frenchvanilla, and is:historic are supported.
Rarity
Use r: or rarity: with common, uncommon, rare, mythic, special, or bonus. Comparison operators work. Catalog search also supports new:rarity (first printing at that rarity for the oracle).
Use in:rare to find cards ever printed at that rarity. In catalog search this checks any printing; in deck/collection filters it checks the current printing only.
Sets
Use s:, e:, set:, or edition: with a three-letter set code. Use st: or set_type: for set type (core, expansion, commander, etc.).
Use cn: or collector_number: for collector number match (exact or numeric comparisons like cn>50). b: / block: maps a set code to its block. Catalog g: / group: finds a set plus its parent, siblings, and children (e.g. g:mh1 includes tokens/promos; refreshed from Scryfall on card import).
in: with a set code finds cards that have ever appeared in that set (catalog checks oracle-wide stats; deck/collection checks current printing only). in: with set types (e.g. in:core, in:commander) works the same way.
Format Legality
Use f:, format:, or legal: for cards legal in a format. Use banned: and restricted: for those lists. Standard format names are supported (commander, modern, legacy, vintage, pauper, duel, etc.).
is:commander, is:duelcommander, is:brawler, and is:oathbreaker find cards eligible for those roles (see Compatibility). is:gamechanger and is:reserved match those lists.
Filter by EDHREC rank with edhrec: or edhrecrank: and numeric comparisons (lower rank = more popular).
USD / EUR / TIX Prices
Compare print prices with usd:, eur:, and tix: using numeric operators. Prices come from each card's stored price object (nonfoil preferred, then foil).
cheapest:usd and similar are catalog result directives, not filter predicates in deck/collection.
Border, Frame, Foil, and Finish
Use border: for black, white, silver, or borderless. Use frame: for frame edition or frame effects (showcase, extendedart, etched, etc.).
Finish shortcuts: is:foil, is:nonfoil, is:etched. is:full / is:fullart, is:promo, is:spotlight, is:hires, and is:glossy are supported where listed in is: handling. stamp:oval (and acorn/triangle/arena) matches security stamps after a catalog re-import. new:frame is supported in catalog search.
Games, Promos, and Spotlights
Use game: for paper, mtgo, or arena. in:paper, in:mtgo, and in:arena work similarly (catalog checks any printing).
is:digital matches MTGO or Arena cards. is:paper matches paper-available cards. is:promo and is:spotlight match promotional and Story Spotlight cards.
Year and Release Date
Use year: with numeric comparisons on the release year. Use date: with yyyy-mm-dd dates. Set codes as dates, now, and today shortcuts are not supported.
Reprints and Print Counts
Catalog onlyis:reprint and not:reprint use cross-printing history. prints:, sets:, paperprints:, and papersets: compare counts across all printings via oracle_printing_stats. Catalog new: filters (new:art, new:rarity, new:frame, new:language, new:artist, new:flavor, new:true) find the first printing that introduces that property. is:unique is not supported.
Languages
Use lang: or language: with a language code (en, ja, de, etc.). lang:any is not supported. Catalog search supports new:language (first printing in that language for the oracle).
in:ja finds cards ever printed in Japanese (catalog checks any printing; deck/collection checks current printing only).
Shortcuts and Nicknames
Land-cycle shortcuts resolve to Scryfall Tagger otags (see is-land-otag.ts). Examples: is:fetchland, is:shockland, is:filterland (hybrid only), is:signetland, is:bounceland (is:karoo), is:creatureland (is:manland), is:storageland, is:gainland.
is:hybrid matches hybrid mana in mana_cost (including compleated hybrids like {G/W/P}). is:phyrexian matches Phyrexian mana in casting cost or oracle text — not the Phyrexian creature type alone. See Compatibility. is:masterpiece matches set_type:masterpiece.
is:, not:, and has:
is: matches a card property shortcut. not: is the same as -is:. Prefix any keyword with - to negate it.
has:image matches printings with any image status except missing. has:foil matches cards with a foil finish. has:indicator matches color indicators (catalog + client). has:watermark is not supported.
Layout tokens: is:token, is:emblem, is:art_series. Promo type tokens such as is:universesbeyond, is:prerelease, and many others match when present in promo_types.
cube: throws an error — external cube lists are not available.
Negating Conditions
Prefix keywords with - to invert them. not:reprint is equivalent to -is:reprint.
Regular Expressions
Wrap a pattern in forward slashes for regex on name, t:, o:, and ft: fields. Matching is case-insensitive.
Exact Names
Prefix a name with ! to require an exact name match (case-insensitive).
Using OR
By default all terms must match. Use OR or or between terms to match any of them.
Nesting Conditions
Use parentheses to group conditions, especially with OR.
Display Keywords
Catalog onlyThese control result shape in catalog search; they are ignored when filtering deck or collection cards:
unique:cards,unique:prints,unique:art— deduplicate resultsorder:/sort:— sort field (e.g.order:usd,order:edhrec,order:name)direction:ascordirection:desclang:en— prefer a language when deduplicatingprefer:oldest,prefer:newest,prefer:defaultcheapest:usd,cheapest:eur,cheapest:tix
include:extras is not modeled. See the Scryfall syntax reference for features CommanderView does not implement yet (cube: and more).