🚀 The journey is just beginning! > Don’t miss a thing. Subscribe to our newsletter to be the very first to know about upcoming ChatJPT releases and features

ChatJPT - Local Multi-Model AI Agent
Version 1.1 — Freeware

ChatJPT

A single HTML file to access OpenAI, Anthropic, and Google Gemini from your browser. No installation, no intermediary server, no database.

ChatJPT interface preview

What ChatJPT does

🔒

Locally encrypted API keys

Your OpenAI, Anthropic, and Google keys are encrypted with AES-GCM via the browser's WebCrypto API and stored in your localStorage. They never pass through any server.

🤖

OpenAI, Claude, and Gemini

Select your provider and model from the same interface. Available models cover the recent lineups of all three providers, including extended reasoning variants.

🎨

Image and Video generation

Generate images via OpenAI (GPT Image 1 through 2) or Gemini (Nano Banana, Imagen 4). Generate videos via Sora 2 (OpenAI) or Veo 3.1 (Gemini), with aspect ratio and duration options.

🧠

Extended thinking

Thinking mode is available for Claude (configurable token budget), Gemini 2.5 and Gemini 3 (thinking levels), and natively for o3, o4-mini, and Gemini 3.1 Pro.

📊

Built-in chart engine

Models can render interactive charts directly in the conversation: bar, line, pie, histogram, scatter, area, box, treemap, pictograph, and heatmap — all drawn in HTML5 Canvas.

📄

File attachments

Attach text files, source code, images, or PDFs. PDFs are extracted page by page locally via pdf.js before being sent. Images are transmitted as base64.

💻

Code mode

Generated code blocks include syntax highlighting, a copy button, and direct download in the matching file format (CSV with BOM, JSON, Python, etc.).

🌐

Bilingual interface

The interface switches between French and English with one click. Language, theme, and model preferences are remembered between sessions.

📁

History and export

Conversation history is saved in the browser and can be exported as Markdown + JSON or PDF. A button lets you regenerate the last response or resume a truncated generation.