Giới thiệu
Sử dụng trình tạo CNPJ để tạo một số CNPJ hợp lệ.
CNPJ là gì?
Cadastro Nacional da Pessoa Jurídica (CNPJ), Đăng ký Quốc gia về Các Thực thể Pháp lý, có chức năng tương tự như CPF nhưng là duy nhất cho các thực thể pháp lý. Nó xác định các công ty tại Cơ quan Thuế Liên bang.
CNPJ phải được chi tiết trên tất cả các hóa đơn và biên lai do công ty phát hành và trên bao bì sản phẩm. (wikipedia)
Tạo và xác thực CNPJ
CNPJ có 14 ký tự. 8 ký tự đầu là số đăng ký (phần gốc), 4 ký tự tiếp theo xác định chi nhánh (0001 cho trụ sở chính) và 2 ký tự cuối là chữ số kiểm tra được tính từ 12 ký tự trước đó. Trước tháng 7/2026 cả 14 ký tự đều là số; giờ 12 ký tự đầu cũng có thể chứa chữ cái.
CNPJ chữ và số (từ tháng 7/2026)
Ngày 31/7/2026, Receita Federal đã cấp CNPJ chữ và số đầu tiên: 00.000.000/E08G-12. Giờ đây 12 ký tự đầu của CNPJ, gồm 8 ký tự gốc và 4 ký tự chi nhánh, có thể chứa chữ cái (từ A đến Z) bên cạnh chữ số. 2 ký tự cuối, tức các chữ số kiểm tra, vẫn là số.
Các CNPJ đã cấp trước đây vẫn hợp lệ và không cần thay thế, nên mọi hệ thống đọc hoặc lưu CNPJ giờ phải chấp nhận cả hai định dạng. Tùy chọn định dạng trong trình tạo cho bạn giá trị thử nghiệm ở định dạng nào cũng được.
Cách tính các chữ số kiểm tra
Quy tắc này lấy từ sổ tay tính chữ số kiểm tra CNPJ của Receita Federal và áp dụng cho cả hai định dạng. Mỗi ký tự nhận một giá trị: mã ASCII của nó trừ 48. Chữ số giữ nguyên giá trị (0 đến 9) và chữ cái bắt đầu từ 17: A = 17, B = 18, C = 19, cứ thế đến Z = 42.
Chữ số kiểm tra thứ nhất: gán cho 12 ký tự các trọng số từ 2 đến 9 theo chiều từ phải sang trái, bắt đầu lại từ 2 sau ký tự thứ tám (5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2). Nhân mỗi giá trị với trọng số của nó, cộng các kết quả lại và chia tổng cho 11.
Tính cụ thể với 00.000.000/E08G-12, trong đó E = 21 và G = 23:
0×5 + 0×4 + 0×3 + 0×2 + 0×9 + 0×8 + 0×7 + 0×6 + E(21)×5 + 0×4 + 8×3 + G(23)×2 = 175
175 mod 11 = 10
11 − 10 = 1Chữ số kiểm tra thứ hai: thêm chữ số kiểm tra thứ nhất vào cuối để có 13 ký tự, rồi lặp lại các bước trên với trọng số 6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2.
0×6 + 0×5 + 0×4 + 0×3 + 0×2 + 0×9 + 0×8 + 0×7 + E(21)×6 + 0×5 + 8×4 + G(23)×3 + 1×2 = 229
229 mod 11 = 9
11 − 9 = 2Với cả hai chữ số, số dư 0 hoặc 1 cho kết quả 0; số dư khác cho kết quả 11 trừ số dư. Từ đó ra 1 và 2, hai chữ số cuối của 00.000.000/E08G-12. Với CNPJ chỉ có chữ số, mỗi giá trị chính là chữ số đó, nên các số cũ vẫn qua kiểm tra y như trước.
Dành cho lập trình viên
Hãy lưu CNPJ dưới dạng văn bản, đừng lưu dạng số, và chuyển sang chữ in hoa trước khi kiểm tra. Chấp nhận cả hai định dạng, có hoặc không có dấu chấm, dấu gạch chéo và dấu gạch ngang: 14 chữ số, hoặc 12 ký tự từ 0–9 và A–Z rồi đến 2 chữ số.
Mọi CNPJ do công cụ này tạo ra đều là dữ liệu thử nghiệm tổng hợp. Qua được bước kiểm tra chỉ có nghĩa là số đó đúng cấu trúc: đó không phải hồ sơ của một công ty thật, và trang này không bao giờ tra cứu hồ sơ thật.
Sử dụng công cụ
Công cụ này được phát triển cho các lập trình viên và kiểm thử viên có nhu cầu liên tục nhập các số CNPJ khác nhau trong việc phát triển các biểu mẫu.