A lightweight Chrome extension that auto-detects Hebrew text in Claude's chat interface and applies right-to-left (RTL) alignment.
When Claude responds in Hebrew, the text displays left-aligned (LTR) by default. This extension fixes that by:
- Scanning the page for Hebrew text using a TreeWalker
- Applying
dir="rtl"andtext-align: rightto Hebrew text containers - Watching for new messages (including streaming responses) via MutationObserver
- Properly handling bullet lists in RTL mode
The extension only targets text content in the chat area — it does not touch the sidebar, navigation, buttons, or input fields.
- Download or clone this repository
- Open
chrome://extensionsin Chrome - Enable "Developer mode" (top right toggle)
- Click "Load unpacked"
- Select the
claude-rtlfolder - Open claude.ai and start chatting in Hebrew
This extension has been audited and is fully transparent:
| Check | Result |
|---|---|
| Network calls (fetch, XHR, WebSocket) | None |
| Data storage (cookies, localStorage) | None |
| Sensitive data access (passwords, tokens) | None |
| Code injection (eval, innerHTML) | None |
| External script loading | None |
| Chrome API usage | None |
| Permissions | activeTab only |
| Runs on | claude.ai only |
Total codebase: 208 lines across 3 files. You can read every line in under 5 minutes.
The extension:
- Does NOT send any data anywhere
- Does NOT read passwords, cookies, or personal information
- Does NOT inject external scripts
- Does NOT access other tabs or websites
- Uses the minimal
activeTabpermission only
claude-rtl/
├── manifest.json (23 lines — extension config, permissions)
├── content.js (149 lines — Hebrew detection + RTL application)
├── rtl-fix.css (36 lines — bullet list fixes for RTL)
└── icons/
├── icon-16.png
├── icon-48.png
└── icon-128.png
The extension uses a TreeWalker to find text nodes containing Hebrew characters (Unicode range \u0590-\u05FF). When found, it applies RTL direction to the nearest block-level parent element.
Elements that are skipped:
- Sidebar and navigation (
nav,aside, elements positioned < 100px from left) - Buttons, inputs, and editable areas
- Code blocks (
pre,code) - Script and style tags
A MutationObserver watches for new content (streaming responses) and re-scans automatically.
MIT
Built by Liraz Gershon — UX/UI Designer