▶ Watch the HD video · 🌐 panelize.dev
Stop switching tabs. Start comparing AI responses side by side.
Free · No API keys · Works with your existing AI logins
If Panelize saves you time, a ⭐ on GitHub helps other people find it.
Panelize is a free, open-source Chrome and Edge extension that sends one prompt to ChatGPT, Claude, Gemini, Grok, DeepSeek and other AI chatbots at the same time and shows their answers side by side in one window. It loads each provider's real website with your existing login, so there are no API keys and no extra subscription.
Ever found yourself copying the same prompt across multiple AI tabs just to compare answers? Panelize eliminates that workflow entirely.
One window. One prompt. Multiple AI responses—instantly.
Type your question once and send it to ChatGPT, Claude, Gemini, Grok, Doubao, DeepSeek, Kimi, Qwen, Zhipu (China), Z.ai (Global), Yuanbao, and Google simultaneously. See which AI gives you the best answer—no tab switching required.
Choose from 22 different layouts to fit your workflow. Need a quick 2-way comparison? Use 1×2. Deep research across 12 models? Try 1×12 or 2×6. The choice is yours.
No API keys. Log into your AI accounts normally, and Panelize uses those sessions.
Save your best prompts and reuse them across all providers. Supports variables like {topic} for quick customization.
- One-click privacy mode across supported providers
- All data stays in your browser—nothing leaves your machine
- No tracking, no analytics, no data collection
- Open source—review the code yourself
| ChatGPT | Claude | Gemini | Grok |
| Doubao | DeepSeek | Kimi | |
| Qwen (China) | Qwen (Global) | Zhipu (China) | Z.ai (Global) |
| Yuanbao |
- Visit the Chrome Web Store page
- Click "Add to Chrome"
- Done! Press
Cmd/Ctrl + Shift + Eto open Panelize
Works on Edge too: Install directly from the Chrome Web Store.
Manual Installation (for developers)
- Download the source code from this repository
- Go to
chrome://extensions/(oredge://extensions/) - Enable "Developer mode"
- Click "Load unpacked" and select the extracted folder
- Log into your AI accounts — Visit ChatGPT, Claude, etc. and log in as usual
- Press
Cmd/Ctrl + Shift + E— Opens the Panelize window - Pick a layout — Choose how many AI panels you want
- Type and send — Your prompt goes to all panels at once
That's it. No accounts to create, no API keys to configure.
| Action | Shortcut |
|---|---|
| Open Panelize | Cmd/Ctrl + Shift + E |
| Open Prompt Library | Cmd/Ctrl + Shift + L |
Customize shortcuts at chrome://extensions/shortcuts
How do I ask ChatGPT, Claude and Gemini the same question at once?
→ Install Panelize, open it with Cmd/Ctrl + Shift + E, pick the providers and a layout, type your prompt and click Send All. Each answer appears in its own panel.
Is Panelize free? Do I need API keys? → Yes, it is free and MIT-licensed. No API keys are needed: each panel is the provider's own website, signed in with your normal account. Paid plans such as ChatGPT Plus or Claude Pro work as usual.
How is Panelize different from ChatHub or ChatALL? → ChatHub and ChatALL put many models behind one chat interface. Panelize shows each provider's real website instead, so you keep your own plans, model pickers and chat history. See Panelize vs ChatHub.
Which AI chatbots are supported? → ChatGPT, Claude, Gemini, Grok, DeepSeek, Kimi, Qwen, Doubao, Zhipu, Z.ai, Yuanbao and Google AI Mode. See Supported AI Providers.
AI provider shows login page? → Log into that provider in a regular browser tab first, then refresh Panelize.
Shortcuts not working?
→ Check for conflicts at chrome://extensions/shortcuts
Qwen (Global) looks logged out after signing in?
→ In Settings, enable Qwen (Global) and approve access to both chat.qwen.ai and auth.qwen.ai, then reload the panel. Existing users may need to approve the added authentication origin after updating Panelize. If Qwen has already invalidated the session, sign in again on its website first.
Need more help? → Open an issue
npm install
npx playwright install chromium # browser used by the e2e and live suitesWith Playwright 1.58, npx playwright install can hang while it extracts the download under Node 26. The install then stays incomplete. If that happens, stop it and run the install once with Node 24 (for example nvm exec 24 npx playwright install chromium). The e2e suite then uses the installed browser under any Node version.
| Command | What it runs |
|---|---|
npm test |
Unit and integration tests (Vitest + happy-dom) |
npm run test:e2e |
Extension e2e tests: the real extension against local fixture sites, headless and in parallel |
npm run test:e2e:headed |
Same, with visible windows for debugging (or set PANELIZE_E2E_HEADED=1) |
npm run test:live:login |
Opens the live-test profile in a normal browser window so you can log in to providers |
npm run test:live |
Smoke checks against the real provider sites (manual, not part of CI) |
The live suite catches provider site changes that fixtures cannot. For each provider it opens the real multi-panel page, types into the unified input, and presses Fill. It then checks that the text reached the provider's composer and that the send and new-chat selectors still match. Without PANELIZE_LIVE_SEND it then clears the composer and reloads the panel to confirm that no test text stays behind as a saved draft. A provider whose composer already holds a draft of yours is skipped, so the test never touches your text.
- Run
npm run test:live:loginand log in to each provider. If a panel still looks logged out, log in inside that panel on the multi-panel tab, because panel iframes use partitioned storage. Quit the browser when you are done (Cmd+Q on macOS); with more than 12 providers the next batch then opens. The logins are kept in the profile, so this is a one-time step. - Run
npm run test:live, ideally before every release. By default it opens a visible window, because several sites block headless browsers. - Failures save a screenshot and the provider frame's HTML under
test-results/live/.
| Variable | Default | Meaning |
|---|---|---|
PANELIZE_LIVE_PROFILE |
~/.panelize-live-profile |
Profile directory that keeps the logins |
PANELIZE_LIVE_PROVIDERS |
all providers | Comma-separated ids, e.g. chatgpt,doubao |
PANELIZE_LIVE_SEND |
off | 1 actually sends the prompt, which uses provider quota |
PANELIZE_LIVE_HEADLESS |
off | 1 runs headless; expect Cloudflare challenges on some sites |
Found a bug? Have an idea? Contributions are welcome:
- 🐛 Report bugs via GitHub Issues
- 💡 Suggest features
- 🌍 Help translate to more languages
- 🔧 Submit pull requests
MIT License — see LICENSE for details.
Open source & privacy-focused
Available in 10 languages
Made for everyone who's tired of tab-switching between AI assistants.


