Tutorial · 21/10/2026
Font Unicode tiếng Việt là gì? Phân biệt Unicode, VNI, TCVN3

Font Unicode tiếng Việt là gì, khác font VNI, TCVN3 (.Vn) ra sao, vì sao chữ hiện thành ThiÕt kÕ, cách nhận biết bảng mã và chuyển file cũ sang Unicode.
Trả lời nhanh: Font Unicode tiếng Việt là font mà các chữ có dấu (ă, ế, ữ, đ…) nằm đúng vị trí theo chuẩn Unicode, nên gõ ở máy nào, mở ở phần mềm nào cũng ra đúng chữ. TCVN3 (còn gọi là ABC, font tên thường bắt đầu bằng .Vn) và VNI (font tên thường bắt đầu bằng VNI-) là các bảng mã cũ, mỗi bảng đặt chữ có dấu vào chỗ riêng của nó. Chọn sai font hoặc sai bảng mã trong bộ gõ là chữ hiện thành kiểu "ThiÕt kÕ" hay "Thieát keá". Hôm nay bạn nên dùng font Unicode và đặt bộ gõ ở bảng mã Unicode.
| Unicode | TCVN3 (ABC) | VNI | |
|---|---|---|---|
| Tên font hay gặp | Arial, Times New Roman, Be Vietnam Pro, phần lớn Google Fonts có tiếng Việt | .VnTime, .VnArial… (bắt đầu bằng .Vn) | VNI-Times, VNI-Helve… (bắt đầu bằng VNI-) |
| Chữ "ế" lưu thành | 1 ký tự U+1EBF | 1 byte D5 | 2 byte 65 E1 |
| Chữ hoa có dấu | Có sẵn trong cùng font | Phải dùng font chữ hoa riêng (.VnTimeH…) | Có, ghép 2 byte |
| Web, điện thoại, Canva, Figma | Hiện đúng | Hỏng chữ | Hỏng chữ |
| Nên dùng cho bài mới? | Có | Không, chỉ để mở file cũ | Không, chỉ để mở file cũ |

Cùng câu "Thiết kế đồ hoạ" lưu bằng Unicode, TCVN3 và VNI, rồi mở bằng bảng mã Windows-1252: chữ lỗi là kết quả thật (minh hoạ: ColorME).
Bài này mình viết cho người làm thiết kế, dàn trang và làm nội dung: những người hay nhận file Word, file AI, file in cũ từ khách, rồi mở ra thấy chữ "nhảy" lung tung. Các mã byte và chữ lỗi trong bài là thật: mình lấy bảng đối chiếu của trang Vietnamese Unicode FAQs (đọc ngày 21/10/2026), mã hoá cùng một câu sang từng bảng mã, rồi đọc lại bằng bảng mã sai để ra đúng kiểu chữ lỗi bạn hay gặp. Mình không cài font .Vn hay VNI- nào để chụp, vì các font đó thường là bản chia sẻ không rõ giấy phép.
Font Unicode tiếng Việt là gì?
Muốn hiểu font Unicode, bạn cần tách hai thứ hay bị gọi chung là "font":
- Bảng mã (encoding): quy ước con số nào ứng với chữ nào. Máy tính chỉ lưu con số; bảng mã cho biết số đó là chữ "ế" hay chữ "Õ".
- Font: bộ hình vẽ của từng chữ. Font tra con số trong file để biết vẽ hình nào.
Unicode là bảng mã chung cho gần như mọi chữ viết trên thế giới. Mỗi chữ có một số riêng gọi là code point, viết dạng U+xxxx. Chữ "ế" có số U+1EBF, tên chuẩn là LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE. Theo trang Vietnamese language and computers (Wikipedia), chữ Việt có dấu nằm rải rác ở các khối Latin-1 Supplement, Latin Extended-A, Latin Extended-B và Latin Extended Additional của Unicode, và Unicode đã thành bảng mã phổ biến nhất nhờ tương thích tốt và được phần mềm hỗ trợ rộng. Trang Unicode trên Wikipedia tiếng Việt cũng ghi: "Phông chữ Unicode cho phép gõ tiếng Việt ở các phông Times New Roman hay Tahoma hay Arial."
"Font Unicode tiếng Việt" vì vậy là font có vẽ đủ các chữ có dấu tại đúng những số Unicode đó. Bảng đối chiếu của Vietnamese Unicode FAQs liệt kê 134 chữ cái tiếng Việt ngoài bảng ASCII: 67 chữ hoa và 67 chữ thường (mình đếm lại từ bảng ngày 21/10/2026). Font thiếu dù chỉ vài chữ trong số này là bạn sẽ thấy ô vuông hoặc chữ bị lấy từ font khác, nhìn lệch hẳn.
Unicode dựng sẵn và Unicode tổ hợp
Trong Unicode, một chữ có dấu có thể lưu theo hai cách. Cách dựng sẵn (precomposed) dùng một ký tự: "ế" là U+1EBF. Cách tổ hợp (combining) ghép chữ gốc với dấu: "e" (U+0065) + dấu mũ (U+0302) + dấu sắc (U+0301). Hai cách hiển thị giống nhau trên màn hình nhưng là hai chuỗi khác nhau trong máy.

Chữ "ế" trong Unicode: dựng sẵn là một ký tự U+1EBF, tổ hợp là e + dấu mũ U+0302 + dấu sắc U+0301; lưu ra UTF-8 thành 3 byte E1 BA BF (minh hoạ: ColorME).
Nhiều bộ gõ có cả hai lựa chọn, thường mang tên "Unicode" (dựng sẵn) và "Unicode tổ hợp". Với thiết kế, mình chọn Unicode dựng sẵn. Điều thường gặp là một số font đặt dấu tổ hợp lệch khỏi chữ, và lệnh tìm kiếm không tìm ra chữ được gõ theo kiểu còn lại. Khi lưu ra file, Unicode thường được ghi bằng UTF-8: chữ "ế" thành 3 byte E1 BA BF. Bạn không phải nhớ số này, chỉ cần biết UTF-8 là cách lưu Unicode mà web và hầu hết phần mềm hiện nay dùng.
TCVN3 (ABC) là gì?
TCVN3 là tên gọi tắt của một phần trong bộ tiêu chuẩn TCVN 5712:1993. Theo trang VSCII (Wikipedia), bộ mã này còn có tên VSCII, .VN hay ABC, gồm ba bảng mã; bảng thứ ba (VSCII-3, tức TCVN3) giữ nguyên 128 mã ASCII và thêm 75 ký tự. Vì chỉ có một byte cho mỗi chữ và không đủ chỗ, các chữ hoa có dấu được giải quyết bằng cách chuyển sang một font toàn chữ hoa. Cũng theo trang này, TCVN3 được dùng rộng rãi ở miền Bắc.
Trong thực tế (thường gặp, không phải quy định): font TCVN3 có tên bắt đầu bằng .Vn, như .VnTime, .VnArial, và bản chữ hoa thường có thêm chữ H ở cuối tên, như .VnTimeH. Đó là lý do file Word cũ hay có tiêu đề in hoa dùng một font khác hẳn phần thân.
Trang Vietnamese Unicode FAQs ghi rõ một điểm cần nhớ khi chuyển file TCVN3 sang Unicode: "Users must take this peculiarity into account when converting files in TCVN3 format to Unicode; some post-conversion editing is necessary." Nghĩa là sau khi chuyển mã, bạn vẫn phải soát lại, nhất là các chữ hoa có dấu.
VNI là gì?
VNI vừa là tên một bảng mã, vừa là tên một kiểu gõ. Theo trang VNI (Wikipedia), bảng mã VNI dùng tối đa hai byte cho một nguyên âm có dấu, byte thứ hai mang phần dấu, và bảng mã này được dùng nhiều ở miền Nam cùng cộng đồng người Việt ở nước ngoài, còn TCVN 5712 chiếm ưu thế ở miền Bắc. Font VNI thường có tên bắt đầu bằng VNI-, như VNI-Times.
Đừng nhầm hai thứ cùng tên:
- Kiểu gõ VNI: gõ dấu bằng phím số (a1 thành á, a2 thành à). Kiểu gõ này dùng với bảng mã Unicode hoàn toàn bình thường.
- Bảng mã VNI: cách lưu chữ cũ, chỉ hiện đúng khi dùng font VNI-.
Bạn hoàn toàn có thể gõ kiểu VNI (hoặc Telex) ra chữ Unicode. Cái cần đổi là bảng mã, không phải kiểu gõ.
Cùng một câu, ba bảng mã lưu khác nhau thế nào?
Đây là câu "Thiết kế đồ hoạ" ở dạng byte thật trong từng bảng mã, mình mã hoá theo bảng đối chiếu của Vietnamese Unicode FAQs. Phần chữ không dấu (T, h, i, t…) giống nhau ở cả ba vì cùng giữ nguyên ASCII; khác nhau nằm ở các chữ có dấu.

Mã byte của "Thiết kế đồ hoạ" trong UTF-8, TCVN3 và VNI, theo bảng đối chiếu Vietnamese Unicode FAQs đọc ngày 21/10/2026 (minh hoạ: ColorME).
| Chữ | Unicode (code point) | UTF-8 (byte) | TCVN3 | VNI |
|---|---|---|---|---|
| ế | U+1EBF | E1 BA BF | D5 | 65 E1 |
| đ | U+0111 | C4 91 | AE | F1 |
| ồ | U+1ED3 | E1 BB 93 | E5 | 6F E0 |
| ạ | U+1EA1 | E1 BA A1 | B9 | 61 EF |
Nhìn bảng là hiểu vì sao VNI "dùng hai byte": chữ "ế" là chữ e (65) cộng một byte dấu (E1). Còn TCVN3 nhét cả chữ vào một byte D5, byte này trong bảng mã Windows phương Tây lại là chữ "Õ". Đó chính là chữ "Õ" bạn hay thấy trong file lỗi.
Vì sao chữ hiện thành "ThiÕt kÕ" hay "Thieát keá"?
Chữ lỗi xảy ra khi con số trong file được đọc bằng bảng mã khác với bảng mã lúc gõ. Máy không biết sai; nó chỉ vẽ đúng chữ mà con số đó đại diện trong bảng mã nó đang dùng. Trang Wikipedia nói trên cũng ghi: trình duyệt phổ biến không hỗ trợ các bảng mã tiếng Việt chuyên biệt, nên trang web dùng font TCVN3 hay VNI sẽ thành chữ vô nghĩa trên máy không cài các font đó.

Ba kiểu chữ lỗi thật của câu "Tiếng Việt có dấu" và bảng mã gốc tương ứng (minh hoạ: ColorME).
Ba kiểu lỗi dưới đây đều do mình tạo thật từ câu "Tiếng Việt có dấu", rồi đọc lại bằng bảng mã Windows-1252 (bảng mã phương Tây mặc định của nhiều phần mềm). Học thuộc "dáng" của từng kiểu là bạn đoán được file gốc dùng bảng mã nào:
| Bạn thấy | File gốc thường là | Dấu hiệu nhận ra |
|---|---|---|
| TiÕng ViÖt cã dÊu | TCVN3 (font .Vn) | Ký tự lạ thay đúng 1 chữ: Õ, Ö, ã, Ê, ® |
| Tieáng Vieät coù daáu | VNI (font VNI-) | Chữ không dấu đứng trước, theo sau là 1 ký tự lạ: á, ä, ù |
| Tiếng Việt có dấu | Unicode UTF-8 bị đọc sai bảng mã | Mỗi chữ có dấu thành 2 đến 3 ký tự, hay có "áº", "á»", "Ã" |
Kiểu thứ ba không phải lỗi font: file vẫn là Unicode chuẩn, chỉ có phần mềm mở nó đọc nhầm bảng mã. Gặp kiểu này trong file CSV hay file text, bạn mở lại và chọn bảng mã UTF-8 là xong, không cần chuyển gì cả.
Cách nhận biết font và file đang dùng bảng mã nào
- Nhìn tên font. Tên bắt đầu bằng .Vn là TCVN3, bắt đầu bằng VNI- là VNI (thường gặp). Font không có tiền tố này và có ghi hỗ trợ Vietnamese thì gần như chắc là Unicode.
- Gõ thử với bộ gõ đặt Unicode. Bật UniKey (hoặc bộ gõ tiếng Việt có sẵn trong Windows, macOS), chọn bảng mã Unicode, gõ "Thiết kế đồ hoạ Ữ Ỵ". Font Unicode cho ra chữ đúng; font .Vn hay VNI- sẽ ra chữ lạ hoặc thiếu dấu.
- Nhìn chữ lỗi. Dùng bảng ở mục trên: "Õ, ®" là TCVN3; "eá, oà" là VNI; "áº, á»" là UTF-8 bị đọc sai.
- Kiểm tra độ phủ dấu của font Unicode. Font Unicode vẫn có thể thiếu vài chữ (hay thiếu nhất là các chữ hoa có dấu như Ỷ, Ữ, Ặ). Cách nhanh là gõ đủ bảng chữ có dấu vào ô xem trước, hoặc dùng công cụ kiểm tra như dưới đây.

Công cụ Kiểm tra font tiếng Việt của ColorME với font Bebas Neue: thiếu 92 ký tự, ô đỏ là chữ font không có (ảnh chụp màn hình ngày 21/10/2026).
Trang Kiểm tra font hỗ trợ tiếng Việt của ColorME giới thiệu là: "Kiểm tra font có đủ dấu tiếng Việt không: nhập tên font Google hoặc tải file TTF, OTF, WOFF lên, xem ngay ký tự nào bị thiếu." Mình thử khi chưa đăng nhập ngày 21/10/2026: chọn font Google "Be Vietnam Pro" thì công cụ báo 146/146 ký tự tiếng Việt có dấu hiển thị đúng; chọn "Bebas Neue" thì báo "Thiếu 92 ký tự", 54/146 ký tự hiển thị đúng, kèm dòng "Google Fonts · không có bộ ký tự tiếng Việt". Con số 146 của công cụ tính cả nguyên âm không dấu (a, e, i…), nên lớn hơn con số 134 ở trên. Lưu ý: công cụ kiểm tra font có vẽ đủ chữ Unicode hay không; nó không chuyển văn bản TCVN3 hay VNI sang Unicode.
Chuyển văn bản TCVN3, VNI sang Unicode
Khi nhận file cũ, việc đúng là chuyển văn bản sang Unicode rồi mới đổi font. Chỉ đổi font từ .VnTime sang Arial mà không chuyển mã thì chữ sẽ thành "ThiÕt kÕ" ngay, vì con số bên trong vẫn là TCVN3.
- Xác định bảng mã gốc bằng tên font hoặc dáng chữ lỗi như trên.
- Chép phần chữ cần chuyển (trong Word, Illustrator, InDesign…) vào bộ nhớ tạm.
- Dùng công cụ chuyển mã: chọn bảng mã nguồn (TCVN3 hoặc VNI) và bảng mã đích (Unicode), chuyển, rồi dán lại. Trang chính thức unikey.org ghi UniKey hỗ trợ các bảng mã "Unicode, TCVN (ABC)", "VIQR, VNI, VPS, VISCII, BK HCM1, BK HCM2,…" và chạy trên Windows; bộ UniKey trên Windows có kèm công cụ chuyển mã. Mình không chạy UniKey trong bài này (máy viết bài là macOS), nên không mô tả từng nút của nó.
- Đổi font của đoạn đã chuyển sang một font Unicode có đủ dấu.
- Soát lại chữ hoa có dấu, đúng như lưu ý của Vietnamese Unicode FAQs ở trên: phần TCVN3 dùng font chữ hoa riêng thường cần sửa tay sau khi chuyển.
Chỉ tải công cụ chuyển mã từ trang chính thức của nó. Trang unikey.org tự ghi: "Unikey.org là website chính thức duy nhất của phần mềm UniKey."
Với file thiết kế (AI, PSD, INDD) và file in
- Lớp chữ trong file AI, PSD cũ dùng font .Vn hoặc VNI-: chuyển mã phần chữ rồi đặt font Unicode, xong mới chỉnh lại khoảng cách, vì font mới có độ rộng khác. Cách xử lý lỗi font riêng trong Photoshop có ở bài lỗi font trong Photoshop.
- File gửi nhà in: dùng font Unicode, rồi xuất PDF có nhúng font hoặc chuyển chữ thành nét (outline) ở bản in cuối. Giữ lại một bản còn chữ sống để sửa về sau.
- Khách gửi nội dung bằng file Word cũ: chuyển mã trước khi dán vào Canva, Figma hay website. Các nền tảng này dùng Unicode, nên dán chữ TCVN3 vào là hỏng ngay.

Năm bước xử lý file chữ cũ dùng font .Vn hoặc VNI- (minh hoạ: ColorME).
Chọn font Unicode tiếng Việt cho thiết kế
Hiện nay bạn gần như không còn lý do để dùng font .Vn hay VNI- cho việc mới. Font Unicode đủ dấu có rất nhiều, nhiều font có giấy phép rõ ràng:
- Google Fonts: lọc theo ngôn ngữ Vietnamese để chỉ thấy font có tiếng Việt; giấy phép từng font ghi trên trang font. Mình viết chi tiết ở bài Google Fonts là gì.
- Kho font tiếng Việt của ColorME: trang font chữ đẹp tiếng Việt tự giới thiệu "498 font đủ dấu", có ô gõ thử chữ của bạn và lọc theo kiểu chữ.
- Font Việt hoá: một số font nước ngoài được thêm dấu tiếng Việt. Xem thêm về các nhóm font này ở bài các loại font Việt hoá phổ biến, và luôn kiểm tra giấy phép trước khi dùng cho khách.
Mẹo nhỏ khi thử font: đừng chỉ gõ "Tiếng Việt". Gõ một câu có đủ chữ khó như "Ữ Ỵ Ặ Ỷ ẵ ỡ ự Đường" ở cả cỡ to lẫn cỡ nhỏ. Dấu chồng (ẫ, ổ, ự) là chỗ font Việt hoá kém hay bị đè lên nhau hoặc lệch khỏi chữ.
Câu hỏi thường gặp
Font Unicode và font VNI khác nhau thế nào?
Font Unicode vẽ chữ có dấu tại đúng số Unicode chuẩn, nên chữ hiện đúng ở mọi máy và mọi phần mềm. Font VNI dùng bảng mã VNI riêng, mỗi nguyên âm có dấu lưu bằng tối đa hai byte, nên chỉ hiện đúng khi máy có font VNI- và phần mềm dùng font đó.
TCVN3 là gì, font .VnTime có phải Unicode không?
TCVN3 là bảng mã tiếng Việt cũ thuộc tiêu chuẩn TCVN 5712:1993, còn gọi là ABC. Font .VnTime là font TCVN3, không phải Unicode. Times New Roman mới là font Unicode có tiếng Việt.
Vì sao gõ tiếng Việt bị lỗi font, ra chữ lạ?
Vì bảng mã trong bộ gõ không khớp với font. Ví dụ bộ gõ để Unicode mà font là .VnTime, hoặc bộ gõ để TCVN3 mà font là Arial. Đặt bộ gõ ở bảng mã Unicode và dùng font Unicode là hết.
Gõ kiểu VNI có phải là dùng bảng mã VNI không?
Không. Kiểu gõ VNI là cách gõ dấu bằng phím số; bảng mã VNI là cách lưu chữ. Bạn có thể gõ kiểu VNI hoặc Telex mà vẫn ra chữ Unicode, miễn bộ gõ đặt bảng mã Unicode.
Chuyển văn bản TCVN3 sang Unicode xong có cần sửa gì không?
Có. Vietnamese Unicode FAQs lưu ý file TCVN3 thường cần sửa lại sau khi chuyển, nhất là chữ hoa có dấu vốn dùng font chữ hoa riêng. Sau đó đổi sang font Unicode và chỉnh lại khoảng cách chữ.
Nắm chắc chuyện bảng mã và font là bước nhỏ nhưng tránh được rất nhiều lần phải dàn lại chữ trên poster, ấn phẩm in. Nếu bạn đang học thiết kế và muốn làm việc với chữ bài bản hơn trong Photoshop, khoá Photoshop cho người mới của ColorME đi từ con số 0 đến thiết kế ấn phẩm truyền thông.
Tác giảCOLOR ME














