Quick start
-
Paste JSON
Root array with role and content per item.
-
Pick target
Anthropic lifts system; Gemini maps roles to user/model.
Paste OpenAI messages JSON and convert to Anthropic, Gemini, or plain text. Saves time when porting chats across models.
Read the full guide: The Complete Guide to OpenAI Message Formatting & LLM Data Processing →
Privacy: processed locally, never uploaded.
↓ Paste in the input area below to see results instantly
Paste an OpenAI messages JSON array and convert to Anthropic, Gemini, or plain text.
Root is an array; each item has role (system/user/assistant) and string content. developer role is supported.
Paste OpenAI messages JSON and convert to Anthropic, Gemini, or plain text. Saves time when porting chats across models.
Paste JSON
Root array with role and content per item.
Pick target
Anthropic lifts system; Gemini maps roles to user/model.
Anthropic merges system lines; Gemini writes systemInstruction.
When migrating conversations between AI models, first copy the messages array from OpenAI API response. Paste it into the tool, then select the target format (e.g. Claude format for Anthropic). The converted content can be directly used in the new model's API calls, saving manual rewriting of role labels and message structures.
For debugging, first convert OpenAI format to plain text using this tool. This allows quick inspection of conversation flow without expanding JSON layers. For models like Gemini, converted messages automatically include @user/@bot tags to preserve multi-turn dialog integrity.
Input
[{"role":"user","content":"Hi"}] Output
Anthropic messages JSON
String content only; adjust complex tool payloads manually.
Gemini requires explicit user/AI role labels, adding prefixes to each message. This is normal and doesn't affect API functionality. For compact output, choose 'Plain Text' format with custom delimiters.