top of page

NanoID and Its Usage.



NanoID is tiny, Secure and URL friendly unique string ID generator for JavaScript. It is smaller is size as it has no dependencies which makes it 6-% faster than UUID. It uses cryptographically strong random APIs and uses larger alphabet than UUID.


It can generate over 2.2 million unique IDs per second with its default alphabet and over 1.8 million unique IDs per second when using the custom alphabet.


Safe : uses cryptographically strong random APIs and proper distribution of symbols.


Small : 179 bytes , uses size limit to control size.


Compact: uses larger alphabet than UUID and has unique IDs in 21 symbols instead of 36.



Functions

1. generate() Generates a secure NanoID using the default alphabet.

2. generate(size) Generates a secure NanoID using the default alphabet.

3. generate(size, alphabet) Generates a secure NanoID using a custom size and an individual alphabet.

4. generate_non_secure() Generates a non-secure NanoID using the default alphabet.

5. generate_non_secure(size) Generates a non-secure NanoID using the default alphabet.

6. generate_non_secure(size, alphabet) Generate a non-secure NanoID using a custom size and an individual alphabet.



Features:

  1. NanoID is 4.5 times smaller in size and does not have any dependencies. The size limit is used to reduce the size from another 35%

  2. NanoID uses crypto_module and web_crypto_API which make it more secure.

  3. Instead of 36 characters it has only 21 characters which makes it 60% faster.

  4. NanoID supports 14 different programming languages : C#, C++, Crystal, Dart, Flutter, Deno, Go, Java, PHP, Elixir, Haskell, Janet, Nim, Perl, python, Ruby, Rust and Swift.

  5. It also supports PouchDB, CouchDB Webworkers, Rollup, React and React-native.

  6. It allow developers to use custom alphabets. you can change the size of the ID.

  7. It is more stable self-governed.

  8. It can optimize bundle size in long run and make it less prone to issue that come with dependencies.


Disadvantages:

  1. NanoID is harder to debug.

  2. NanoID is not sequential due to which problem occurs when you use same column as a clustered index.


The Tech Platform

0 comments
bottom of page