Oh MyUtils

ULID जनरेटर - क्रमबद्ध अद्वितीय ID ऑनलाइन बनाएं

ULID बनाएं, टाइमस्टैम्प निकालें, और ULID व UUID प्रारूपों के बीच कनवर्ट करें। सख्त क्रम के लिए मोनोटोनिक जनरेशन — 100% क्लाइंट-साइड, सर्वर पर कोई डेटा नहीं भेजा जाता।

मोनोटोनिक
अपरकेस

बल्क जनरेशन

मात्रा

अक्सर पूछे जाने वाले प्रश्न

ULID क्या है?

ULID (Universally Unique Lexicographically Sortable Identifier) एक 128-बिट पहचानकर्ता है जो Crockford के Base32 का उपयोग करके 26-अक्षर की स्ट्रिंग के रूप में एन्कोड किया जाता है। पारंपरिक UUID के विपरीत, ULID पहले 10 अक्षरों में 48-बिट Unix टाइमस्टैम्प (मिलीसेकंड में) शामिल करता है, इसके बाद शेष 16 अक्षरों में 80 बिट की क्रिप्टोग्राफ़िक रैंडमनेस होती है। यह डिज़ाइन ULID को वैश्विक विशिष्टता बनाए रखते हुए निर्माण समय के अनुसार लेक्सिकोग्राफ़िक रूप से सॉर्ट करने योग्य बनाता है।

मैं इस ULID जनरेटर का उपयोग कैसे करूँ?

एकल या बल्क ULID (अधिकतम 1000) बनाने के लिए जनरेट टैब का उपयोग करें। एक ही मिलीसेकंड के भीतर सख्त क्रम के लिए मोनोटोनिक मोड चालू करें। डिकोड टैब में किसी भी ULID को पेस्ट करके उसका एम्बेडेड टाइमस्टैम्प (ISO 8601, Unix मिलीसेकंड और स्थानीय समय) निकालें। कन्वर्ट टैब में ULID और UUID फ़ॉर्मेट के बीच रूपांतरण करें। किसी भी परिणाम को क्लिपबोर्ड पर कॉपी करने के लिए कॉपी पर क्लिक करें।

क्या मेरा डेटा सुरक्षित है? क्या कुछ सर्वर पर भेजा जाता है?

सभी ऑपरेशन Web Crypto API (crypto.getRandomValues()) का उपयोग करके 100% आपके ब्राउज़र में किए जाते हैं। कोई भी ULID डेटा, टाइमस्टैम्प या UUID कभी भी किसी सर्वर पर प्रेषित नहीं किया जाता, किसी डेटाबेस में संग्रहीत नहीं किया जाता, या कहीं भी लॉग नहीं किया जाता। आप इंटरनेट से डिस्कनेक्ट करके इसकी पुष्टि कर सकते हैं — यह टूल पूरी तरह ऑफ़लाइन काम करता है।

ULID और UUID में क्या अंतर है?

दोनों 128-बिट पहचानकर्ता हैं, लेकिन प्रमुख अंतर हैं: ULID 26 अक्षर (Crockford का Base32) है, UUID 36 अक्षर (हाइफ़न के साथ हेक्साडेसिमल) है। ULID निर्माण समय के अनुसार लेक्सिकोग्राफ़िक रूप से सॉर्ट करने योग्य हैं; UUID (v4) रैंडम क्रम में होते हैं। ULID में कोई विशेष अक्षर नहीं होते और ये URL-सुरक्षित हैं। दोनों 128-बिट मान होने के कारण ULID को UUID में और UUID को ULID में रूपांतरित किया जा सकता है।

मोनोटोनिक ULID जनरेशन क्या है?

जब एक ही मिलीसेकंड के भीतर कई ULID जनरेट किए जाते हैं, तो मानक जनरेशन हर बार रैंडम मान असाइन करता है, जिससे ULID क्रम से बाहर हो सकते हैं। मोनोटोनिक जनरेशन इसे हल करता है — एक ही मिलीसेकंड में जनरेट किए गए प्रत्येक ULID के लिए रैंडमनेस कंपोनेंट को 1 से बढ़ाकर, सख्त लेक्सिकोग्राफ़िक क्रम की गारंटी देता है। यह उन डेटाबेस सिस्टम के लिए महत्वपूर्ण है जो ID क्रम पर निर्भर करते हैं।

मुझे UUID की जगह ULID कब उपयोग करना चाहिए?

ULID का उपयोग करें जब आपको अलग टाइमस्टैम्प कॉलम के बिना समय-क्रमित पहचानकर्ता, बेहतर डेटाबेस इंडेक्स प्रदर्शन (B-tree अनुकूल), छोटी स्ट्रिंग प्रतिनिधित्व (26 बनाम 36 अक्षर), या URL-सुरक्षित पहचानकर्ता चाहिए। UUID का उपयोग करें जब आपको अधिकतम इकोसिस्टम संगतता, RFC अनुपालन, या अंतर्निहित संस्करण/वैरिएंट मेटाडेटा की आवश्यकता हो।

कोड उदाहरण

// Crockford's Base32 alphabet
const ENCODING = '0123456789ABCDEFGHJKMNPQRSTVWXYZ';

// Generate a ULID
function generateULID() {
  const timestamp = Date.now();
  let ts = timestamp;
  let timestampPart = '';
  for (let i = 9; i >= 0; i--) {
    timestampPart = ENCODING[ts % 32] + timestampPart;
    ts = Math.floor(ts / 32);
  }

  const randomBytes = new Uint8Array(10);
  crypto.getRandomValues(randomBytes);
  const bits = Array.from(randomBytes)
    .map(b => b.toString(2).padStart(8, '0')).join('');
  let randomPart = '';
  for (let i = 0; i < 16; i++) {
    randomPart += ENCODING[parseInt(bits.slice(i*5, i*5+5), 2)];
  }

  return timestampPart + randomPart;
}

console.log(generateULID()); // "01ARZ3NDEKTSV4RRFFQ69G5FAV"

संबंधित उपकरण