Labs · Card poster

You spent weeks on the card.
Spend thirty seconds on the post that sells it.

Drop your character card and get a promo image worth posting: portrait poster, wide banner or 4:5 feed layout, palette pulled from your art, name, byline, tag chips, an editable one-line pitch — and an optional QR corner for wherever the card lives. It reads only the card’s public face; the definition never leaves the file.

Freeruns in your browsernothing uploaded

Drop a character card (PNG / JSON / charx)

or click to pick · parsed in your browser, never uploaded

Reads public display fields only: name, creator, tags, version, creator notes. The card's definition body (description / greetings / lorebook) is never touched — locked by a machine self-test, not a promise.

Parsing, color extraction, layout and export all run in your browser — the card is never uploaded or stored. Refresh and it's gone.

Drop a card first.

Where this tool comes from

The card parser is the same one behind our Card Checkup — PNG text chunks (tEXt/iTXt/zTXt, ccv3 before chara), V1/V2/V3 JSON, and charx zip containers, aligned with how SillyTavern 1.18 and the Foreverse app read cards. On top sits a 97-assertion golden self-test: the field whitelist is enforced by Proxy-tracked property access, palette derivation is deterministic and contrast-locked (≥ 4.5:1 ink-on-background across all seeds and variants), and every layout rect is checked for canvas containment and QR/text collisions.

Layouts are plain canvas typesetting — serif display for the name, sans for the pitch and chips, CJK-aware line wrapping with codepoint-safe truncation (emoji don't get cut in half). The renderer consumes only the whitelisted field object, so the privacy property holds by construction, not by review.

What it can't do

The pitch line comes from creator notes only. If your card's creator notes are empty, the field starts blank — deliberately. We won't quote your description or greeting as marketing copy, because that's the part of the card many authors keep unlisted; write the one-liner yourself.

Color extraction reads the art statistically: paintings with competing color fields may seed a palette you don't want — cycle the accent or switch variants. Fonts are the reading device's system serif/sans; pixel-identical output across machines is not a goal.

FAQ

Which parts of my card does the poster use?

Only the public shelf face: name (nickname as fallback), creator, tags, character version, and the creator notes for the one-line pitch. The definition body — description, personality, scenario, greetings, example dialogues, system prompt, lorebook — is never read. That's not a promise buried in a privacy page: the field builder's property access is tracked by a Proxy in our golden self-test, and touching anything outside the whitelist turns the build red. Cards with hidden definitions stay hidden.

Where do the colors come from?

From the card art. The image is downsampled, quantized, and scored by pixel count times saturation — so a colorful costume beats a gray backdrop. The dominant color seeds three palette variants (deep, ivory, contrast), and if the extractor found several strong candidates you can cycle through them. Text ink is chosen automatically so it always clears a 4.5:1 contrast ratio against the background — that guarantee is a locked test, not a vibe.

What is the QR placeholder for?

A clean white square reserved in the layout, positioned so it never collides with the text zones (also a locked geometry test). Paste your own QR over it after export — a Discord invite, your Chub profile, a Foreverse redeem code. We deliberately don't generate QR codes: the poster stays fully local, and you stay in control of where the link points.

My JSON card has no art — what happens?

PNG cards bring their own portrait; JSON and charx cards get a generated monogram tile in the card's palette so the layout still works, and you can upload any image to replace it. Uploaded art stays in your browser like everything else.

Is my card uploaded?

No. Parsing, color extraction, layout and PNG export all run in your browser. Refresh and everything is gone.

Related tools & reading

← All free tools

Character Card Poster Maker — Turn Your Card into a Share-Ready Promo Image · Foreverse · Xinmeng