When a character card won't import, the persona is usually fine — the wrapper around it is the problem. Apps read cards by looking for data in a specific place and format; if that data was stripped, mislabeled, or is in a version the app does not expect, the import fails even though the character text still exists. Here are the seven common causes.
1. The PNG's metadata was stripped
This is the number-one cause. A V2 card stores its JSON in a PNG tEXt chunk. Many services — social platforms, chat apps, image optimizers — re-encode uploaded images and discard non-visual metadata in the process. The result is a normal-looking picture with no character inside. The fix is to obtain the original card file (not a re-saved copy) or rebuild the card from a JSON backup with a JSON to PNG tool. Our guide on fixing broken metadata covers this in depth.
2. It's a CharX (V3) file and your app expects V2
If your card ends in .charx, it is a V3 archive, and an older frontend may not know how to open a ZIP-based card. Convert it to a V2 PNG first with a V3 to SillyTavern tool. See what a CharX file is for the full picture.
3. The format is right but the version is wrong
Some apps are strict about the spec marker. A card labeled chara_card_v3 may be rejected by a tool that only accepts chara_card_v2, even though the fields are compatible. Re-encoding the card to the expected version resolves it.
4. The JSON is malformed
A single missing brace, a trailing comma, or a truncated download can make the embedded JSON unparseable. If you edited a card by hand, validate the JSON before re-embedding it. A converter that parses and re-serializes the data will also normalize spacing and catch obvious breakage.
5. Character encoding got mangled
Names and dialogue with accented characters, emoji, or non-Latin scripts can break if a file was saved in the wrong encoding. Cards should be UTF-8. If you see garbled characters after import, the file was likely re-saved in a legacy encoding somewhere along the way; re-exporting as UTF-8 fixes it.
6. It's a platform-specific schema
Not every export is a Tavern card. Agnai stores personality as a structured object; some apps use their own field names entirely. If a card imports as blank — a name but no personality or greeting — the source used keys your target does not recognize. Running it through a normalizing converter maps those fields onto the standard schema.
7. The file is actually empty or a placeholder
Occasionally a "card" is just a plain image with no data ever embedded, or a download that failed partway. Run the file through a converter: if it reports no character metadata found, there was never a card in the file, and you will need the original source.
The general fix
For most of these, one step resolves it: run the file through the Universal Converter. It extracts whatever valid data exists, normalizes the fields, and re-encodes a clean card in the format you need. Because it runs in your browser, you can safely test a questionable card without uploading it anywhere. If the tool cannot find any character data, that tells you the metadata was genuinely lost — and the answer is to recover the original file rather than the broken copy.
