DEV Community

Cover image for NanoID - Alternative To UUID

NanoID - Alternative To UUID

Bibek on May 23, 2021

Hey coders 👋 If you are a JavaScript developer, I am pretty much sure that you have used the npm package UUID at least once in your development jo...
Collapse
 
pcjmfranken profile image
Peter Franken • Edited

FYI A UUID method was added to NodeJS' core crypto module in v15.6.0. So it's not available in the current LTS, but v16 takes over that role come October.

New method's docs: nodejs.org/api/crypto.html#crypto_...

Collapse
 
bibekkakati profile image
Bibek

Hey, thank you for sharing that.

Collapse
 
galkin profile image
Nikita Galkin

Hi, Bibek.

There is my benchmarking test crypto.randomUUID is three times faster uuid.v4. I hope you can use it as idea for your testings.

Collapse
 
ianwijma profile image
Ian Wijma

That's actually quite interesting. Thanks for sharing!

Collapse
 
bibekkakati profile image
Bibek

Hey Galkin, thank you for sharing that.

Collapse
 
newbeb profile image
Brian Lloyd-Newberry

I use nanoid for anywhere I want identifiers that can easily be used in uris, especially ones that humans see. I've a postgresql UDF implementation that I can post about.

Collapse
 
bibekkakati profile image
Bibek

Yeah. That would be great.

Collapse
 
adisreyaj profile image
Adithya Sreyaj

Have been using it for a while now. Great little library 🔥

Collapse
 
bibekkakati profile image
Bibek

Yup. Very useful and reliable.

Collapse
 
senthilmpro profile image
Senthil Muthuvel

It would be great to compare Node.js Crypto module's UUID vs NanoID performance.

Collapse
 
bibekkakati profile image
Bibek

Hey, thank you for the suggestion. I will definitely try to do that.

Collapse
 
pankajtanwarbanna profile image
Pankaj Tanwar

Good stuff. Would you mind elaborating more details of why exactly nanoID is faster then UUID? What architectural changes helped nanoID improve it's speed?

Collapse
 
bibekkakati profile image
Bibek

Hey, I haven't done any in-depth research on both the packages, it's just the practical implementation. But as per NanoID's documentation, they are managing the memory in a better way, which makes them faster than UUID. You can check their benchmarks or you can test it by yourself too.

Collapse
 
divyakshshukla profile image
Divyaksh

This is nice and I will definitely use it my custom blog / portfolio project

Collapse
 
bibekkakati profile image
Bibek

I'm glad you liked it.

Collapse
 
kalashin1 profile image
Kinanee Samson

hate generating user id's, we already have to cope with naming things

Collapse
 
bibekkakati profile image
Bibek

Haha :-D

Collapse
 
kitkatkitt profile image
kitkatkitt

Thanks for sharing this, it really helped me out!

Collapse
 
bibekkakati profile image
Bibek

Thank you for your comment.

Collapse
 
Sloan, the sloth mascot
Comment deleted
Collapse
 
jamartinez98 profile image
jamartinez98

test