![]() |
Cockatrice 2026-10-19-Development-3.1.2-beta.2
A virtual tabletop for multiplayer card games
|
There are four ways to make Cockatrice use custom artwork for your cards:
Each of these is described below. If pictures are missing or wrong, see Fixing Card Pictures instead.
Any image file placed in the CUSTOM folder is used as the card picture, and no download is attempted for cards that match a file there.
The file name must match the card using one of the naming schemes below. Both _ and - are accepted as separators, and the file extension is ignored when matching:
| Scheme | Example file name |
|---|---|
| Card Name | Example Card.png |
| Card Name + Set | Example Card_DDL.png |
| Card Name + Set + Collector | Example Card_DDL_43.png |
| Set + Collector + Card Name | DDL_43_Example Card.png |
| Card Name + Provider ID | Example Card_0b23cdc8-d413-4fb1-8470-474221b10fe2.png |
The name used for matching is the corrected card name. Correction removes the split-card separator // and the characters reserved in Windows file names (* < > : " \ ? and control characters), and turns / into a space, so the "Example // Card" card is matched by a file named ExampleCard.png, not Example // Card.png. Most other punctuation (commas, apostrophes, !, ...) is left untouched.
The naming conventions are the same as those recognized in the set-named subfolders and in downloadedPics, and are documented for developers in Loading Card Pictures.
If you maintain your own card database (see the Custom Cards & Sets wiki), each printing's <set> tag can carry a picurl attribute containing a full URL for that printing's picture:
Cockatrice tries this URL before the configured download URL templates, so it is the most direct way to provide custom artwork for a specific printing.
The built-in download URLs are templates: Cockatrice replaces reference points in the URL with information about the card and its printing. You can write your own templates in 'Cockatrice → Settings' (Ctrl + Shift + P by default), on the 'Deck Editor' tab, in the 'URL Download Priority' section.
The following reference points are available:
| Reference point | Description | Example |
|---|---|---|
| !name! | Card name | Example Card |
| !name_lower! | Card name, lower case | example card |
| !corrected_name! | Corrected card name | ExampleCard (instead of "Example // Card") |
| !corrected_name_lower! | Corrected card name, lower case | examplecard |
| !sflang! | Scryfall language code for the current client language; defaults to English when the language has no localized images | en, zhs |
| !setcode! / !setcode_lower! | Set code | EXM / exm |
| !setname! / !setname_lower! | Full set name | Exemplary Set / exemplary set |
| !set:<property>! | A property of this printing, e.g. muid (Gatherer multiverse ID), uuid (Scryfall UUID), num (collector number), rarity | 373549 |
| !prop:<property>! | A property of the card, e.g. side (front/back), colors, cmc, coloridentity, type, pt, and the format legality statuses | front |
The !set:...! and !prop:...! reference points support two modifiers:
Substituted values are URL-encoded. A template that asks for a property the card or printing does not have is skipped, and the next template in the list is tried instead.
Some working examples:
See the Custom Picture Download URLs wiki for more examples and ideas.
The quickest way to give one card custom art is an image override: right-click the card in the deck editor's printing selector and open the Image Overrides submenu of the context menu.
Overrides are stored as .png files in <pictures directory>/downloadedPics/, under the "Naming scheme" configured on the Storage settings page, and are matched the same way as downloaded images. Because local files are checked before any URL is requested, an override always wins over downloaded artwork and picurl for that card. The override exists only on the machine it was created on - it is not part of the deck file - so a card with a stored override shows normally on another computer.