Stop retyping
Japanese forms.
Japanese web forms accept either half-width (半角) or full-width (全角) characters, almost never both — and they rarely tell you which. dejapanify reads what each field actually wants and converts your text to match.
Open source · MIT · No account · No data collection · ~18 KB
The problem
The same character exists twice in Unicode. A field that wants one will reject the other, and the error message looks identical to what you typed.
What you typed · 入力した値
- フリガナ
- やまだ たろう
- 郵便番号
- 150-0001
- メールアドレス
- example@mail.jp
✕ エラー: 全角カタカナで入力してください
What dejapanify sends · 変換後
- フリガナ
- ヤマダ タロウ
- 郵便番号
- 1500001
- メールアドレス
- example@mail.jp
✓ そのまま送信できます
Try it right here
This is the extension's actual conversion engine, running on this page — not a recording. Fill the fields, then press Tab or click away from one. Each field explains what it decided and why.
That last field is deliberate. Nothing on the page says which width it wants, so the extension leaves it alone rather than guessing.
It reads, it doesn't guess
Japanese forms usually state their requirement — beside the field, or in a
pattern attribute. The extension collects those signals, weighs them,
and acts only when they're conclusive.
| Signal | Example | Trust |
|---|---|---|
| pattern attribute | pattern="^[0-9]{7}$" | Highest |
| Printed instruction | 「半角数字で入力してください」 | Very high |
| autocomplete | autocomplete="postal-code" | High |
| type / inputmode | type="tel" | Medium |
| Field name and label | name="name_kana" | Supporting |
Waits for your IME
Never writes while a composition is in progress, so it can't corrupt what you're typing.
Undo always works
A one-click undo on every conversion, and Ctrl+Z still behaves normally.
Never touches passwords or payment details
Password fields, card numbers, security codes and bank account numbers are left exactly as you typed them.
Install
Looks like you're using your browser.
Reviewed and approved by Mozilla. Install it from Firefox Add-ons, and updates arrive automatically.
Requires Firefox 142 or newer.
Submitted to Microsoft Edge Add-ons and waiting for certification, which takes up
to seven business days. Until it's approved, Edge can load the extension the same
way as Chrome — follow the instructions below, using edge://extensions.
Chrome only allows one-click installs from the Chrome Web Store. Our listing there has been submitted and is in review. Until it's approved, these browsers need a manual install. It takes about two minutes and you only do it once.
- Download the
…-chrome.zipfile from the latest release and unzip it somewhere permanent. Keep the folder: deleting it uninstalls the extension. - Open
chrome://extensions(Brave:brave://extensions). - Turn on Developer mode, top right.
- Click Load unpacked and choose the unzipped folder.
Chrome will show a "Disable developer mode extensions" warning on startup. That's Chrome's standard notice for anything not installed from its store; you can dismiss it.
dejapanify needs a browser that supports WebExtensions — Firefox, or a Chromium browser like Chrome, Edge, Brave, Vivaldi or Opera. Safari is not supported.
Checking that it works
npm run demo
This serves the test form at http://127.0.0.1:8123/demo.html. The page
tells you at the top whether it can see the extension.
Use that address rather than opening public/demo.html directly.
Browsers do not run extensions on file:// pages — Firefox will not inject a
content script there at all, and Chrome only does so if you enable
Allow access to file URLs on the extension's details page. Opened as a local
file, the demo looks broken even when everything is working.
It collects nothing
Not a reassurance — a description of the code. The extension contains no
fetch, no XMLHttpRequest, no WebSocket and no
remote scripts. There is nowhere for anything to go.
- No network requests
- No analytics
- No account
- No telemetry
- No remote code
- Reproducible from source
Full privacy policy: English · 日本語 · Read the source
This isn't only a promise. The test suite scans the built package for
fetch, XMLHttpRequest, WebSocket and
sendBeacon on every build, so adding any would fail CI rather
than quietly contradict this page.
Questions
Will it change what I meant to type?
No. It converts character width, never meaning. 山田 never becomes ヤマダ. A field it cannot confidently identify is left untouched.
Does it interfere with my IME?
No. It never writes to a field while a composition is in progress, and only converts once you've finished and moved on.
What if it gets a field wrong?
Every conversion shows a one-click undo, and Ctrl+Z works normally. You can also disable it per site, or turn off individual conversion types in the settings. If a site is consistently wrong, please report it — that's the most useful contribution.
Why does it ask to read data on all websites?
Japanese sites aren't confined to one domain, so the extension can't know in advance which pages have Japanese forms. It does nothing unless a page looks Japanese and a field identifies the width it needs. It reads and rewrites form values only, and sends nothing anywhere.
Does it work on mobile?
Firefox for Android supports extensions, so it should. It hasn't been tested there yet. iOS is not supported.