Vietnamese Tone Mark Stripper

Remove all Vietnamese diacritic tone marks to produce plain ASCII

Strip every Vietnamese tonal diacritic and base-vowel modification to convert text to plain ASCII for usernames, filenames, and URL slugs. Handles all five tones plus â ê ô ă ơ ư and đ. Runs in your browser. It runs free in your browser on Gera Tools, with nothing uploaded.

Last updated Source: Gera Tools

Which marks does this remove?

It removes all five Vietnamese tone marks (acute, grave, hook above, tilde, dot below) and the base-vowel modifications â, ê, ô, ă, ơ, and ư. It also maps đ to d. The result is pure ASCII A–Z.

This tool converts accented Vietnamese into plain ASCII by removing every tone mark and vowel modification. It is built for technical contexts — usernames, filenames, email handles, and URL slugs — where diacritics cause problems.

Why Vietnamese diacritic removal is different from other languages

Vietnamese is a tonal language that uses diacritics in two distinct, overlapping ways. Unlike French (where accents just modify pronunciation) or Spanish (where accents mark stress), Vietnamese diacritics carry both pitch information (the six tones) and phonemic information (modified base vowels that represent completely different sounds). This makes Vietnamese one of the more complex scripts to process for ASCII conversion.

A Vietnamese word can carry both a base-vowel modification and a tone mark stacked on the same letter: the ế in tiếng layers a circumflex (ê) underneath a rising tone (acute). A naive byte-replacement approach often misses one layer or the other; this tool handles both.

How it works

Vietnamese diacritics fall into two groups: the five tone marks and the base vowel modifications such as the circumflex (â ê ô), breve (ă), and horn (ơ ư). The tool first decomposes the text into base letters plus separate combining marks using Unicode NFD normalization, then deletes all combining marks. Because the letter đ does not decompose into d plus a mark, it is mapped explicitly. The remaining characters are recomposed into clean ASCII.

This Unicode-based approach is more reliable than a static lookup table, which would need to enumerate all 134+ distinct Vietnamese letter-plus-tone combinations individually.

The six tones and what gets removed

Vietnamese has six tones, each written with a different diacritic (or absence of one):

ToneNameExampleStripped to
Level (flat)Ngangmama
FallingHuyềnma
Rising-brokenSắcma
DippingHỏimảma
Creaky-risingNgãma
CheckedNặngmạma

All six collapse to the same base letter when stripped. A reader of the ASCII output cannot reconstruct the original word — which is exactly why this output should only ever be used for identifiers, never as a substitute for the Vietnamese original.

Common use cases

  • Usernames and handles: a user named Nguyễn Thị Hương needs a username that works in systems limited to ASCII. Stripping produces Nguyen Thi Huong, which then becomes nguyen-thi-huong as a slug.
  • Email addresses: some older mail systems reject non-ASCII local parts. Stripping the name before generating an address avoids delivery failures.
  • URL slugs: Vietnamese blog posts need clean URLs. Hồ Chí Minh becomes the slug ho-chi-minh.
  • Database keys and filenames: ASCII identifiers avoid encoding headaches in systems that were not designed for Unicode paths.
  • Search normalisation: stripping tone marks before indexing lets a search for nguyen match Nguyễn, Nguyên, and Nguyện.

Worked examples

  • Tiếng ViệtTieng Viet → slug: tieng-viet
  • Đà NẵngDa Nang → slug: da-nang
  • Hồ Chí MinhHo Chi Minh → slug: ho-chi-minh
  • Phở bòPho bo → slug: pho-bo

Remember that stripping tones removes meaning — , , mả, , and mạ all collapse to ma — so use the output only for identifiers, never as a replacement for the original Vietnamese.