Remove Vietnamese Accents (Diacritics)
Paste Vietnamese text below to strip the tone marks and diacritics. The conversion happens as you type, in your browser.
What this tool does
Vietnamese writes tone and vowel quality with combining marks: Tiếng Việt carries a circumflex and a tone on each syllable. Some systems — older databases, file names, URL slugs, cross-language matching, OCR post-processing — work poorly with those marks. This tool maps the text to its plain Latin base letters so it can be matched and stored reliably.
Method
The text is first decomposed into Unicode NFD, which splits each accented
character into a base letter plus combining marks. Every combining mark in the range
U+0300–U+036F is then removed, and the text is returned. Two letters, đ and
Đ, have no decomposition, so they are mapped to d and
D explicitly.
Decomposing first is what makes this reliable: it handles the full Vietnamese repertoire in a single pass rather than relying on a hand-built replacement table that silently misses rarely used combinations.
Doing it in Excel or Google Sheets
Spreadsheets have no built-in “remove accents” function. Three practical options:
| Approach | Formula / step | Notes |
|---|---|---|
| Helper column | =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"á","a"),"à","a"),"ả","a") … | Correct but long; you must cover every marked letter. |
| Apps Script (Sheets) | A short custom function that calls normalize('NFD') | Works on the whole column; needs script permission. |
| This page | Paste the column, copy the result back | Fastest for a one-off batch; nothing is uploaded. |
Example
| Input | Output |
|---|---|
| Tiếng Việt | Tieng Viet |
| Đà Nẵng | Da Nang |
| Hà Nội, Việt Nam | Ha Noi, Viet Nam |
| Phở bò | Pho bo |
Why Vietnamese needs its own tool
Most accent-stripping can be done with Unicode decomposition: decompose to NFD, drop the combining
marks, recompose. Vietnamese defeats that approach in one place — đ and
Đ are not a Latin letter with a mark. They are separate letters in the Vietnamese
alphabet, encoded as their own code points (U+0111 and U+0110), so decomposition leaves them intact
and a generic strip produces Đà Nẵng → Đa Nang with the Đ
still there.
This tool maps those two characters explicitly to d and D, then applies the
standard decomposition for everything else. That is the only difference from a generic accent
stripper, and it is the difference between usable output and output with one letter wrong.
The tone marks
Vietnamese is a tonal language with six tones, and the tone is written as a diacritic above or below a vowel. A single vowel can carry two marks at once — a tone and a quality mark — which is why Vietnamese text is the stress test for any Unicode handling.
| Word | Without accents | What changed |
|---|---|---|
| Việt Nam | Viet Nam | tone marks removed |
| Đà Nẵng | Da Nang | Đ mapped, tone marks removed |
| Phở bò | Pho bo | tone marks removed |
| Hà Nội | Ha Noi | tone marks removed |
The result is not “Vietnamese without tone” in a linguistic sense — removing tone changes meaning, just as it does in Mandarin. It is a practical ASCII form for people who cannot type the marks: the spelling most Vietnamese speakers use in informal chat, and the form a search box will match when the input method is unavailable.
When you want this, and when you do not
Use it for search keys, usernames, filenames, URL slugs, and any field that must stay ASCII. Do not use it for display text, where the accented form is the correct spelling and the unaccented one looks like an error to a Vietnamese reader. A site that stores unaccented Vietnamese and shows it as a heading is visibly wrong.
The usual pattern is to keep both: the original for display, the stripped form for matching. That is
how a search box can accept pho bo and find Phở bò.
Typography and the old encoding
Before Unicode, Vietnamese was written in encodings such as VNI and TCVN3, where the marks were encoded as separate characters in a private layout. Text in those encodings will not convert correctly with this tool — the bytes have to be transcoded to Unicode first. If the output looks scrambled rather than merely accented, the input is in a legacy encoding, not a Unicode form.
Frequently asked questions
What exactly gets removed?
All combining diacritical marks (the tone marks and vowel modifiers) are stripped, and the letters đ/Đ become d/D, which are not decomposable. The base letters are left untouched.
Is this reversible?
No. Removing tone marks is lossy: “má”, “mà”, “mả” and “mã” all collapse to “ma”. If you need the original, keep a copy before converting.
Why is it used?
Diacritic-free text is easier to match across systems, sort in databases, use in file names and URLs, and search when the keyboard cannot type Vietnamese.
Can I do this in Excel or Google Sheets?
There is no single built-in function. The reliable approaches are a helper column with nested SUBSTITUTE calls, a VBA/Apps Script function, or this page for a one-off batch.
Does it work on uppercase text?
Yes. Both cases are handled, including uppercase đ.
Is my text uploaded?
No. The conversion runs in your browser; nothing is sent to a server.
Go deeper
Longer explanations of the problems this tool solves:
Sources
- Unicode Standard, normalisation forms NFD/NFKD and the Combining Diacritical Marks block (U+0300–U+036F).
- Vietnamese orthography: the Latin script with tone marks and the non-decomposable letter đ.
Everything runs in your browser — nothing you type is uploaded.