digtools
⚙️
unicode-normalizer,

Fix dakuten separation on Mac
(Unicode normalization)

Instantly fixes Mac-specific filename separation in browsers.

⚡️
Just paste to fix instantly
Fix dakuten separation with one click
✨️
Full Mac dakuten support
NFD→NFC auto-conversion
🛡️
No external libraries
Runs on browser standard APIs only
Characters: 0 | NFD Detected: 0locations
about,

About

An online tool that performs Unicode text normalization (NFC/NFD/NFKC/NFKD) in real time. You can easily perform the normalization processing necessary for unifying character codes and comparing them.

Supports normalization patterns that frequently occur in text processing, such as unifying full-width and half-width characters, combining/separating voiced marks, and normalizing compatible characters. It is also possible to display character code points and byte strings.

All processing is completed within the browser and no data is sent to the server.

how to use,

How to Use

STEP 1

Enter text

Enter or paste the text you want to normalize into the input field.

STEP 2

Select format

Select the normalization format: NFC, NFD, NFKC, or NFKD.

STEP 3

Confirm/Copy result

Check the text and code point changes after normalization and copy.

glossary,

Glossary

Unicode Normalization
The process of converting text to a canonical Unicode form so that different code-point sequences representing the same character are treated identically.
NFC (Canonical Composition)
Decomposes characters and then recomposes them into precomposed form. The most widely used normalization form for web content and general text processing.
NFD (Canonical Decomposition)
Decomposes characters into a base character plus combining characters. Used by macOS file systems and some Unix environments.
NFKC (Compatibility Composition)
Converts compatibility characters (e.g., full-width alphanumerics, half-width katakana) to their standard forms and then composes. Commonly used for search and data normalization.
Combining Characters
Unicode code points that attach to a preceding base character rather than standing alone, such as accent marks and diacritics.
Compatibility Characters
Characters with distinct code points but equivalent meaning or appearance to standard forms, such as full-width ASCII, circled numbers, and half-width katakana.
Code Point
A unique numerical identifier assigned to each character in Unicode, written as U+XXXX (e.g., U+3042 for the hiragana character あ).
faq,

FAQ

What is the difference between NFC and NFKC?
NFC unifies internal encoding without changing the visible text. NFKC additionally converts compatibility characters — for example, full-width digits become half-width.
Which form should I use?
Use NFC for general text. Use NFKC before database storage or search indexing. Consider NFD when targeting macOS compatibility.
Is my text sent to a server?
No. All normalization runs locally in your browser. Your text is never transmitted to any external server.
Can normalization delete characters?
Normally no. However, NFKC may visually alter characters — for example, converting full-width letters to their half-width equivalents.
Why does string comparison need normalization?
The same visible character can have different internal encodings. Normalizing to a common form ensures that comparisons and searches work reliably.
Is this especially useful for Japanese text?
Yes. Japanese documents often mix full-width and half-width characters. Normalization resolves these inconsistencies and improves data quality.
How do I copy the result?
Click the copy button above the output area to save the normalized text to your clipboard.
use cases,

Use Cases

🗄️

Database unification

Ensure data uniformity by normalizing user input.

🔍

String comparison

Achieve accurate comparisons and searches using normalized strings.

📊

Text preprocessing

Apply normalization as preprocessing for natural language processing and data analysis.

🔧

Character code investigation

Check the code point of the character. For investigating encoding issues.

technology,

Technical

String.prototype.normalize() API

Since only browser-specific native functions are used, even huge string data can be normalized instantly in a few milliseconds.