Vietnamese Spell Checker API
Check Vietnamese spelling: invalid syllables, c/k, g/gh, ng/ngh rules, frequent mistakes (xử dụng, sử lý, nghành) and punctuation, with suggestions.
The Vietnamese spell checker reads the text syllable by syllable. It reports syllables that do not exist in Vietnamese (phát triễn → triển), breaches of the spelling rules (kon → con, ghà → gà, ngiệp → nghiệp, a stop consonant with the wrong tone), and a list of frequent real-word mistakes such as xử dụng, sử lý, nghành, chuẩn đoán, bổ xung or sát nhập.
Typography is checked too: spaces before punctuation, missing spaces after a comma, double spaces and a lowercase letter at the start of a sentence. Every issue has its position (start, end), a type, a severity (error, warning, info), messages in Vietnamese and English and suggestions; corrected is the text with the first suggestion of each error applied. Both tone-mark styles (hoà / hòa) are accepted, English words and acronyms are left alone, and ignore lists words to skip.
It works from a syllable inventory and rules, without an AI model, so it is fast and predictable; grammar and word choice (dành / giành) are not checked.
Parameters
| Name | In | Type | Required | Default | |
|---|---|---|---|---|---|
text | body|query | string | yes | Text to check (max 50,000 characters). | |
ignore | body|query | string | no | Comma-separated words to skip (brand names, jargon). |
Example
curl -X POST "https://apibox.io.vn/v1/vn-spellcheck" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Chúng tôi xử dụng công nghệ để sử lý dữ liệu ,giúp doanh nghiệp phát triễn. kết quả rất tốt."}'const res = await fetch('https://apibox.io.vn/v1/vn-spellcheck', {
method: 'POST',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"text": "Chúng tôi xử dụng công nghệ để sử lý dữ liệu ,giúp doanh nghiệp phát triễn. kết quả rất tốt."
}),
});
const data = await res.json();
console.log(data);import requests
res = requests.post(
"https://apibox.io.vn/v1/vn-spellcheck",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={"text": "Chúng tôi xử dụng công nghệ để sử lý dữ liệu ,giúp doanh nghiệp phát triễn. kết quả rất tốt."},
timeout=30,
)
print(res.json())<?php
$ch = curl_init('https://apibox.io.vn/v1/vn-spellcheck');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => ['Authorization: Bearer YOUR_API_KEY', 'Content-Type: application/json'],
CURLOPT_POSTFIELDS => '{"text":"Chúng tôi xử dụng công nghệ để sử lý dữ liệu ,giúp doanh nghiệp phát triễn. kết quả rất tốt."}',
]);
$response = curl_exec($ch);
print_r(json_decode($response, true));Response
{
"errors": 3,
"warnings": 0,
"info": 2,
"issues": [
{
"start": 10,
"end": 17,
"text": "xử dụng",
"type": "common_misspelling",
"severity": "error",
"message_vi": "Viết đúng là \"sử dụng\"",
"message_en": "The correct spelling is \"sử dụng\"",
"suggestions": [
"sử dụng"
]
},
{
"start": 31,
"end": 36,
"text": "sử lý",
"type": "common_misspelling",
"severity": "error",
"message_vi": "Viết đúng là \"xử lý\"",
"message_en": "The correct spelling is \"xử lý\"",
"suggestions": [
"xử lý"
]
},
{
"start": 44,
"end": 46,
"text": " ,",
"type": "punctuation",
"severity": "info",
"message_vi": "Không đặt dấu cách trước dấu câu",
"message_en": "No space before punctuation",
"suggestions": [
", "
]
},
{
"start": 69,
"end": 74,
"text": "triễn",
"type": "unknown_syllable",
"severity": "error",
"message_vi": "Âm tiết không tồn tại trong tiếng Việt",
"message_en": "Not a Vietnamese syllable",
"suggestions": [
"triển",
"triền",
"tiền"
]
},
{
"start": 76,
"end": 77,
"text": "k",
"type": "capitalization",
"severity": "info",
"message_vi": "Viết hoa chữ cái đầu câu",
"message_en": "Capitalise the first letter of the sentence",
"suggestions": [
"K"
]
}
],
"corrected": "Chúng tôi sử dụng công nghệ để xử lý dữ liệu, giúp doanh nghiệp phát triển. Kết quả rất tốt.",
"note": "Spelling check: syllables, spelling rules and frequent mistakes. Grammar and word choice (e.g. dành / giành) are not checked."
}
Use cases
- Check product descriptions and articles before publishing
- Proofread customer-facing e-mails and notifications
- Clean user-generated content in forms and reviews
- Quality checks on translated or AI-generated Vietnamese
FAQ
Does it check grammar?
No, spelling, frequent mistakes and typography only. Choices such as dành / giành depend on meaning and are not checked.
Are English words flagged?
Acronyms and words that cannot be Vietnamese are skipped; ambiguous ones get a warning (not an error). Add your own terms with ignore.
Is hoà or hòa correct?
Both tone-mark placements are accepted.
Related APIs
Text Diff
Compare two texts by lines, words, characters, sentences or JSON and get the changes, a similarity score and a unified diff patch.
a-bSlugify
Turn titles into clean URL slugs: accents removed (Vietnamese đ included), custom separator, optional case keeping and maximum length.
123Text Statistics
Count words, characters, sentences, paragraphs and lines, estimate reading and speaking time, and list the most frequent words of a text.