Extension Icon

Language Tool - Spell & Grammar Checker

Raycast extension that provides instant spelling and grammar correction using LanguageTool. Type any text, get real-time suggestions, and copy the improved version. Ideal for developers, writers, and anyone who wants fast, high-quality text corrections in multiple languages.
AvatarBaiano
1,045 Installs
Overview

LanguageTool for Raycast ✨

Instant spelling and grammar correction using LanguageTool API. Get real-time suggestions and improve your text quality in multiple languages.

πŸš€ Features

  • βœ… Check Text - Interactive form with detailed results and corrections
  • ⚑ Check Text Instant - Quick selected text or clipboard check and paste (background mode)
  • πŸ“ Check Selected Text - Check what you have selected anywhere, review every correction, then replace it
  • 🌍 30+ Languages - Auto-detection or manual selection
  • 🎯 Smart Sorting - Most used languages appear first (frecency-based)
  • πŸ’Ύ Persistent Settings - Your preferred language is remembered
  • πŸ”§ Advanced Options - Fine-tune checks with rules, categories, and levels
  • πŸ‘‘ Premium Support - Automatic integration with LanguageTool Premium accounts
  • πŸ“Š Detailed Results - View all issues with suggestions and context
  • 🎨 Modern UI - Clean interface with Raycast's native components

πŸ“¦ Installation

From Raycast Store (Recommended)

  1. Open Raycast
  2. Search for "Store"
  3. Find "LanguageTool"
  4. Click "Install"

Manual Installation

# Clone the repository
git clone https://github.com/raycast/extensions.git
cd extensions/extensions/language-tool

# Install dependencies
npm install

# Development mode
npm run dev

# Build for production
npm run build

🎯 Usage

Check Text (Interactive)

  1. Open Raycast (⌘Space)
  2. Type "Check Text"
  3. Select language
  4. Type or paste your text
  5. Press Enter
  6. Review results and apply corrections

Keyboard Shortcuts:

  • βŒ˜β†΅ - Apply all corrections and paste
  • βŒ˜β‡§A - Apply all corrections
  • ⌘R - Reset corrections
  • ⌘C - Copy corrected text

Check Text Instant (Background)

  1. Select text or copy to clipboard
  2. Open Raycast
  3. Type "Check Text Instant"
  4. ✨ Corrected text is automatically pasted!

Note: The command prioritizes selected text over clipboard content. If no text is selected, it uses the clipboard.

Perfect for quick corrections while writing emails, documents, or messages.

Check Selected Text (Review, Then Replace)

  1. Select text in any application
  2. Open Raycast and type "Check Selected Text"
  3. Read the corrected text, with every change marked in place
  4. Press ↡ to replace the selection

Every correction starts out applied. To go through them one at a time, press ⌘R for the corrections list: ↡ switches a correction off and on, the sidebar offers the other replacements LanguageTool suggests, and βŒ˜β†΅ replaces the selection from there.

Keyboard Shortcuts:

  • ↡ - Replace the selection with the corrected text
  • ⌘R - Review the corrections one by one
  • ⌘L - Check in a different language
  • βŒ˜β‡§R - Read the selection again and check it afresh
  • βŒ˜β‡§C - Copy the corrected text

Note: Like Check Text Instant, it falls back to the clipboard when nothing is selected. Raycast can reopen the command showing the previous run β€” βŒ˜β‡§R, or the Check again button in the sidebar, picks up what is selected now.

βš™οΈ Configuration

Basic Setup

Open Raycast Settings β†’ Extensions β†’ LanguageTool

No configuration required - works out of the box with free API!

Premium Setup (Optional)

For faster checks and higher limits:

  1. Create account at languagetool.org
  2. Get API key from Access Tokens
  3. Configure in Raycast:

Advanced Options

Enable advanced features in settings:

  • β˜‘οΈ Show Advanced Options

Then configure:

  • Check Level: Default or Picky (stricter for formal text)
  • Mother Tongue: Native language for false friends detection
  • Preferred Variants: Language variants (e.g., en-GB, en-US)
  • Rules & Categories: Enable/disable specific checks

πŸ“– Read the Advanced Options Guide

🌍 Supported Languages

30+ languages including:

LanguageCodeVariants
EnglishenUS, GB, CA, AU, NZ, ZA
PortugueseptBR, PT, AO, MZ
SpanishesES, AR, MX, and more
GermandeDE, AT, CH
Frenchfr-
Italianit-
Dutchnl-
Russianru-
Chinesezh-
Japaneseja-

And many more! Use auto for automatic detection.

πŸ’‘ Tips & Tricks

1. Frecency Sorting

Languages you use most frequently automatically appear at the top of the list. No manual sorting needed!

2. Keyboard Shortcuts

Learn the shortcuts for faster workflow:

  • βŒ˜β†΅ to apply all and paste instantly
  • Use arrow keys to navigate corrections

3. Background Mode

Use "Check Text Instant" for quick corrections without opening UI. Perfect for:

  • Quick email fixes
  • Social media posts
  • Chat messages

4. Picky Mode

Enable "Picky" level in advanced options for:

  • Academic papers
  • Professional emails
  • Formal documents
  • Business presentations

5. False Friends Detection

Set your mother tongue to detect common translation mistakes:

Text: "I am embarrassed" (English)
Mother Tongue: Portuguese
β†’ Detects potential confusion with "embaraΓ§ada"

πŸ—οΈ Architecture

src/
β”œβ”€β”€ check-text.tsx                # Main command (interactive form)
β”œβ”€β”€ check-text-instant.tsx        # Background command (clipboard)
β”œβ”€β”€ check-selected-text.tsx       # Selection command (review, then replace)
β”œβ”€β”€ components/                   # React components
β”‚   β”œβ”€β”€ check-text-result.tsx    # Results screen orchestrator
β”‚   β”œβ”€β”€ result-metadata.tsx      # Results metadata display
β”‚   β”œβ”€β”€ result-actions.tsx       # Action panel with shortcuts
β”‚   └── corrections-list.tsx     # Correction-by-correction review
β”œβ”€β”€ hooks/                        # React hooks
β”‚   β”œβ”€β”€ use-text-corrections.ts  # Corrections state management
β”‚   β”œβ”€β”€ use-correction-choices.ts # Replacement chosen per correction
β”‚   └── use-selected-text-check.ts # Reads the selection and checks it
β”œβ”€β”€ services/                     # Business logic
β”‚   └── languagetool-api.ts      # API client (Premium support)
β”œβ”€β”€ utils/                        # Pure functions
β”‚   β”œβ”€β”€ text-correction.ts       # Text correction algorithms
β”‚   β”œβ”€β”€ match-filter.ts          # Drops unusable and overlapping matches
β”‚   β”œβ”€β”€ match-display.ts         # Marks corrections in the rendered text
β”‚   └── replace-selection.ts     # Pastes over the selection
β”œβ”€β”€ config/                       # Configuration
β”‚   └── api.ts                   # API endpoints and limits
└── types.ts                     # TypeScript types

Design Principles:

  • βœ… Separation of concerns
  • βœ… Pure functions for business logic
  • βœ… Reusable hooks and components
  • βœ… Type-safe with TypeScript
  • βœ… No external API client libraries needed

πŸ“Š API Limits

Free Tier

  • 20 requests/minute
  • 75,000 characters/minute
  • 20,000 characters/request

Premium Tier

  • 80 requests/minute
  • 300,000 characters/minute
  • 60,000 characters/request

πŸ’‘ Configure your Premium credentials in settings for higher limits!

πŸ› οΈ Development

# Install dependencies
npm install

# Development mode (hot reload)
npm run dev

# Type checking
npm run lint

# Build for production
npm run build

# Publish to Raycast Store
npm run publish

Tech Stack

  • Raycast API - Native Raycast integration
  • React - UI components
  • TypeScript - Type safety
  • LanguageTool API - Grammar checking

🀝 Contributing

Contributions are welcome! Please:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“ License

MIT License - see LICENSE file for details.

πŸ™ Acknowledgments

  • LanguageTool - Amazing open-source grammar checker
  • Raycast - The best launcher for macOS
  • All contributors and users of this extension

πŸ› Issues & Support

Found a bug or have a suggestion?

πŸ”— Links


Made with ❀️ by lucastaonline