ulid/spec
View on GitHub ↗ ★ 10,850
The canonical spec for ulid
70 mentions on Hacker News by 63 people: 12 stories, 58 comments · first 2018-09-01 · latest 2026-10-24
20082026
-
…It is probably not the right choice if you require a cryptographically strong and unique ID. [0] https://github.com/ulid/spec
comment by inkyoto · 2026-10-24 · in UUIDv7: Timestamps aren’t time-ordered and other oddities -
…IDs, there are options like CUID2 (github.com/paralleldrive/cuid2). Older designs like ULIDs ( https://github.com/ulid/spec ) and Snowflake IDs ( https://en.wikipedia.org/wiki/Snowflake_ID ) have similar properties to UUIDv7, and…
comment by rcoder · 2026-10-23 · in UUIDv7: Timestamps aren’t time-ordered and other oddities -
…just so much easier when you do not have to care about whether an ID happens to already exist. [0] https://github.com/ulid/spec
comment by kortex · 2025-12-15 · in Avoid UUID Version 4 Primary Keys in Postgres -
…quite gotten there yet. I haven't pushed it to GitHub yet, but it's fairly done at this point. 0: https://github.com/ulid/spec 1: https://github.com/pgcentralfoundation/pgrx
comment by K0nserv · 2025-12-14 · in Ask HN: What Are You Working On? (December 2025) -
Sounds like its trying to achieve something similar to what ULID is going for: https://github.com/ulid/spec timestamp + readability
comment by jppope · 2025-09-17 · in UUIDv47: Store UUIDv7 in DB, emit UUIDv4 outside (SipHash-masked timestamp) -
…increasing as opposed to what the RFC for UUIDv7 states, which is a big deal IMHO. [0]: https://github.com/ulid/spec
comment by dotdi · 2025-01-02 · in Postgres UUIDv7 and per-back end monotonicity -
…sacrificing other things (case sensitivity, url-safeness) - again, not great for a standard. [0] https://github.com/ulid/spec
comment by gregmac · 2024-08-25 · in TIL: Versions of UUID and when to use them -
…a section about monotonic sort order[1]. And looks like not all libraries implement it [2]. [1]: https://github.com/ulid/spec?tab=readme-ov-file#monotonicity [2]: https://github.com/suyash/ulid/issues/10
comment by thih9 · 2024-07-14 · in ULID: Like UUID but Sortable (2019) -
The GH repo for ULIDs provides better and more relevant reasons for use. https://github.com/ulid/spec
comment by KTibow · 2024-05-06 · in Why Choose ULIDs over Traditional UUIDs or IDs for Database Identification? -
Can use ULID to "fix" some issues https://github.com/ulid/spec
comment by djbusby · 2024-04-11 · in The UX of UUIDs -
…(unlike conventional UUIDs) use time code prefixes (so indexing clusters.) https://uuid7.com/ https://github.com/ulid/spec
comment by heckraiser · 2023-12-29 · in Ask HN: Is it acceptable to use a date as a primary key for a table in Postgres? -
…throws an error because it doesn't recognise v7, but I guess it could happen, in theory?) * ULIDs ( https://github.com/ulid/spec ) are 128 bits long, 48 bits encode a unix timestamp with millisecond precision, 80 bits are random. You're…
comment by Lazare · 2023-10-02 · in Goodbye integers, hello UUIDv7 -
…to leave the version specifying sections of the bit field layout unused in the ULID binary spec ( https://github.com/ulid/spec#binary-layout-and-byte-order ) for the sake of future compatibility with "proper" UUIDs... Performing one quick…
comment by techdragon · 2023-09-30 · in 50 years later, is two-phase locking the best we can do? -
I would use a ULID rather than thread ID. https://github.com/ulid/spec They (and others) are great for this kind of case - and many others.
comment by djbusby · 2023-09-30 · in 50 years later, is two-phase locking the best we can do? -
…and provides better database locality (K-sortable). [0] https://github.com/jetpack-io/typeid [1] https://github.com/ulid/spec [2] https://github.com/segmentio/ksuid
comment by ekojs · 2023-09-11 · in You Don't Need UUID -
…you could use it to grab the CreatedDate of a record without a need for another field. https://github.com/ulid/spec
comment by nwah1 · 2023-09-11 · in You Don't Need UUID -
I prefer ULIDs to UUIDs. https://github.com/ulid/spec
comment by listenallyall · 2023-08-16 · in UUID Collision -
Many people had the same idea. For example ULID https://github.com/ulid/spec is more compact and stores the time so it is lexically ordered.
comment by rjh29 · 2023-06-28 · in Type-safe, K-sortable, globally unique identifier inspired by Stripe IDs -
ULIDs, https://github.com/ulid/spec , are also already in widespread use and are essentially the same idea as v7 UUIDs.
comment by hn_throwaway_99 · 2023-06-23 · in Analyzing New Unique Identifier Formats (UUIDv6, UUIDv7, and UUIDv8) (2022) -
…compact way. Example Ulid vs UUID: 000360TJXZDDMSKJSQGBQHA5YA fb87f306-b613-4948-be24-00609cf9ccc8 https://github.com/ulid/spec https://tsid.com/de
comment by cryptos · 2023-06-23 · in Unexpected downsides of UUID keys in PostgreSQL -
…format and sensible timestamp and increment semantics. I guess it's not far off a v7 UUID though. https://github.com/ulid/spec
comment by Robin_Message · 2023-06-23 · in Analyzing New Unique Identifier Formats (UUIDv6, UUIDv7, and UUIDv8) (2022) -
…switch to ULID[1] instead. [0] https://github.com/stephenc/eaio-uuid/blob/master/src/main/j... [1] https://github.com/ulid/spec
comment by 66fm472tjy7 · 2023-03-22 · in Java 20 / JDK 20: General Availability -
Does ULID solve both? https://github.com/ulid/spec ulid() // 01ARZ3NDEKTSV4RRFFQ69G5FAV - 128-bit compatibility with UUID 1.21e+24 unique ULIDs per millisecond Lexicographically sortable! - Canonically encoded as a 26 character string, as…
comment by inphovore · 2023-02-19 · in UUIDs vs. Serials for Keys -
…about the filesystem you use and its block size (and record size, if you use ZFS). Good luck! [0]: https://github.com/ulid/spec [1]: https://github.com/ai/nanoid/blob/main/async/index.js#L5 [2]: https://github.com/nodejs/node/blob/main/doc/…
comment by sgarland · 2023-02-09 · in Launch HN: Activepieces (YC S22) – Open-Source Zapier Alternative -
I use ULID, 128 bits, time and great sorting https://github.com/ulid/spec
comment by djbusby · 2023-01-20 · in Choosing a Postgres primary key -
…and can be converted to UUID for use with databases supporting this datatype (not a strong column): https://github.com/ulid/spec
comment by Rafert · 2022-12-30 · in We chose NanoIDs for PlanetScale’s API -
…seem like it has much stewardship, the last commit was in 2019 with a bunch of open PRs and issues: https://github.com/ulid/spec/issues I went through this exploration a while back for a new project and decided on uuidv7s, which are binary…
comment by SirensOfTitan · 2022-12-29 · in ULIDs and Primary Keys -
…I don't actually know: If a format spec is GPL, does that encumber implementations of said spec? 0: https://github.com/ulid/spec
comment by fire · 2022-12-04 · in User IDs probably shouldn't be passed around as ints (2018) -
These days ULID ( https://github.com/ulid/spec , or any of the variants), or most recently the new UUID versions ( https://www.ietf.org/archive/id/draft-peabody-dispatch-new-u... ) give you creation-order sorting.
comment by theptip · 2022-11-22 · in Moving Away from UUIDs (2018) -
Some UUID alternatives: - https://github.com/ai/nanoid - https://github.com/segmentio/ksuid - https://github.com/ulid/spec
comment by gcoguiec · 2022-11-22 · in Moving Away from UUIDs (2018) -
ULID was new to me. It's quite interesting https://github.com/ulid/spec
comment by ofrzeta · 2022-09-26 · in WordPress WASM -
…be for a more rigid specification for interoperability. [1]: https://github.com/ahawker/ulid [2]: https://github.com/ulid/spec [3]: https://github.com/ulid/spec/issues/11
comment by rekwah · 2022-06-12 · in New UUID Formats -
Sounds like a ULID that doesn't fit in a UUID column - https://github.com/ulid/spec
comment by itsdrewmiller · 2022-01-08 · in UUIDs are popular, but bad for performance (2019) -
Is the spec not a better link than a go implementation? https://github.com/ulid/spec
comment by gnabgib · 2022-01-08 · in UUIDs are popular, but bad for performance (2019) -
…a non-random "randomness" section still called "randomn" in the spec even though they are not. [1]: https://github.com/ulid/spec
comment by jrochkind1 · 2022-01-05 · in Understanding UUIDs, ULIDs and string representations -
…discussed on HN[3] [0] https://datatracker.ietf.org/doc/html/draft-peabody-dispatch... [1] https://github.com/ulid/spec [2] https://github.com/segmentio/ksuid [3] ulid discussion: https://news.ycombinator.com/item?id=18768909 UUIDv7…
comment by spiffytech · 2021-11-09 · in Lesser-known Postgres features -
…isn’t enough. Who cares in your millisecond timestamp wraps every 8900 years as they do in a ULID? https://github.com/ulid/spec
comment by tatersolid · 2021-08-12 · in New UUID Formats – IETF Draft -
Seems like a missed opportunity to sneak ULID right in ( https://github.com/ulid/spec ), given that it's already pretty widely used.
comment by skrebbel · 2021-08-07 · in New UUID Formats – IETF Draft -
…code and then store them in uuid columns in Postgres to realize the compact (binary) size benefits. https://github.com/ulid/spec
comment by ComputerGuru · 2021-08-06 · in New UUID Formats – IETF Draft -
I use a ulid[1] as a uuidv4 replacement: https://github.com/ulid/spec
comment by hermanradtke · 2021-05-31 · in UUID, serial or identity columns for PostgreSQL auto-generated primary keys? -
…ordering. That might not be a deal breaker depending on your use case but something to consider. * https://github.com/ulid/spec * https://github.com/ahawker/ulid
comment by rekwah · 2021-05-03 · in Sortable Collision-Free UUIDs -
…in dozens of languages already, and many ULID libraries support conversion into UUID format. https://github.com/ulid/spec "Universally Unique Lexicographically Sortable Identifier"
comment by dralley · 2021-05-03 · in Sortable Collision-Free UUIDs -
Here’s a link to a description of ULID, for those like me who had never heard of it: https://github.com/ulid/spec
comment by andrewem · 2021-02-19 · in Things you should do now (2011) -
Just to see the big picture, what are the main differences between this and Snowflake, or ULID ( https://github.com/ulid/spec )?
comment by josephernest · 2021-01-22 · in Show HN: 128-bit, roughly-ordered, URL-safe UUIDs -
https://github.com/ulid/spec isn't timeflake, but is a good spec, and there are implementations in multiple languages. there are 2 listed for js. https://github.com/aarondcohen/id128 and https://github.com/ulid/javascript
comment by mgkimsal · 2021-01-22 · in Show HN: 128-bit, roughly-ordered, URL-safe UUIDs -
There’s a spec called ULID that’s pretty much this with default base32 encoding https://github.com/ulid/spec I’ve also worked on a UUID-ULID bridge for Go https://github.com/sudhirj/uulid.go And seeing as this is just 128 bits it’s quite…
comment by sudhirj · 2021-01-22 · in Show HN: 128-bit, roughly-ordered, URL-safe UUIDs -
I have stopped using UUID and GUID in favor of https://github.com/ulid/spec
comment by hermanradtke · 2021-01-06 · in GUIDs Are Not the Only Answer -
…to completely random UUIDs. * 48 bits timestamp gives enough space for the next 9000 years. [0] https://github.com/ulid/spec
comment by sylvain_kerkour · 2020-12-31 · in Show HN: Sonyflake – distributed unique ID generator implemented in Rust -
…they have 80 bits of randomness, enough to be unique even if millions are generated per second. https://github.com/ulid/spec
comment by sylvain_kerkour · 2020-12-31 · in Show HN: Sonyflake – distributed unique ID generator implemented in Rust -
Additional approaches in this space: * https://hashids.org/ * https://github.com/ulid/spec
comment by rekwah · 2020-12-04 · in Pg-shortkey: YouTube-Like Short IDs as Postgres Primary Keys