Short answer: JanitorAI has limited native import. Character cards (JSON/PNG) import via Create Character → Import. Full chat history import isn’t supported — workaround is summarizing past chat in character notes. For native long-term memory across platforms, HoneyChat uses semantic vector memory (ChromaDB) that remembers conversations for weeks without manual summarization.
Want native long-term memory that just remembers, no manual notes, no character config tricks? Open below.
HoneyChat characters with semantic memory
Quick paths
- Import character card to JanitorAI → Create Character → upload .json/.png
- Migrate full chat history → No native support; summarize into notes field
- Want native long-term memory → HoneyChat semantic vector memory built-in
- Want full memory + voice + images → HoneyChat Premium ($9.99/mo)
JanitorAI is one of the largest community-driven character platforms in 2026. The character library is huge, the LLM flexibility (BYOK) is great, and the platform’s text-first design appeals to users who want full control. But native chat history import is one of the gaps that frustrates users migrating from SillyTavern, Character.AI, or other platforms.
Let me walk through what’s actually possible.
What JanitorAI Natively Supports for Import
Character cards: Standard CAI/SillyTavern format (JSON or embedded PNG). JanitorAI parses name, description, personality, scenario, first message, example dialogue.
Personas: Your user profile / persona import is supported via JSON.
Lorebooks (world info): Partial support — some fields imported, some need re-creation.
Chat history: NOT natively imported. JanitorAI doesn’t have a “import past conversation” feature. The chat starts fresh after character import.
Step-by-Step: Import a Character Card
Export from source platform
SillyTavern: right-click character → Export → JSON or PNG card. Character.AI: use C.AI Tools extension. Chub.ai: download character JSON directly.
Open JanitorAI Create Character
Profile → Create Character. Look for 'Import from JSON' or upload icon (varies by JanitorAI UI version).
Upload the card file
Select .json or .png file. JanitorAI parses fields automatically: name, description, personality, scenario, first message, example dialogue.
Edit JanitorAI-specific fields
Add NSFW flag if needed. Adjust token limits in advanced settings. Fill missing fields (first message, scenario).
Save the character
JanitorAI saves to your private characters. You can publish to community library after testing.
How to “Import” Chat History (The Workaround)
Since full chat import isn’t supported, the workaround is to summarize your past chat into the character config so the new chat starts with context.
Method 1: Summary in character description
Edit the character’s description field. Add a paragraph like:
[Background context from previous chats]{{char}} and {{user}} have been chatting for 3 weeks. They first met when {{user}} was lonely on a rainy Saturday. They've discussed {{user}}'s career as a software engineer, their shared love of indie games, and {{char}}'s past relationship that ended badly. Current relationship status: dating exclusively, have not yet been physically intimate. Recurring themes: {{char}} teases {{user}} about late-night coding habits, {{user}} brings {{char}} coffee mentally.The LLM picks up this context and continues from where the previous chat ended. Memory of specific moments comes through the summary text.
Method 2: Summary in scenario field
If your character has a scenario field, add the past-chat context there. This gives more prominence than description.
Method 3: Custom first message
Edit the character’s first message to reflect the established relationship. Instead of “Hi, who are you?” the first message becomes something like “Hey, you’re late again. smiles. I made us coffee.”
Method 4: User persona (your side)
Edit your persona to include known facts about you that came up in past chats. The character will reference these as if they were established.
SillyTavern → JanitorAI Migration
For SillyTavern users specifically:
- Export your character card from SillyTavern (right-click → Export → PNG with embedded data is the common format)
- Export your chat log as JSON if you want to summarize it (SillyTavern → chat dropdown → Export)
- On JanitorAI: Create Character → Import → upload the PNG
- Edit character description to add a 200-400 word summary of key chat moments
- Set first message to reflect established relationship
- Optionally re-create lorebooks (some fields don’t migrate)
The character lives on JanitorAI now. Memory of past chat exists in the summary you wrote. Conversation continues from there.
This is manual work. For some users it’s fine; for others it’s the deal-breaker that makes them stay on SillyTavern despite its limitations.
Why JanitorAI Doesn’t Have Native Chat Import
This is structural, not a missing feature. JanitorAI’s architecture is:
- Character card defines personality (server-stored)
- User’s LLM (BYOK) handles conversation (your OpenRouter key)
- Chat history is per-chat-session on JanitorAI’s servers
Importing chat history would mean accepting a foreign data format, mapping it to JanitorAI’s chat storage, and making the foreign chat compatible with the LLM you’ve configured. Each LLM has different context window sizes, formatting expectations, and memory handling. Standardizing the import across all possible source platforms and target LLMs is a big technical effort for a feature that benefits primarily power users.
JanitorAI’s team has prioritized other features. Native chat import may come eventually but isn’t on the public roadmap as of 2026.
When You Want Native Long-Term Memory Instead
If “I have to manually summarize my chat history every time” is the breaking point, the answer isn’t a different import tool — it’s a platform with native long-term memory that scales.
HoneyChat uses semantic vector memory via ChromaDB. The architecture:
- Every message is embedded into a vector
- Vectors are stored in a long-term database (no chat-window limit)
- When you message the bot, relevant past messages are retrieved by semantic similarity
- The bot can reference a conversation from three weeks ago when contextually relevant
This means you don’t have to write summaries. The platform remembers. You can chat for months, the bot continues to reference earlier moments naturally.
Trade-offs:
- HoneyChat memory works on its native LLM (you can’t BYOK like JanitorAI)
- HoneyChat is Telegram or browser, not standalone web like JanitorAI
- HoneyChat character catalog is smaller than JanitorAI’s community library
For users whose pain is memory + import friction: HoneyChat removes both. For users whose value is character community + LLM control: JanitorAI’s tradeoffs are worth it.
JanitorAI import vs HoneyChat native memory
| JanitorAI | HoneyChat | Candy AI | SillyTavern | |
|---|---|---|---|---|
| Character card import | Yes (JSON/PNG) | Web character editor | Preset characters | Yes (JSON/PNG) |
| Chat history import | No (workaround: summary) | Native memory remembers | No (server-bound) | Yes (local files) |
| Long-term memory architecture | Per-chat context window | Semantic vector (ChromaDB) | Degrades ~50 msg | Local storage, manual |
| Cross-platform migration | Manual character + summary | Start fresh, memory builds | No migration | Local backup, portable |
| Memory persistence (weeks) | Manual via notes | Native | Limited | Depends on context window |
| BYOK LLM control | Yes (OpenRouter) | No (native LLM) | No | Yes (any API) |
| Server downtime risk | Yes (server-side chats) | Telegram infra (high uptime) | Yes | None (local) |
If you want native memory that just works — start below.
SillyTavern Hybrid Approach
Some power users run a hybrid: SillyTavern for full local control + portability, JanitorAI for community character library + sharing. The workflow:
- Browse JanitorAI for interesting characters
- Download character card as JSON
- Import to SillyTavern for actual chat (local control, full memory)
- If you want to share a character with friends, publish to JanitorAI
This avoids the chat import problem because you never migrate ongoing chats — you keep all chat in SillyTavern, use JanitorAI as a character library.
Downside: requires technical comfort with SillyTavern setup (which has its own learning curve).
What I’d Recommend
If you specifically need to import a character from another platform: JanitorAI Create Character → Import → JSON/PNG. Standard CAI/SillyTavern format works.
If you have ongoing chat history you want to preserve: summarize into character description as a workaround. Time-consuming but effective.
If “manual chat summaries every migration” is the dealbreaker: HoneyChat native semantic memory removes the need entirely. Start fresh, the platform remembers naturally.
If you want maximum LLM control + chat portability: SillyTavern local-first setup with optional JanitorAI for character library browsing.
The pattern: native memory in a platform built for it (HoneyChat) is usually less work than recreating memory on a platform that wasn’t designed for cross-platform import (JanitorAI). Pick the architecture that fits your workflow.
I covered the related JanitorAI workflows in JanitorAI API key setup, Best free LLM for JanitorAI, and Adding images to JanitorAI.
Sources & References
- JanitorAI official site (verified 2026-05-29)
- SillyTavern character card format documentation (cited)
- Character.AI character export via C.AI Tools extension (cited)
- Chub.ai character JSON format (cited)
- Internal testing: character migration JanitorAI ↔ SillyTavern, April–May 2026



