Vietnam Label Checker
Mandatory label content for goods sold in Vietnam (Decree 37/2026), 69 product groups, the Vietnamese sticker for imports, date rules and a label checker.
Result
Press “Run” to see the result.
Pick a product group (group=cosmetics, food, toy, textile, electrical_electronic… 69 groups of Appendix I of Decree 37/2026/NĐ-CP), give an HS code (hs_code=9503, mapped to the usual group) or describe the product (q=nồi cơm điện), and say whether the goods are made in Vietnam or imported (origin=domestic|import). The API lists every field the label must show with its legal source: the general content of Article 42 (name, responsible party or manufacturer + importer, origin) plus the group content of Appendix I (quantity, production date, expiry, ingredients, warnings, year of production…), mandatory phrases such as "Thực phẩm bảo vệ sức khỏe", the date rules of Article 46 / Appendix III, the allowed origin wording of Article 47 and, for imports, the auxiliary label (nhãn phụ) rules of Article 40.
Send the label you have as label (JSON: name, manufacturer, importer, origin, quantity, mfg_date, expiry, ingredients, lot…) and the response adds a check: missing fields, invalid values (dates not in day-month-year order or without 2-digit day and month, a 2-digit year of production, an expiry before the production date, an origin without "Sản xuất tại / Made in…" or with a country code on the Vietnamese label) and warnings. For imports it also returns aux_label_lines, the Vietnamese sticker text in order, ready for label-pdf (template aux).
Decree 37/2026/NĐ-CP (23 January 2026) replaced Decrees 43/2017 and 111/2021; labels printed under the old decrees may be used until 23 January 2028. The table is hand-entered from the decree text and reviewed every 6 months. Specialised rules (drugs, food safety, cosmetics notification, vehicles) can add requirements: this is a reference summary, not legal advice.
Use this in your code
curl -X POST "https://apibox.io.vn/v1/vn-label-rules" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"group":"cosmetics","origin":"import","label":{"name":"Serum dưỡng da","manufacturer":{"name":"ABC Cosmetics Co., Ltd","address":"Seoul, Korea"},"importer":{"name":"Công ty TNHH XYZ","address":"Hà Nội"},"origin":"Made in KR","quantity":"30 ml","ingredients":"Water, Glycerin","lot":"L2301","expiry":"01/05/2027","instructions":"Thoa lên da"}}'const res = await fetch('https://apibox.io.vn/v1/vn-label-rules', {
method: 'POST',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"group": "cosmetics",
"origin": "import",
"label": {
"name": "Serum dưỡng da",
"manufacturer": {
"name": "ABC Cosmetics Co., Ltd",
"address": "Seoul, Korea"
},
"importer": {
"name": "Công ty TNHH XYZ",
"address": "Hà Nội"
},
"origin": "Made in KR",
"quantity": "30 ml",
"ingredients": "Water, Glycerin",
"lot": "L2301",
"expiry": "01/05/2027",
"instructions": "Thoa lên da"
}
}),
});
const data = await res.json();
console.log(data);import requests
res = requests.post(
"https://apibox.io.vn/v1/vn-label-rules",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={"group": "cosmetics", "origin": "import", "label": {"name": "Serum dưỡng da", "manufacturer": {"name": "ABC Cosmetics Co., Ltd", "address": "Seoul, Korea"}, "importer": {"name": "Công ty TNHH XYZ", "address": "Hà Nội"}, "origin": "Made in KR", "quantity": "30 ml", "ingredients": "Water, Glycerin", "lot": "L2301", "expiry": "01/05/2027", "instructions": "Thoa lên da"}},
timeout=30,
)
print(res.json())<?php
$ch = curl_init('https://apibox.io.vn/v1/vn-label-rules');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => ['Authorization: Bearer YOUR_API_KEY', 'Content-Type: application/json'],
CURLOPT_POSTFIELDS => '{"group":"cosmetics","origin":"import","label":{"name":"Serum dưỡng da","manufacturer":{"name":"ABC Cosmetics Co., Ltd","address":"Seoul, Korea"},"importer":{"name":"Công ty TNHH XYZ","address":"Hà Nội"},"origin":"Made in KR","quantity":"30 ml","ingredients":"Water, Glycerin","lot":"L2301","expiry":"01/05/2027","instructions":"Thoa lên da"}}',
]);
$response = curl_exec($ch);
print_r(json_decode($response, true));API documentation → Get a free API key
FAQ
Which decree does it follow?
Decree 37/2026/NĐ-CP, Chapter IV and Appendices I and III, in force since 23/01/2026. It replaced Decrees 43/2017/NĐ-CP and 111/2021/NĐ-CP.
How do I find the right product group?
Use group=<id>, an HS code or q=<product words>. Goods that fit several groups are labelled by their main use (Article 42.1.d); the API returns suggestions when unsure.
Does it check the date format?
Yes: day, month, year in that order, 2-digit day and month, a 4-digit year of production, durations like "30 tháng kể từ NSX" only next to a production date, and expiry not before production.