Typed in the wrong keyboard layout? Harf fixes it — automatically.

Harf is a free, open-source tray app for Windows 10/11, written in Rust, that detects when a word was typed with the wrong keyboard layout, corrects it in place, and switches the layout so your next word comes out right the first time. It runs entirely on your device — no internet required, ever.

sghl becomes سلام you meant Arabic

اثممخ becomes hello you meant English

Free · Open source (MIT) · Windows 10/11 · No account, no internet.
The binaries aren't code-signed yet, so Windows SmartScreen may show a warning — verify your download with its SHA-256 checksum instead of guessing.

How it works

  1. Type as you always do

    Harf sits in the system tray and follows only the word you're currently typing — nothing more.

  2. It checks at the word boundary

    When you press space or punctuation, Harf checks whether the word makes sense in the active layout or clearly reads as a word in another one.

  3. The word is fixed in place

    sghl becomes سلام right where you typed it. Wrong call? Ctrl+Alt+Z undoes it instantly.

  4. The layout switches with you

    Harf flips Windows to the layout you meant, so the next word comes out right the first time.

Features

Automatic correction

Between English (US/UK), Arabic (101), French (AZERTY France), Spanish (Spain and Latin American), Hindi (INSCRIPT / Hindi Traditional) and Russian (ЙЦУКЕН) layouts — a deterministic mapping, not a guessing game.

Layout switching & cycling

One shortcut, Ctrl+Alt+H, switches or cycles your installed layouts — including Chinese and Japanese IMEs, which Harf switches but does not auto-correct.

Fix on demand

Convert a selection with Ctrl+Alt+J, or repair the whole current sentence with Ctrl+Shift+D. All shortcuts are rebindable.

Offline by design

No network dependency at all — a structural test in the codebase enforces it. There is nothing to phone home to.

Light on your system

A small native tray app written in Rust for Windows 10 and 11. Install it, or just unzip the portable build and run.

Speaks your language

The app UI is available in 8 languages: English, Arabic, Simplified Chinese, Hindi, Spanish, French, Japanese and Russian.

Language support, honestly

What Harf supports for each language: UI translation, automatic correction, and layout switching.
Language (layouts) UI translation Auto-correction Layout switching
English (US, UK) YesYesYes
Arabic (101) YesYesYes
French (AZERTY France) YesYesYes
Spanish (Spain, Latin American) YesYesYes
Hindi (INSCRIPT / Hindi Traditional) YesYesYes
Russian (ЙЦУКЕН) YesYesYes
Chinese (Pinyin, Wubi) Yes (Simplified)No — composing IMEYes
Japanese (Microsoft IME) YesNo — composing IMEYes

Why the difference? Pinyin, Wubi and the Microsoft Japanese IME are composing input methods: keystrokes go through a composition and candidate-selection step instead of mapping one key to one character. There is no deterministic way to reconstruct what you meant, so Harf supports switching and cycling for them — and is honest about not auto-correcting them.

Private by construction

  • Everything happens on your device. Harf has no network dependency — and a structural test in the source code enforces that it stays that way.
  • Only the word you're currently typing is held in memory, and it's discarded at the word boundary. Harf keeps no typing history.
  • The only file Harf ever writes is settings.json.
  • Password fields are skipped when Windows exposes that signal. To be honest: some apps don't expose it, so this can't be guaranteed everywhere.
  • Your clipboard is never touched unless you explicitly opt in to the clipboard fallback.

The full details are in the privacy policy — and since the code is open, you don't have to take our word for any of this.

Verify your download

Harf's binaries are not code-signed, so SmartScreen may warn you. Don't bypass warnings on faith — check that what you downloaded is exactly what was released. Open PowerShell in your Downloads folder and run:

Get-FileHash .\Harf-Windows-x64-Setup.exe -Algorithm SHA256
Get-FileHash .\Harf-Windows-x64-Portable.zip -Algorithm SHA256

Compare each hash with the matching line in SHA256SUMS.txt, published with every release. If a hash doesn't match, delete the file and download it again from the official releases page.

Frequently asked questions

Windows SmartScreen showed a warning. Is Harf safe?

Harf's binaries are not code-signed yet, so SmartScreen may warn about new releases. We won't tell you to ignore security warnings. Instead, verify for yourself: compare the file's SHA-256 hash against the SHA256SUMS.txt published with each release (see Verify your download), and review the source code — it's public and MIT-licensed.

Why doesn't auto-correction work for Chinese and Japanese?

Chinese (Pinyin, Wubi) and Japanese (Microsoft IME) are composing input methods: what you get depends on a composition and candidate-selection step, not a fixed key-to-character mapping. That makes reconstructing "what you meant" impossible to do deterministically, so Harf offers layout switching and cycling for them, but not automatic correction.

Why does Harf need a keyboard hook?

To fix a word, Harf has to know which keys you pressed and be able to replace the typed characters in place. It uses the standard Windows keyboard hook for this — the same mechanism used by text expanders and accessibility tools. It keeps only the current word in memory and discards it at each word boundary.

Does Harf send my keystrokes anywhere?

No. Harf works entirely on-device and has no network dependency — a structural test in the codebase enforces this. The only file it ever writes is settings.json, and the clipboard is never touched unless you opt in to the clipboard fallback.

What about password fields?

Harf skips password fields when Windows exposes the password-field signal. Honestly, though: some apps don't expose that signal, so it can't be guaranteed in every app. If that matters to you, pause Harf from the tray while entering sensitive input.

Can I change the keyboard shortcuts?

Yes. All four shortcuts — Ctrl+Alt+Z (undo), Ctrl+Alt+H (switch/cycle layout), Ctrl+Alt+J (convert selection) and Ctrl+Shift+D (fix current sentence) — are rebindable in Settings.