Tạo ID
Tạo ULID, NanoID, CUID, Snowflake ID hoặc API key có tiền tố.
Free Online Developer Tools - ULID, UUID, NanoID, CUID, Snowflake ID, JWT Decoder, Base64, JSON Formatter & More
Tạo, giải mã và chuyển đổi ULID cùng các ID khác. Công cụ chạy trên trình duyệt. Nội dung bạn dán không được tải lên.
01JAZ4XK9M3Q7R8T2V5W6Y0B1C
Nhóm theo việc cần làm. Mỗi công cụ có trang riêng và chạy trên trình duyệt.
Tạo ULID, NanoID, CUID, Snowflake ID hoặc API key có tiền tố.
Giải mã ULID, so sánh hoặc kiểm tra danh sách, sắp theo thời gian, chuyển đổi và xem UUID.
Sao chép đoạn schema, chạy benchmark insert trên trình duyệt, hoặc ước tính xác suất trùng.
So sánh hai tài liệu, thử JSONPath, tạo và áp dụng JSON Patch.
Giải mã JWT, mã hóa Base64, băm chuỗi, hoặc đổi timestamp.
ID, token và nội dung dán được xử lý trên máy bạn. Chúng không được tải lên.
Mở công cụ, dán, sao chép. Tìm công cụ bằng Ctrl+K.
ULID sắp xếp theo thời gian tạo. Site còn có UUID, NanoID, CUID, Snowflake, token và JSON.
Chọn công cụ phía trên, xem bảng so sánh bên dưới, hoặc tìm bằng Ctrl+K.
Tạo một ID, hoặc dán ID để đọc timestamp và cấu trúc.
Mẫu code cho vài ngôn ngữ nằm trên trang này.
Tại sao ULID lại tốt hơn UUID trong nhiều tình huống?
Sắp xếp theo thời gian
10 ký tự đầu mã hóa timestamp mili giây, nên ID sắp xếp theo thời gian
Base32 của Crockford
Mã hóa hiệu quả hơn, không phân biệt chữ hoa/thường, không có ký tự đặc biệt
Tùy chọn đơn điệu
Có thể tạo ra các giá trị tăng dần đơn điệu cho cùng một mốc thời gian
Dễ đọc
Dễ dàng gỡ lỗi và đọc trong nhật ký và cơ sở dữ liệu
UUID v4 không có thứ tự thời gian
UUID v4 ngẫu nhiên không mang timestamp. UUID v7 thì có
Mã hóa Hex
Kém hiệu quả hơn, yêu cầu nhiều ký tự hơn cho cùng một thông tin
Không có tính đơn điệu
Không có cơ chế tích hợp cho các giá trị tăng dần đơn điệu
Khó đọc hơn
Khó phân biệt và nhận dạng trong nhật ký và cơ sở dữ liệu
Mẫu có thể sao chép, cho các ngôn ngữ đã có trên trang này.
Các ví dụ triển khai bằng các ngôn ngữ lập trình phổ biến
// Node.js / Browser
// Cài đặt: npm install @ulid/javascript
import { ulid } from '@ulid/javascript';
// Tạo ULID mới
const myUlid = ulid(); // "01F8MECHZX3TBDSZ7XR8H8J1R4"
// Tạo ULID với timestamp tùy chỉnh (milliseconds)
const customTimestamp = 1616239022000;
const ulidWithCustomTime = ulid(customTimestamp);
// Tạo ULID tăng dần (cho nhiều ID trong cùng 1ms)
import { monotonicFactory } from '@ulid/javascript';
const monotonic = monotonicFactory();
const ulid1 = monotonic(); // "01F8MECHZX3TBDSZ7XR8H8J1R4"
const ulid2 = monotonic(); // "01F8MECHZX3TBDSZ7XR8H8J1R5" (tăng dần)
// Lấy timestamp từ ULID
const timestamp = ulid.decode(myUlid).time;
console.log(new Date(timestamp).toISOString());JavaScript:npm install @ulid/javascript
ULID gồm 26 ký tự Crockford Base32. 10 ký tự đầu mã hóa timestamp mili giây, nên ID tạo sau xếp sau ID tạo trước. UUID v4 ngẫu nhiên có 36 ký tự và không mang thời gian. Site này cũng tạo được UUID v7, loại có timestamp.
Phần xử lý của công cụ nằm trên trình duyệt. ID, token và chữ bạn dán không được tải lên và không được lưu trên máy chủ. Giao diện và lịch sử tạo nằm trong localStorage trên máy bạn. Google Analytics chỉ tải khi bạn chấp nhận banner cookie. Cloudflare Web Analytics không dùng cookie và ghi lượt xem trang. Xem chính sách quyền riêng tư.
Có. Không cần tài khoản.
Quyen Quach, tại Việt Nam. Email [email protected]. Hồ sơ GitHub công khai được gắn trên site là github.com/vinhquyen.
Tiếng Anh, tiếng Việt, tiếng Trung và tiếng Nga.
Bộ tạo chạy trên trình duyệt của bạn.
Mở bộ tạo ULID