A tiny (108 bytes), secure, URL-friendly, unique string ID generator for JavaScript (by ai)


Basic nanoid repo stats
4 days ago

ai/nanoid is an open source project licensed under MIT License which is an OSI approved license.

Nanoid Alternatives

Similar projects and alternatives to nanoid

  • GitHub repo nanostores

    A tiny (152 bytes) state manager for React/Preact/Vue/Svelte with many atomic tree-shakable stores

  • GitHub repo snowflake

    Snowflake is a network service for generating unique ID numbers at high scale with some simple guarantees.

  • GitHub repo effector-react

    The state manager ☄️

  • GitHub repo spec

    The canonical spec for ulid

  • GitHub repo ksuid

    K-Sortable Globally Unique IDs

  • GitHub repo hscuid

    Collision-resistant IDs for horizontal scaling

  • GitHub repo pg_random_id

    Provides pseudo-random IDs in Postgresql databases

  • GitHub repo Generating-input-data

NOTE: The number of mentions on this list indicates mentions on common posts. Hence, a higher number means a better nanoid alternative or higher similarity.


Posts where nanoid has been mentioned. We have used some of these posts to build our list of alternatives and similar projects - the last one was on 2021-06-10.
  • Nano Stores: tiny state manager for React/Preact/Vue/Svelte in 152 bytes (!) and with tree-shaking support
    😄 A lot of experience after creating my previous popular project Nano ID.
  • Can you create a unique hash for each element in an array? | 2021-06-05
    You can just use this it will generate you ID if this is what you ask.
  • How to use dynamic id in react using css modules | 2021-06-02
    How about using nanoid for example to just get a random id?
  • NanoID - Alternative To UUID | 2021-05-23
    But in this article I am not going to discuss UUID, rather I will discuss another awesome npm package to generate a unique ID known as NanoID. | 2021-05-23
    You can also check for the ID collision probability here.
  • A person on Discord advertised their file sharing website and I went to see the code.
    Do you mean the GitHub page?
  • Unique Identifiers
    I was looking into NanoID as a tool to generate these ids. Me being curious, I looked into Reddit's method of unique identifiers and saw that they seem to only use lowercase and numbers.
  • My most frequent React errors and how you fix them | 2021-04-15
    Instead we could create our key by combining the name property with the current date/time using the JavaScript Date object. You could also use a package like nanoid that generates unique string id's for you.
  • So Clubhouse violated one fundamental concept of API architecture. That not to expose numerically incrementing unique identifiers.
  • New release of react-native-uuid, 20K/weekly downloads 🎉🚀🔥
    I prefer to use nanoid
  • How to get client ip and port from WebSocket
    I believe you can generate a unique ID (using uuid.v4() or nanoid()) then attach it to the new client connection. You can then add that to your array instead. Here's an example, but emphasis on the logic (generate new id on new client conenction and attach to it) in case you're using other packages/libraries.
  • Generating unique IDs in a distributed environment at high scale. | 2021-02-17
    Nano ID can also be an option which are ~40% faster and lighter than UUID packages. They use hardware random numbers to prevent collisions instead of using timestamp, mac address etc. Its simpler + secure but again, size is big and reducing sizes comes with a cost of less uniqueness.
  • Hi there, I need some help with discord.js
    I use nanoid to generate random strings.
  • Best npm package for uuid
    It's in the readme
  • Randomize Your End-to-End Tests: How to Generate Input Data for TestCafe | 2021-01-13
    User input can be truly unpredictable, so it's important to use a wide sample of random input data when testing web forms. In this article, we'll take a look at three Node libraries that generate data: nanoid, faker, and generate-password. We'll see how TestCafe can leverage their features to help you improve your test coverage.