# Snowflake vs UUID vs UUIDv7(2023)

<table style="min-width: 100px;"><colgroup><col style="min-width: 25px;"><col style="min-width: 25px;"><col style="min-width: 25px;"><col style="min-width: 25px;"></colgroup><tbody><tr><th colspan="1" rowspan="1"><p>Property</p></th><th colspan="1" rowspan="1"><p>Snowflake</p></th><th colspan="1" rowspan="1"><p>UUID v4</p></th><th colspan="1" rowspan="1"><p>UUIDv7</p></th></tr><tr><td colspan="1" rowspan="1"><p><strong>Size</strong></p></td><td colspan="1" rowspan="1"><p>64-bit int</p></td><td colspan="1" rowspan="1"><p>128-bit</p></td><td colspan="1" rowspan="1"><p>128-bit</p></td></tr><tr><td colspan="1" rowspan="1"><p><strong>Format</strong></p></td><td colspan="1" rowspan="1"><p>Integer (e.g. <code>1541815603606036480</code>)</p></td><td colspan="1" rowspan="1"><p>Hex string (e.g. <code>550e8400-e29b-...</code>)</p></td><td colspan="1" rowspan="1"><p>Hex string (e.g. <code>018e-...</code>)</p></td></tr><tr><td colspan="1" rowspan="1"><p><strong>Time-sortable</strong></p></td><td colspan="1" rowspan="1"><p>✅ Yes (ms precision)</p></td><td colspan="1" rowspan="1"><p>❌ No</p></td><td colspan="1" rowspan="1"><p>✅ Yes (ms precision)</p></td></tr><tr><td colspan="1" rowspan="1"><p><strong>Globally unique</strong></p></td><td colspan="1" rowspan="1"><p>⚠️ Within a coordinated cluster</p></td><td colspan="1" rowspan="1"><p>✅ Yes (~2¹²² entropy)</p></td><td colspan="1" rowspan="1"><p>✅ Yes (~74 bits entropy)</p></td></tr><tr><td colspan="1" rowspan="1"><p><strong>Requires coordination</strong></p></td><td colspan="1" rowspan="1"><p>✅ Yes (machine ID assignment)</p></td><td colspan="1" rowspan="1"><p>❌ No</p></td><td colspan="1" rowspan="1"><p>❌ No</p></td></tr><tr><td colspan="1" rowspan="1"><p><strong>DB index performance</strong></p></td><td colspan="1" rowspan="1"><p>✅ Excellent (sequential)</p></td><td colspan="1" rowspan="1"><p>❌ Poor (random, index fragmentation)</p></td><td colspan="1" rowspan="1"><p>✅ Excellent (sequential)</p></td></tr><tr><td colspan="1" rowspan="1"><p><strong>Embeds timestamp</strong></p></td><td colspan="1" rowspan="1"><p>✅ Yes</p></td><td colspan="1" rowspan="1"><p>❌ No</p></td><td colspan="1" rowspan="1"><p>✅ Yes</p></td></tr><tr><td colspan="1" rowspan="1"><p><strong>Human extractable time</strong></p></td><td colspan="1" rowspan="1"><p>✅ Yes</p></td><td colspan="1" rowspan="1"><p>❌ No</p></td><td colspan="1" rowspan="1"><p>✅ Yes</p></td></tr><tr><td colspan="1" rowspan="1"><p><strong>Collision risk</strong></p></td><td colspan="1" rowspan="1"><p>Very low (coordinated)</p></td><td colspan="1" rowspan="1"><p>Negligible (random)</p></td><td colspan="1" rowspan="1"><p>Very low</p></td></tr><tr><td colspan="1" rowspan="1"><p><strong>Standard</strong></p></td><td colspan="1" rowspan="1"><p>Proprietary</p></td><td colspan="1" rowspan="1"><p>RFC 4122</p></td><td colspan="1" rowspan="1"><p>RFC 9562 (2023)</p></td></tr><tr><td colspan="1" rowspan="1"><p><strong>Cross-system portability</strong></p></td><td colspan="1" rowspan="1"><p>⚠️ Epoch is custom</p></td><td colspan="1" rowspan="1"><p>✅ Universal</p></td><td colspan="1" rowspan="1"><p>✅ Universal</p></td></tr></tbody></table>
