How to Import Character Cards on Android: Five Ways In, From One PNG to a Whole Backup

A field guide to getting character cards onto your phone: opening a PNG or .charx from your file manager, folder scanning, pasting a chub or JanitorAI link, the community hub, and the full SillyTavern backup route — plus the three failure modes that account for most broken imports.

Five doorways cut into a paper wall, a character card sliding through the middle one

Someone posts a card in a Discord thread. You are on your phone. Between you and that character stand a file with one of three extensions, a messenger that may have quietly ruined it, and the question of where it is even supposed to go. This is the field guide: five ways to get a character card into a phone tavern, which one to use when, and the three failure modes that cause nearly every “my card won't import” report we see.

Which door should you walk through?

Quick triage. You have a file in hand — use the file route. You have a link to chub or JanitorAI — paste it, don't download anything. You have a folder full of cards accumulated over two years — scan it once. You have nothing yet — browse the community hub. You have an entire desktop SillyTavern install — that is a migration, not an import, and it gets its own guide.

Route one: open the file, any file

Cards arrive in three shapes. PNG is the collectible: portrait on the outside, base64 JSON hiding in the image's tEXt metadata. JSON is the same data with no picture and no fragility. And .charx is the v3 spec's zip container — card.json plus bundled sprites or audio, parsed here the way desktop SillyTavern 1.18 parses it. All three go through the same door: tap the file in your file manager, share it to Foreverse, or pick it from the in-app import screen. Before anything is written, a preview shows what the file actually contains — greeting count, lorebook entries, example dialogue — and a card that cannot import tells you why instead of failing silently. An error message is a feature; we wrote a whole anatomy post about why cards break in transit.

Treat any PNG that reached you through a chat app as suspect. Messenger compression rebuilds the pixels and drops the metadata chunks where the character lives. The file opens fine as an image. It imports as nobody.

Route two: paste a link instead

If the card lives on a site, skip the download step entirely. The import screen takes a pasted URL from six sources — chub.ai (cards and standalone lorebooks), JanitorAI and its jannyai mirror, Pygmalion, RisuRealm, AICC, and any public direct link to a png / json / charx file. The app also notices when your clipboard already holds a card link and offers it. Site-by-site behavior, including which networks JanitorAI's bot check dislikes, is documented in the URL import field test.

Route three: scan the folder you already have

Veterans rarely have one card; they have a directory. Point the smart scanner at a folder you authorize through Android's system picker and it finds tavern assets in bulk — cards in PNG, JSON, and charx form, plus presets, regex scripts, and Quick Reply sets sitting in the same tree. You get a checklist of what it found, not a forced import of everything. Nothing outside the folder you picked is ever read.

Route four: start from the community hub

No files, no links, no history — the in-app Community tab lists public cards with covers, tags, greeting and lorebook counts. One tap imports; the same import pipeline and the same preview apply. The current public catalog is browsable on the web too, at the card showcase, if you want to window-shop before installing anything.

Route five: the whole tavern at once

Desktop SillyTavern's “Download backup” button produces a zip of your entire data directory — characters, chats, worldbooks, presets, Quick Replies, regex settings. Foreverse imports that zip as a unit and restores chats as archived branches per character. It is the right route exactly once, on moving day, and it deserves its own walkthrough: what the backup zip carries, item by item.

The three failure modes, ranked by frequency

First: stripped metadata. The PNG traveled through a messenger or a photo library that re-encoded it. The fix is upstream — get the JSON, or re-download from the original page. Second: truncated files. A download that stopped at 90% still opens as an image but fails JSON parsing; re-download and compare file sizes. Third: the wrong file entirely — a thumbnail saved from a gallery page instead of the card itself. Gallery thumbnails never contained character data to begin with. In all three cases the import preview names the problem; none of them require clearing app data, reinstalling, or the other rituals forum threads suggest.

Pricing: three cards import free — files, links, folder scan, or the community hub. Past that, card slots are a Pro feature, and the full-backup zip route is Pro on its own. Either way the cards remain standard chara_card files on your device — exportable in full, openable in desktop SillyTavern.

One last habit worth the ten seconds it costs: when a card arrives through a messenger, reply and ask for the JSON. That single request spares you every branch of the failure tree above.

FAQ

Do cards from desktop SillyTavern work unchanged?

Yes. Cards are standard chara_card_v1/v2/v3 files, not a private format. A PNG or JSON exported from desktop SillyTavern imports on the phone with greetings, embedded lorebook, and example dialogue intact — and cards you edit on the phone export back out the same way.

Why does my PNG import as a blank character?

Because something re-encoded the image on the way to you. Card data lives in PNG tEXt metadata chunks; messenger compression and photo-library optimization rebuild the pixels and silently drop those chunks. The portrait survives, the character doesn't. Ask the creator for the JSON version, or download from the original card page instead of a chat attachment.

What is a .charx file?

The chara_card_v3 spec's zip container: card.json plus bundled assets like emotion sprites or audio. Foreverse parses it the same way desktop SillyTavern 1.18 does. If a file has no extension but is actually a zip, the importer peeks inside for card.json before deciding — so mislabeled charx files still land.

How many cards can I import for free?

Three character cards on the free tier, from any source — files, links, or the community hub. Beyond that, card slots are part of the Pro tier. Imported cards stay yours either way: they are standard-format files you can export in full at any time.

Can I bring chat history too?

Not through a single card file — a card carries the character, not your conversations. Chat history comes across inside a full SillyTavern backup zip, which restores each character's chats as archived branches. That route is covered in its own guide.

Questions or ideas? Join our Discord →

How to Import Character Cards on Android: Five Ways In, From One PNG to a Whole Backup · Foreverse · Xinmeng