UUIDv7 doesn't have the properties you think it does

When timestamps aren’t time-ordered and other oddities

UUID

By Robert Alexander

2026-10-19

I’m going to call it. UUIDv7 is weird.

Most blog posts about UUIDv7 tout these benefits:

  • monotonically increasing IDs
  • a helpful timestamp of when the object was created; and
  • unguessable IDs

But none of these properties are strictly held. Certain RFC compliant implementations of UUIDv7 violate these properties to extreme degrees. The only useful property UUIDv7 appears to strictly provide is uniqueness and therefore collision resistance. I’ve already discussed how UUIDv7 IDs can be guessable, so this post explores the other properties.

Is the timestamp useful?

Superficially, it seems that embedding a timestamp in the ID can remove the need to track the creation time in a separate database column, providing marginally more efficient database operations. If you need to list things ordered by creation time very often, it’s useful if the primary index gives that behavior, removing the need for another index.