Trình tạo UUID

Bấm vào để copy. Tải lại trang hoặc nhấn G để tạo cái mới.

bấm để copy

Bộ giải mã UUID — phiên bản, variant và timestamp v7

Dán bất kỳ UUID nào để xem nó dùng phiên bản và variant gì. Với v1, v6 và v7, bộ giải mã còn trích xuất thời điểm tạo được nhúng bên trong và hiển thị dưới dạng ngày giờ địa phương và chuỗi ISO 8601. Mọi thứ được giải mã ngay trong trình duyệt.

Về công cụ này

UUIDNow xoay quanh một ý tưởng: bạn thường chỉ cần một UUID, thật nhanh. Nên trang tạo sẵn trước khi bạn chạm vào bất cứ thứ gì — không nút bấm, không form. Bấm vào ô lớn (hoặc nhấn G) là nó nằm trong clipboard.

Mỗi định danh đều đến từ crypto.randomUUID() hoặc crypto.getRandomValues() — nguồn ngẫu nhiên an toàn mật mã học có sẵn trong trình duyệt. Không có request nào tới server, nên UUID của bạn không thể bị ghi lại hay quan sát. Cần ID sắp xếp được cho database? Chuyển sang v7 có nhúng timestamp mili giây — xem so sánh v4 vs v7, hoặc khám phá thêm công cụ tại dec0de.dev.

UUID (định danh duy nhất toàn cục) là một giá trị 128-bit viết thành 36 ký tự như 550e8400-e29b-41d4-a716-446655440000. Vì có thể tạo ở bất cứ đâu mà không cần cơ quan trung tâm và gần như không bao giờ trùng, nó là lựa chọn mặc định cho khóa chính database, ID request API, khóa idempotency, tên file và ID tương quan trong hệ phân tán. v4 hoàn toàn ngẫu nhiên; v7 bắt đầu bằng timestamp mili-giây nên ID sắp theo thời gian tạo, giữ cho insert database tuần tự và index gọn gàng.

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

UUID v4 và v7 khác nhau thế nào?

v4 hoàn toàn ngẫu nhiên. v7 đặt timestamp mili-giây ở đầu, nên ID v7 sắp theo thứ tự tạo mà vẫn rất ngẫu nhiên — làm khóa database tốt hơn.

Các UUID này dùng làm ID duy nhất có an toàn không?

Có. v4 lấy 122 bit ngẫu nhiên từ bộ sinh an toàn mật mã, nên khả năng trùng là cực kỳ nhỏ. Chúng phù hợp làm khóa chính, ID request và tên file.

Có nên dùng UUID làm khóa chính database?

Được. Khóa v4 rải rác trong index và có thể làm chậm insert trên một số database; thứ tự thời gian của v7 giữ insert tuần tự, nên thường tốt hơn cho schema mới.

UUID có được tạo trên server không?

Không. Mỗi ID đến từ crypto.randomUUID() hoặc crypto.getRandomValues() trong trình duyệt. Không có gì được yêu cầu hay ghi lại bởi server.

UUID nil hoặc max là gì?

nil UUID toàn số 0 (00000000-0000-0000-0000-000000000000), là placeholder nghĩa "không có giá trị". max UUID toàn chữ F. Cả hai không ngẫu nhiên — là giá trị đặc biệt (sentinel).

Tôi có thể giải mã một UUID có sẵn để xem phiên bản của nó không?

Có — dán bất kỳ UUID nào vào bộ giải mã bên dưới trình tạo và nó sẽ hiển thị ngay phiên bản cùng variant. Với v1, v6 và v7, nó còn trích xuất timestamp tạo được nhúng bên trong, hiển thị dưới dạng ngày giờ địa phương và chuỗi ISO 8601. Việc giải mã diễn ra hoàn toàn trong trình duyệt của bạn, không gửi đi đâu cả.