FAQ
Q. What problem does this actually solve?
macOS stores filenames with decomposed Unicode (NFD) on disk. When those names travel to another OS (Windows, Linux), to cloud storage, to a server, or into a zip archive, they often render as broken-looking sequences of jamo / combining marks, or stop matching searches and sort orders.
JamoMoa rewrites those filenames into their composed (NFC, precomposed) form. The Korean name “자모모아” literally means “gather the jamo back together”.
Q. What’s the difference between Compose and Decompose?
They’re the two directions of the same canonical mapping:
- Compose turns a split-apart NFD name into its NFC (precomposed) form — the fix for the macOS filename problem above.
- Decompose does the reverse, turning an NFC name back into NFD.
JamoMoa can do either on any file, in any order, and the bottom bar offers Compose All / Decompose All for the whole list. Because NFC ⇆ NFD is lossless, converting one way and back returns the exact original bytes.
Q. Does it work for languages other than Korean?
Yes. The conversion is script-agnostic.
- Korean Hangul jamo
- Japanese voiced & semi-voiced marks (
が=か+ U+3099,パ=ハ+ U+309A) - Vietnamese diacritics (
ế=e+ U+0302 + U+0301) - General Latin combining diacritical marks
If composing or decomposing is meaningful for the name, JamoMoa handles it the same way regardless of script.
Q. Is it safe? Can it damage my files?
- A conversion only runs when you press a button. Dropping items just lists them.
- File contents are never touched — only the name is rewritten, via POSIX
rename(2). - It runs inside the App Sandbox; it only sees what you explicitly hand it.
- Every conversion is reversible — compose then decompose (or the reverse) returns the exact original bytes.
- “Remove” in the UI only drops the row from the list. JamoMoa has no code path that deletes from disk.
Q. Can it handle a lot of files at once?
Yes. The list stays smooth at tens of thousands of entries, and Compose All / Decompose All show a live progress count (e.g. Working… (500/50000)) so you can see how far along a big batch is.
Q. How do updates work?
When a new version is out, JamoMoa checks for it automatically and installs it in place, so you never have to re-download. To check yourself, use the menu-bar icon or Settings ▸ About ▸ Check for Updates…, and if you’d rather not have automatic checks, turn them off under Settings ▸ General.
Q. When does a conversion fail?
When the item is not writable (e.g. a protected system directory), or when another file with the target name already exists in the same directory. In both cases JamoMoa leaves other rows untouched and just marks that one as “failed”.
Q. What are Quick Options?
A strip at the bottom of the main window holding the settings you change most, so you can toggle them right there without opening Settings.
You decide which options appear and in what order under Settings ▸ Quick Options — click an item on the left to add it to the bar, and drag the right-hand list to reorder. You can also collapse the strip with the arrow at its head.
Q. What is Developer Mode?
An optional log window, off by default, under Settings ▸ Developer. It records every compose / decompose / copy event with timestamps, can be searched and exported to a text file, and persists across launches. Handy if you want an audit trail of what changed; most users never need it.