Bản đồ ký tự miễn phí

Duyệt các ký tự Unicode theo danh mục, tìm kiếm theo tên hoặc điểm mã, và sao chép vào clipboard.

Dữ liệu của bạn không rời khỏi thiết bị

Cách sử dụng

  1. Nhấp vào một tab danh mục để hiển thị các ký tự của nhóm đó.
  2. Nhấp vào một ký tự để xem chi tiết và các tùy chọn sao chép.
  3. Sử dụng thanh tìm kiếm để tìm các ký tự theo tên (vd: «heart») hoặc mã hex (vd: «2665»).
  4. Nhấp Sao chép ký tự để sao chép ký tự đã chọn vào clipboard.

Câu hỏi thường gặp

Điểm mã Unicode là gì?

Điểm mã Unicode là một số duy nhất được gán cho mỗi ký tự trong tiêu chuẩn Unicode. Nó được viết ở định dạng thập lục phân, thường có tiền tố U+ (vd: U+2665 cho ♥).

Thực thể HTML là gì?

Thực thể HTML là một mã đặc biệt đại diện cho một ký tự trong HTML. Ví dụ: ♥ đại diện cho ♥. Các thực thể hữu ích khi không thể nhập trực tiếp một ký tự.

Mã CSS là gì?

Mã CSS sử dụng ký hiệu \\ để chèn một ký tự từ điểm mã Unicode của nó vào stylesheet. Ví dụ: .heart::before { content: "\\2665"; } chèn ♥.

Lịch sử ngắn về Unicode

Trước Unicode, mỗi khu vực có bộ mã ký tự không tương thích riêng: ASCII cho tiếng Anh, họ ISO 8859 cho các ngôn ngữ châu Âu (8859-1 Latin-1, 8859-5 Cyrillic, 8859-6 Arabic), Windows code pages 1252 / 1251 / 1253-1258, bộ đa byte cho các ngôn ngữ Đông Á (Shift-JIS cho tiếng Nhật, Big5 cho tiếng Trung phồn thể, GB2312 cho tiếng Trung giản thể, EUC-KR cho tiếng Hàn). Bộ mã không khớp tạo ra văn bản bị lỗi gọi là mojibake theo tiếng Nhật (文字化け, «biến đổi ký tự»), mở trang Nhật trong bộ mã sai sẽ hiển thị hàng dấu hỏi hoặc các chữ cái Latin-1 ngẫu nhiên.

Công việc bắt đầu năm 1987 tại Xerox. Joe Becker, cùng với Lee CollinsMark Davis tại Apple, bắt đầu nghiên cứu một bộ ký tự phổ quát duy nhất có thể thay thế mảnh ghép không đồng nhất. Bản đề xuất nháp tháng 8 năm 1988 của Becker, «Unicode 88,» giải thích: «tên 'Unicode' nhằm gợi ý một mã hóa duy nhất, thống nhất, phổ quát.» Unicode Consortium được thành lập vào tháng 1 năm 1991 và phát hành Unicode 1.0 vào tháng 10 năm đó với khoảng 7.100 ký tự trên 24 script.

Tính đến Unicode 17.0 (phát hành ngày 9 tháng 9 năm 2025) tiêu chuẩn chứa khoảng 159.801 ký tự trên 172 script, với không gian mã được phân bổ cho 1.112.064 điểm mã hợp lệ, nghĩa là Unicode đã gán khoảng 14% không gian khả dụng và còn nhiều thập kỷ dự phòng. Các mốc quan trọng gần đây: Unicode 6.0 (2010) là phiên bản đầu tiên chính thức mã hóa emoji (722 emoji, lấy từ các nhà mạng Nhật Bản); Unicode 17.0 thêm bốn script mới (Sidetic, Tolong Siki, Beria Erfe, Tai Yo) và đẩy tổng số ký tự CJK vượt 100.000.

Điểm mã, mặt phẳng và bộ mã hóa

Một điểm mã chỉ là một con số, viết ở hệ thập lục phân với tiền tố U+, như U+2665 cho ♥. Các điểm mã được nhóm thành 17 mặt phẳng, mỗi mặt phẳng có 65.536 điểm mã. Hầu hết mọi thứ bạn từng đọc nằm trên Mặt phẳng 0, Mặt phẳng Đa ngôn ngữ Cơ bản (BMP, U+0000 đến U+FFFF). Mặt phẳng 1 (Mặt phẳng Đa ngôn ngữ Bổ sung) chứa các script lịch sử (Linear B, chữ tượng hình Ai Cập, Cuneiform), ký hiệu âm nhạc, và hầu hết emoji. Mặt phẳng 2 và 3 là phần mở rộng ký tự CJK. Mặt phẳng 4-13 chưa được gán, dành cho tương lai. Mặt phẳng 14 chứa các bộ chọn biến thể và modifier emoji. Mặt phẳng 15 và 16 là các vùng dùng riêng nơi font và ứng dụng gán ý nghĩa riêng.

Điểm mã chỉ là một con số; một bộ mã hóa là cách con số đó được lưu trữ dưới dạng byte. Unicode định nghĩa ba bộ mã hóa:

25 Ký Tự Khoảng Trắng Vô Hình

Unicode chính thức gắn thẻ đúng 25 ký tự với thuộc tính White_Space=yes: khoảng trắng thông thường (U+0020), tab, line feed, carriage return, khoảng trắng không ngắt dòng (U+00A0, loại nổi tiếng trông giống hệt khoảng trắng thông thường nhưng không ngắt qua dòng), các độ rộng kiểu chữ trong U+2000-U+200A, dấu phân cách dòng / đoạn (U+2028 / U+2029), khoảng trắng hẹp không ngắt dòng phổ biến trong kiểu chữ Pháp (U+202F), khoảng trắng toán học trung bình (U+205F), và khoảng trắng ký tự ngữ hình đầy đủ (U+3000) dùng trong văn bản CJK.

Một số ký tự trông vô hình nhưng không được phân loại là khoảng trắng và hoạt động khác với khoảng trắng thông thường:

Những ký tự vô hình này thường là nguyên nhân của các phiên debug «tại sao chuỗi này không khớp?», dán bất kỳ ký tự nào vào ô tìm kiếm của character map sẽ cho bạn biết điểm mã thực tế, giúp xác nhận liệu bạn đang nhìn vào dấu ngoặc kép thông minh giả dạng dấu thẳng, hay NBSP ở chỗ phải là khoảng trắng thông thường.

Các phạm vi ký tự hữu ích

KhốiPhạm viVí dụ
Phần bổ sung Latin-1U+0080-U+00FFà ñ ü © ® ¥ § ° ¶
GreekU+0370-U+03FFα β γ π Σ Ω
CyrillicU+0400-U+04FFTiếng Nga / Ukraina / Bulgaria, v.v.
Dấu câu chungU+2000-U+206F-, … " " ' ' • † NBSP ZWSP
Ký hiệu tiền tệU+20A0-U+20CF€ £ ¥ ₩ ₽ ₹ ₿
Ký hiệu dạng chữU+2100-U+214F™ ℠ № ℃ ℉ ℗
ArrowsU+2190-U+21FF← → ↑ ↓ ↔ ⇒ ⇐
Toán tử toán họcU+2200-U+22FF∑ ∫ ∞ √ ≠ ≤ ≥ ± ∂ ∇ ∈ ∪ ∩
Vẽ hộpU+2500-U+257F─ │ ┌ ┐ └ ┘ ├ ┤ ┬ ┴ ┼ ═ ║ ╔ ╗
Ký tự chữ-số toán họcU+1D400-U+1D7FFBộ tạo «fancy text» (𝓗𝓮𝓵𝓵𝓸) lấy nguồn từ đây.

Ký tự đặc biệt trong văn bản hằng ngày

Trường hợp «tôi chỉ cần gõ một ký hiệu», tham chiếu nhanh về những gì công cụ này tồn tại để cung cấp trong hai cú nhấp:

Khi nào bạn cần character map

Bảo mật: vấn đề homograph

Nhiều ký tự Unicode trông giống hệt nhau qua các script. Chữ thường Cyrillic «а» (U+0430) không thể phân biệt bằng mắt với chữ Latin «a» (U+0061). Kẻ tấn công đăng ký tên miền quốc tế hóa trông giống tên miền hợp lệ (ví dụ như «apple.com» với chữ а Cyrillic thay cho chữ a Latin) và dùng chúng để lừa đảo. Một cuộc tấn công năm 2017 vào adoḅe.com dùng ḅ có dấu chấm bên dưới (U+1E05) để phân phối malware. Các trình duyệt hiện đại giảm thiểu điều này bằng các quy tắc pha trộn script hạn chế, chuyển về dạng Punycode ASCII (xn--…) khi một tên miền pha trộn script; Safari đặc biệt thận trọng. Thuộc tính lookalike giúp Unicode phong phú cho văn bản con người cũng làm nó nguy hiểm trong tên miền, và character map là một cách để xác nhận điểm mã thực tế của mỗi ký tự trong nháy mắt.

Câu Hỏi Thêm

Sự khác biệt giữa ký tự và glyph là gì?

Một ký tự là đơn vị trừu tượng mà Unicode mã hóa, chữ A, bất kể typeface. Một glyph là hình vẽ cụ thể của ký tự đó trong một font cụ thể: A trong Helvetica, A trong Garamond, A trong Comic Sans đều là cùng một ký tự nhưng ba glyph khác nhau. Unicode mã hóa ký tự; font cung cấp glyph.

Tại sao «1.0» có 7.000 ký tự nhưng «17.0» có 160.000?

Unicode 1.0 bao gồm 24 script, hầu hết các hệ thống chữ viết đang dùng trong tính toán thời đó. Sự tăng trưởng từ đó đến nay đến từ ba nguồn: mở rộng đáng kể phạm vi ký tự CJK (bao gồm các ký tự Hán cổ và biến thể vùng hiếm gặp, Extension J thêm 4.298 ký tự trong phiên bản 17.0), chính thức mã hóa các script lịch sử (Linear B, Cuneiform, chữ tượng hình Ai Cập, Phoenician), và chuẩn hóa emoji từ năm 2010 trở đi.

HTML entity là gì?

Một cách mã hóa ký tự bên trong HTML bằng cú pháp thoát đặc biệt. Có các entity có tên cho các ký tự phổ biến (© cho ©, — cho -) và các entity số cho bất kỳ điểm mã nào (♥ hoặc ♥ cho ♥). Chúng hữu ích khi gõ trực tiếp ký tự gây khó chịu, ví dụ trong mã nguồn với bộ mã hóa hỗn hợp, hoặc trong hệ thống loại bỏ ký tự non-ASCII.

CSS escape là gì?

CSS dùng dấu gạch chéo ngược cộng mã điểm hex: .heart::before { content: "\2665"; } chèn ♥. Hữu ích bên trong nội dung được tạo ::before / ::after, trong CSS counter styles, và ở bất kỳ nơi nào không thể dựa vào bộ mã hóa của tệp nguồn.

Có gì được gửi đến máy chủ không?

Không. Dữ liệu ký tự được đóng gói cùng trang; tìm kiếm và lọc theo danh mục chạy cục bộ trong JavaScript; Copy dùng Clipboard API của trình duyệt. Không có gì rời thiết bị của bạn, và trang hoạt động ngoại tuyến sau khi đã tải.

Công cụ liên quan

Bộ mã hóa / Giải mã thực thể HTML Bộ chuyển đổi trường hợp Bộ mã hóa / Giải mã thực thể HTML