Chinese Characters to Hán-Việt and Pinyin Converter Online
Convert Chinese text to Hán-Việt (Sino-Vietnamese) readings and pinyin by word, with traditional / simplified forms; or find characters by reading.
Result
Press “Run” to see the result.
Send Chinese text (simplified or traditional, up to 1,000 characters) and get the Hán-Việt reading, the pinyin, the traditional and the simplified spelling, and the segments: each word with its reading, pinyin and English glosses. The text is segmented by longest match against about 7,600 Sino-Vietnamese words (愛國 → ái quốc, 銀行 → ngân hàng) and the 125,000 words of CC-CEDICT, so polyphonic characters take the reading of the word they belong to whenever it is known (行動 hành động, 銀行 ngân hàng); other characters take their main reading, and every reading of a single character is listed.
Reverse lookup: reading=ái lists the characters read "ái", main reading first (ignore_tones=true to match without tones). details=true adds every character with all its Hán-Việt and Hán-Nôm readings, pinyin and variants. Characters with no known reading are listed in unknown_characters.
Data: Hán-Việt readings from the Unicode Unihan database (kVietnamese, Unicode License) completed with Wiktionary (CC BY-SA 4.0); pinyin from Unihan and CC-CEDICT (CC BY-SA 4.0, mdbg.net); rebuilt weekly. The attribution is included in every answer. Readings are a study aid: classical texts sometimes use a reading other than the main one.
Use this in your code
curl "https://apibox.io.vn/v1/vn-hanviet?text=%E6%88%91%E7%88%B1%E8%B6%8A%E5%8D%97" \
-H "Authorization: Bearer YOUR_API_KEY"const res = await fetch('https://apibox.io.vn/v1/vn-hanviet?text=%E6%88%91%E7%88%B1%E8%B6%8A%E5%8D%97', {
method: 'GET',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
},
});
const data = await res.json();
console.log(data);import requests
res = requests.get(
"https://apibox.io.vn/v1/vn-hanviet?text=%E6%88%91%E7%88%B1%E8%B6%8A%E5%8D%97",
headers={"Authorization": "Bearer YOUR_API_KEY"},
timeout=30,
)
print(res.json())<?php
$ch = curl_init('https://apibox.io.vn/v1/vn-hanviet?text=%E6%88%91%E7%88%B1%E8%B6%8A%E5%8D%97');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer YOUR_API_KEY'],
]);
$response = curl_exec($ch);
print_r(json_decode($response, true));API documentation → Get a free API key
FAQ
How are polyphonic characters handled?
Words are matched first: a character inside a known Sino-Vietnamese word or a CC-CEDICT word gets the reading and pinyin of that word; a character alone gets its main reading, with the other readings listed.
Simplified or traditional?
Both: simplified characters are mapped to their traditional forms to find the Hán-Việt word, and both spellings are returned.
Can I use the data commercially?
Yes: Unihan is under the Unicode License and Wiktionary and CC-CEDICT under CC BY-SA 4.0, which allow commercial use with attribution; keep the attribution field when you display results.