Now2.ai RTL Fixer is a Chrome extension that automatically fixes RTL (Right-to-Left) text handling in AI chat platforms. If you've ever tried typing Hebrew or other RTL languages in AI assistants, you've likely encountered issues with text alignment, mixed language display, and overall text direction. This extension solves these problems seamlessly.
- Claude.ai
- ChatGPT
- Google Gemini
- Google NotebookLM
- Perplexity.ai
- Automatic RTL Fixing: Automatically detects and fixes RTL text handling issues
- Toggle Functionality: Easily enable or disable the extension for specific sites
- Non-Destructive: Applies changes without modifying your actual text content
- Platform-Specific Optimizations: Custom-tailored fixes for each supported platform
- Visual Indicator: Subtle indicator shows when RTL Fixer is active
- Visit the Chrome Web Store
- Search for "Now2.ai RTL Fixer"
- Click "Add to Chrome"
- Download or clone this repository
- Open Chrome and navigate to
chrome://extensions/
- Enable "Developer mode" (toggle in the top-right corner)
- Click "Load unpacked" and select the extension directory
When you visit any of the supported AI chat platforms, RTL Fixer automatically activates and:
- Monitors the page for text input areas and message displays
- Applies the correct RTL handling to elements that need it
- Shows a subtle indicator to let you know it's working
- Maintains proper text direction even as new content loads
RTL Fixer uses three strategies for handling text direction:
- Auto Detection: Perfect for mixed content (both RTL and LTR in the same element)
- Direction Inheritance: Maintains consistency with parent elements
- Forced RTL: Used when specific elements need guaranteed RTL layout
The extension uses:
- MutationObserver to monitor for DOM changes
- CSS isolation techniques to prevent conflicts
- Platform-specific selectors for precise targeting
- Optimized performance with minimal overhead
RTL Fixer:
- Works entirely in your browser
- Never collects or transmits any data
- Doesn't modify your actual text content
- Can be disabled for any site with a single click
- Full Privacy Policy
├── dist/ # Build directory
├── icons/ # Extension icons
├── src/
│ ├── background.js # Background script
│ ├── config/ # Configuration files
│ ├── core/ # Core functionality
│ ├── extension/ # Extension-specific code
│ ├── ui/ # User interface components
│ ├── utils/ # Utility functions
│ ├── content-script.js # Main content script
│ ├── popup.html # Popup UI
│ └── popup.js # Popup logic
├── .gitignore # Git ignore file
├── LICENSE # GNU GPL v3 license
├── manifest.json # Extension manifest
├── package.json # NPM package file
├── README.md # This file
└── webpack.config.js # Build configuration
- Clone the repository
- Install all required dependencies:
npm install webpack webpack-cli zip-webpack-plugin @babel/core babel-loader @babel/preset-env copy-webpack-plugin --save-dev
- Build the extension:
- For development build:
npm run dev:build
- For production build:
npm run prod:build
dist
directory - For development build:
- For development with auto-rebuild:
This runs webpack in development mode with the watch flag for automatic rebuilds
npm run dev:watch
This extension evolved from a successful bookmarklet version that gained popularity for its effectiveness. The Chrome extension format provides a better user experience with persistent settings and easier access.
This extension is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
If you encounter any issues or have suggestions:
- Check that you're on a supported platform
- Open an issue on our GitHub repository (if available)
Created by Now2.ai - Transform Your Technology Future. Strategic technology consulting for organizations navigating the new AI-driven landscape.