Skip to main content
Scraper API

How to Make High Quality MTG Proxies: The 2026 Technical Guide

8 min read

How to Make High-Quality MTG Proxies: A Technical Guide

Disclaimer: The following guide is for educational and proxy-use purposes (e.g., Commander playtesting) only. Creating counterfeit cards for sale as genuine is illegal and violates intellectual property laws.

---

1. The Three Pillars of Proxy Creation

Achieving a "high-quality" result—where the card looks and feels authentic inside a sleeve—relies on three variables:

1. Source Data (Image Quality): Digital garbage in, physical garbage out. 2. Substrate (Cardstock): This determines the "snap" and opacity. 3. Output (Print & Finish): Color accuracy and texture application.

2. Technical Specifications for Digital Assets

Before you print, you must understand the math behind the card. A standard MTG card is 63mm x 88mm.

Resolution and DPI

To match the sharpness of a genuine card printed by Cartamundi, you need a specific pixel density.

  • Print Standard: 300 DPI (Dots Per Inch).
  • Pixel Dimensions: Approximately 874 x 1243 pixels.
  • Color Profile: sRGB IEC61966-2.1 (Standard for web images) vs. CMYK (for industrial printing). For home printing, stick to sRGB but ensure your printer manages colors, not the application.
  • Sourcing Images (The "Scryfall" API)

    Manual downloading is inefficient. As a scraping expert, I recommend utilizing the official Scryfall API for bulk fetching.

    Python Script: Bulk Image Fetching

    Do not scrape HTML pages (which is brittle and slow); use the Bulk Data endpoint.

    import requests
    

    import json import os from PIL import Image from io import BytesIO

    def fetch_high_res_cards(card_names, output_dir="proxies_raw"): """ Fetches high-resolution art and crop images from Scryfall. """ if not os.path.exists(output_dir): os.makedirs(output_dir)

    for name in card_names: # Use the fuzzy search endpoint search_url = f"https://api.scryfall.com/cards/named?fuzzy={name}" response = requests.get(search_url)

    if response.status_code != 200: print(f"Failed to find {name}") continue

    data = response.json()

    # We want the 'large' or 'png' type for best quality try: # Prefer 'border_crop' for full art proxies or 'large' for normal frames image_url = data.get('image_uris', {}).get('large') or \ data.get('card_faces', [{}])[0].get('image_uris', {}).get('large')

    if not image_url: image_url = data.get('image_uris', {}).get('png')

    print(f"Downloading {name} from {image_url}...") img_response = requests.get(image_url)

    # Save to file filename = f"{output_dir}/{name.replace(' ', '_').replace('/', '-')}.png" with open(filename, 'wb') as f: f.write(img_response.content)

    except Exception as e: print(f"Error downloading {name}: {e}")

    Example Usage

    my_decklist = ["Black Lotus", "Animate Wall", "Force of Will"] fetch_high_res_cards(my_decklist)

    3. The Substrate: Paper Selection Secrets

    This is where 99% of home proxies fail. Standard printer paper is 80 gsm (roughly 20lb). Real MTG cards are roughly 340 gsm (approx 0.012 inches thick).

    The "German Black Core" Standard

    In the high-quality proxy community, "German Black Core" or "S30" cardstock is the gold standard. It refers to the opacity of the center layer.

    | Paper Type | GSM | Opacity | Use Case | | :--- | :--- | :--- | :--- | | MPC (MakePlayingCards) Standard | 310 | High | Acceptable thickness, glossy finish. | German Black Core (Blue Core) | 350 | Very High | Best for "peel and glue" or hot stamping. | | Canon Presentation Paper | 180 | Medium | Good for temporary playtesting (thin). | | Bristol Cardstock | 270 | Medium-High | Readily available at office supply stores. |

    DIY Technique: The Double-Facing Method

    If you cannot source 350 gsm cardstock, buy 120lb / 160gsm Matte Cover Stock. You will print the front on one sheet and the back on another, then glue them together with 3M Super 77 Spray Adhesive. This mimics the thickness of a real card and provides the opacity required to prevent "see-through" when held up to a light source.

    4. Layout and Alignment

    Real cards have a border. You must print this border. If you simply blow up the image to fit the paper, you will cut off the text.

    The Toolchain

    1. Photoshop / GIMP: Manually align images into a 3x3 grid (A4 or Letter size). 2. Tabletop Simulator / Cockatrice: Export deck images as a sheet. 3. Dedicated Tools: Software like *MPC Autofill* allows you to upload your deck list and it automatically fetches the images and arranges them onto a PDF file sized for A4 or Letter paper, accounting for printer margins (non-printable areas).

    5. The Printing Process: Inkjet vs. Laser

    There is a massive debate here.

  • Laser Printers: Use toner fused to the paper with heat. They produce sharp text and do not smudge when wet. However, they often leave a "glossy" look on the black ink that is very shiny compared to real cards.
  • * *Fix:* Use a fusing aid or lower the fusing temperature in the printer settings if available.

  • Inkjet Printers: Better color blending, but the ink is liquid. It cracks when you bend the card (creasing).
  • * *Fix:* Use Micro-porous pigment ink (like Epson DuraBrite) rather than dye-based ink.

    Recommendation: For 2025, a color LaserJet is the superior choice for proxies because you can use a generic generic clear spray coating to seal the toner immediately, whereas inkjet needs hours to dry.

    6. The Finish: The Roseart Texture

    A freshly printed card feels smooth and slippery. A real card has a specific "linen" finish.

    The "Blue Matte" Technique

    High-end counterfeiters (and advanced proxy makers) use a specific spray finish known as "Blue Matte" or generic "Clear Matte Acrylic Spray".

    1. Print your cards. 2. Cut them out with a guillotine cutter (rotary cutters often fray the edges). 3. Apply 2-3 very light coats of Testors Dullcote or Krylon Crystal Clear Matte. 4. This adds a microscopic texture to the card, mimicking the factory finish.

    7. Automated Workflows for "Set" Proxies

    If you are creating a "Cube" or an entire set, manual cutting is impossible. Use a CNC machine or a Silhouette/Cricut machine.

    Python for CNC (G-Code Generation)

    If you have a CNC machine, you can generate the path to cut the cards precisely.

    Conceptual script to generate G-Code for cutting cards on a 300mm x 200mm sheet

    card_width_mm = 63 margin_mm = 5

    Starting position

    current_x = margin_mm current_y = margin_mm sheet_width = 210 # A4 sheet_height = 297

    def generate_gcode(): print("G21 ; Set units to mm") print("G90 ; Absolute positioning") print("G1 Z5 ; Lift tool")

    # Grid Logic cols = int((sheet_width - margin_mm) / (card_width_mm + 5)) # 5mm gap rows = int((sheet_height - margin_mm) / (88 + 5)) # 88mm height + gap

    for r in range(rows): for c in range(cols): x = margin_mm + c * (card_width_mm + 5) y = margin_mm + r * (88 + 5)

    # Cut path (Square) print(f"G0 X{x} Y{y} ; Move to card {r},{c}") print("G1 Z-2 ; Cut depth") print(f"G1 X{x + card_width_mm}") print(f"G1 Y{y + 88}") print(f"G1 X{x}") print(f"G1 Y{y}") print("G1 Z5 ; Retract")

    Note: This is a simplified logic script.

    Real-world application requires 'offset' compensation for the cutter diameter.

    8. Buying High Quality Proxies vs Making Them

    If the technical overhead (sourcing cardstock, calibration, cutting) seems too high, the market for "Custom Commander Tokens" has exploded.

  • Etsy / Print-on-Demand: Services like *MakePlayingCards (MPC)* allow you to upload your generated sheet. They print on real cardstock (310gsm) and use the same process as WOTC for their other cards.
  • The "Chopped" Technique: Some sellers sell uncut sheets. You must cut them yourself.
  • Comparison: DIY vs. Professional Printing

    | Feature | DIY (Laserjet + Cardstock) | Professional (MPC/PrinterStudio) | | :--- | :--- | :--- | | Texture | Can be controlled via spray | Standard "Magic" Blue Core | | Cost | High (Initial printer cost, low paper cost) | Medium (Fixed cost per card ~$0.15) | | Turnaround | Immediate | 2-3 Weeks shipping from China | | Legality | Personal use gray area | Personal use gray area |

    9. Troubleshooting Common Issues

  • The "White Edge": Your printer has non-printable margins.
  • * *Solution:* Set paper size to "Borderless" in printer driver or use "A3" paper to print A4 size images.

  • Fuzzy Text: You are using 72 DPI images.
  • * *Solution:* Verify the pixel dimensions of your source files. If the width is under 500px, it's too low res.

  • Peeling Corners: This happens with the double-facing method if you don't use enough pressure or the glue dries brittle.

* *Solution:* Use a PVA glue stick (Elmer's) applied thinly across the whole surface for a flexible bond, rather than spray adhesive which can bubble.

Conclusion

Making high-quality MTG proxies in 2025 is less about "art" and more about "engineering." It requires sourcing German Black Core cardstock, utilizing the Scryfall API for lossless image retrieval, and finishing with a matte acrylic sealant to simulate the snap and feel of a genuine Cartamundi product. While buying proxies from vendors is convenient, building your own workflow allows for complete customization of playtesting environments and cube drafting.

Share: