الأدوات

مولّد UUID / ULID / NanoID المجاني أونلاين

أنشئ UUID v4 وUUID v1 وULID وNanoID فوراً في متصفحك — حتى 100 معرّف في المرة الواحدة. معالجة كاملة على جانب العميل، لا بيانات ترسل للسيرفر.

يتم توليد جميع المعرّفات محلياً في متصفحك عبر Web Crypto API. لا يُرسَل أي معرّف أو نص إلى خوادمنا.

ما هو UUID؟

UUID (المعرّف الفريد العالمي) هو تسمية بـ 128 بت معرّفة في RFC 4122. مع أكثر من 5 × 10³⁶ قيمة v4 ممكنة، فإن احتمال توليد نفس UUID مرتين ضئيل جداً. تتيح UUIDs للأنظمة الموزّعة إنشاء معرّفات فريدة — لصفوف قواعد البيانات ومصادر API وروابط الجلسات — دون عداد مركزي أو منسّق.

UUID v4 مقابل UUID v1 مقابل ULID مقابل NanoID

اختر المعرّف المناسب لحالة الاستخدام لديك:

UUID v4 (128 بت عشوائي)

عشوائي تماماً. الصيغة الأكثر استخداماً، مدعومة أصلاً من جميع قواعد البيانات واللغات الحديثة. لا تحتوي على معلومات زمنية. يُولَّد بـ crypto.randomUUID().

UUID v1 (مبني على الطابع الزمني) قديم

يُرمِّز طابعاً زمنياً للترتيب الزمني. مهجور في الأنظمة الجديدة — المواصفة الأصلية تكشف عنوان MAC مما يثير مخاوف الخصوصية. استخدم ULID إذا كنت بحاجة إلى قابلية الترتيب.

ULID (قابل للترتيب معجمياً)

قابل للترتيب معجمياً حسب وقت الإنشاء — مثالي كمفتاح أساسي مع Prisma أو Drizzle أو أي ORM. 26 حرفاً بترميز Crockford Base32، آمن لعناوين URL، غير حساس لحالة الأحرف.

NanoID (معرّف مضغوط آمن لـ URL)

21 حرفاً فقط (مقابل 36 لـ UUID)، أبجدية آمنة لـ URL (A-Za-z0-9_-). الطول قابل للضبط. مثالي لمقاطع URL والرموز القصيرة والمعرّفات المُولَّدة.

متى تستخدم كل معرّف

دليل عملي لاختيار صيغة المعرّف الصحيحة:

UUID v4 → المفاتيح الأساسية لقواعد البيانات

استخدم UUID v4 كمفاتيح أساسية في PostgreSQL (نوع uuid) أو MySQL (CHAR(36)) أو أي قاعدة بيانات تدعم UUID أصلاً. مدعوم من جميع أطر ORM الرئيسية.

UUID v1 → ملفات السجل المرتّبة زمنياً

الأنظمة القديمة التي تحتاج إلى معرّفات تحتوي طابعاً زمنياً لتسمية ملفات السجل أو ترتيب الأحداث. يُفضَّل استخدام ULID في المشاريع الجديدة.

ULID → مفاتيح أساسية قابلة للترتيب مع ORM

استخدم ULID عندما تحتاج مفاتيح أساسية تُرتَّب حسب وقت الإنشاء دون عمود طابع زمني منفصل. يعمل أصلاً مع Prisma وDrizzle ORM وTypeORM.

NanoID → مختصرات URL والرموز المضغوطة

استخدم NanoID لمقاطع URL والرموز قصيرة المدى وأي سياق تُهمّ فيه الإيجازية والأمان في عناوين URL. اضبط الطول للموازنة بين احتمال التصادم وسهولة القراءة.

الأسئلة الشائعة

UUID معرّف بـ 128 بت مُرمَّز كـ 36 حرفاً سداسياً عشرياً مع شُرطات. ULID أيضاً 128 بت لكنه مُرمَّز كـ 26 حرفاً بترميز Crockford Base32 وهو قابل للترتيب معجمياً حسب وقت الإنشاء. ULID بديل حديث لـ UUID v1 يتجنب الكشف عن عنوان MAC.

نظرياً نعم، لكن الاحتمال ضئيل جداً. يمتلك UUID v4 عشوائية 122 بت، ما ينتج عنه نحو 5.3 × 10³⁶ قيمة ممكنة. للحصول على 50% احتمال تصادم يجب توليد نحو 2.7 × 10¹⁸ معرّف UUID — أبعد بكثير من أي نظام حقيقي.

نعم. يُستخدم UUID v4 على نطاق واسع كمفتاح أساسي في الأنظمة الموزّعة. التنازل الرئيسي مقارنةً بالأعداد الصحيحة المتسلسلة هو تشتت مؤشرات B-tree. إذا كانت الإدراجات المرتّبة مهمة، فكّر في استخدام ULID الذي يرتّب زمنياً ويقلّل التشتت.

ينشئ NanoID معرّفات أقصر (21 حرفاً افتراضياً مقابل 36 لـ UUID) باستخدام أبجدية آمنة لـ URL. الطول قابل للضبط: المعرّفات الأقصر لها احتمال تصادم أعلى، والأطول أكثر أماناً. يُعدّ NanoID مثالياً لعناوين URL والمقاطع والرموز المضغوطة حيث يكون صيغة UUID ذات 36 حرفاً طويلة جداً.