Generator NanoID

Generuj identyfikatory NanoID online: domyślnie 21 bezpiecznych dla adresów URL znaków, około 126 bitów losowości, z możliwością dostosowania długości i alfabetu.

Format
Wygenerowane identyfikatory
Gotowe. Generuj wartości NanoID bezpośrednio w przeglądarce.

Jak budowany jest ten identyfikator

Układ
Domyślnie 21 znaków bezpiecznych dla adresów URL z zestawu A-Z, a-z, 0-9, podkreślenia i myślnika.
Entropia
Około 126 bitów przy domyślnym 64-znakowym alfabecie i długości 21 znaków.
Czas
Brak znacznika czasu; wartości NanoID są nieprzejrzyste, chyba że nadasz im znaczenie za pomocą własnego alfabetu.
Ryzyko kolizji
Ryzyko kolizji zmienia się wraz z długością i użytym alfabetem. Domyślne ustawienie zapewnia taki sam poziom bezpieczeństwa w praktyce jak UUID v4.
Przykład
RIpIBg0h8n4SiOrPk4RhJ

Identyfikatory są generowane lokalnie przy użyciu silnego generatora losowości w przeglądarce. Nic nie jest wysyłane do BroBroGo.

Najczęściej zadawane pytania (FAQ)

Dlaczego warto używać NanoID?

NanoID jest krótszy niż UUID, domyślnie bezpieczny w adresach URL i nadal cechuje się wysoką losowością przy zachowaniu domyślnej długości oraz alfabetu.

Czy mogę zmienić alfabet?

Tak. Zablokowana strona NanoID zachowuje opcje wyboru długości i alfabetu. Mniejsze alfabety lub krótsze długości zwiększają ryzyko kolizji.

Nano ID Generator: lokalne, konfigurowalne identyfikatory bez serwerowych zapytań

Strona nano-id-generator tworzy unikalne identyfikatory w formacie Nano ID. W przeciwieństwie do UUID (36 znaków) czy ULID (26 znaków), Nano ID domyślnie ma tylko 21 znaków – jest krótszy, a przy tym oferuje porównywalną odporność na kolizje. Długość i alfabet są w pełni regulowane: długość można ustawić w zakresie 2–36 znaków, a alfabet to edytowalne pole tekstowe, które musi zawierać co najmniej 2 różne znaki. Każda zmiana ustawień natychmiastowo regeneruje listę ID. Gdy alfabet zostanie zredukowany do pojedynczego znaku, wyniki są czyszczone, licznik pokazuje 0, a przycisk „Kopiuj wszystko” zostaje wyłączony. Narzędzie działa całkowicie lokalnie – żadne dane nie są wysyłane do BroBroGo.

Dlaczego Nano ID zamiast UUID lub ULID

Podstawowa różnica leży w długości przy zachowaniu podobnej odporności na kolizje. UUID wersji 4 ma 128 bitów losowości, ale zapisanych w formacie heksadecymalnym z myślnikami – daje to 36 znaków. ULID używa 26 znaków w kodowaniu Crockford Base32. Nano ID domyślnie generuje 21 znaków z alfabetu 64 znaków URL-safe (A-Z, a-z, 0-9, - oraz _). To daje 64^21 możliwych kombinacji, czyli około 2^126 – prawie tyle samo co UUID.

Dla systemów o dużej skali oznacza to mniejsze obciążenie sieci i mniejszy zajętość miejsca w bazach danych. Każdy bajt zaoszczędzony na kluczu głównym to oszczędność w indeksach, pamięci podręcznej i transferze. Możliwość skrócenia identyfikatora do np. 10 znaków (przy alfabecie 64-znakowym daje to 64^10 ≈ 2^60 kombinacji) sprawia, że Nano ID nadaje się do krótkich linków, tokenów w API czy kodów QR, gdzie długość ma bezpośredni wpływ na czytelność i koszt wydruku.

Konfiguracja długości i alfabetu – praktyczne zasady

Suwak długości działa w zakresie 2–36. Domyślna wartość to 21, ale w zależności od potrzeb można ją zmniejszyć lub zwiększyć. Każda zmiana długości powoduje natychmiastową regenerację wszystkich ID.

Alfabet to pole tekstowe, które domyślnie zawiera 64 znaki URL-safe:
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_

Edycja alfabetu pozwala na:

  • Użycie tylko cyfr (np. 0123456789) – wtedy dana długość daje mniej kombinacji, ale identyfikatory są łatwiejsze do odczytania przez człowieka.
  • Usunięcie znaków mylących, takich jak O i 0 czy l i 1 – wtedy pole poprawia czytelność.
  • Dodanie dowolnych znaków ASCII – np. !@#$%^&* – ale wtedy identyfikatory przestają być URL-safe.

Zasada jest prosta: alfabet musi zawierać co najmniej 2 różne znaki. Jeśli użytkownik usunie znaki tak, że zostanie tylko jeden (np. same litery a), pole wyników zostaje wyczyszczone, licznik pokazuje 0, a przycisk „Kopiuj wszystko” jest wyłączony. Narzędzie informuje wtedy: „Alfabet musi zawierać co najmniej 2 różne znaki”.

Liczba identyfikatorów i sposób działania

Narzędzie generuje od 1 do 100 identyfikatorów jednocześnie. Wszystkie są unikalne w danym zestawie – nie ma powtórzeń w obrębie jednego wygenerowanego zestawu. Każde ID jest losowane niezależnie przy użyciu crypto.getRandomValues(), czyli silnego generatora liczb losowych wbudowanego w przeglądarkę. Żaden identyfikator nie jest sprawdzany pod kątem globalnej unikalności – to po prostu losowy ciąg o zadanej długości i z zadanego alfabetu.

Zmiana dowolnego parametru (długość, alfabet, liczba ID lub format) natychmiastowo odświeża wyniki. Nie ma przycisku „Generuj” – regeneracja następuje automatycznie po każdej modyfikacji.

Edge case’y i błędy użytkowników

Najczęstszym błędem jest próba użycia alfabetu składającego się z jednego znaku. Narzędzie wtedy nie generuje żadnych ID – choć matematycznie można by wyprodukować ciąg jednakowych znaków o zadanej długości, to taki identyfikator nie ma żadnej wartości losowej i nie spełnia celu Nano ID. Dlatego programiści celowo zablokowali tę możliwość.

Inny częsty błąd: zbyt krótka długość przy małym alfabecie. Dla alfabetu składającego się tylko z cyfr (10 znaków) i długości 2 znaków mamy tylko 100 możliwych kombinacji. Przy 100 identyfikatorach na jeden zestaw prawdopodobieństwo kolizji jest bliskie 100%. Narzędzie nie ostrzega o tym – ono po prostu generuje ID, ale użytkownik powinien sam ocenić, czy dana kombinacja długości i alfabetu jest bezpieczna dla jego zastosowania.

Trzeci przypadek: próba skopiowania pojedynczego ID przez kliknięcie. To działa – każde ID po kliknięciu trafia do schowka. Przycisk „Kopiuj wszystko” kopiuje wszystkie wygenerowane ID jako listę (np. oddzielone znakiem nowej linii).

Dla kogo to narzędzie

  • Programiści tworzący API – potrzebują krótkich, URL-safe identyfikatorów dla zasobów lub kolejek zadań.
  • Architekci systemów – projektują schematy baz danych, gdzie długość klucza głównego ma znaczenie dla wydajności indeksów.
  • Specjaliści ds. prywatności – chcą generować identyfikatory lokalnie, bez wysyłania danych na serwer.
  • Twórcy aplikacji mobilnych – potrzebują kompaktowych tokenów do uwierzytelniania lub synchronizacji.
  • Inżynierowie DevOps – generują unikalne identyfikatory dla kontenerów, deploymentów lub artefaktów.

W każdym z tych przypadków kluczowa jest możliwość dostosowania alfabetu i długości do konkretnych ograniczeń formatu (np. tylko cyfry do kodów PIN, tylko małe litery do linków e-mailowych) oraz pewność, że ID powstają w przeglądarce użytkownika, bez opuszczania jej granic.

FAQ – najczęstsze pytania

Czy mogę użyć znaków specjalnych w alfabecie?
Tak, możesz wpisać dowolne znaki ASCII. Ale uwaga: jeśli chcesz, by ID nadawały się do użycia w adresie URL, trzymaj się domyślnego zestawu A-Za-z0-9-_. Dodanie np. spacji, & czy % sprawi, że ID będą wymagały kodowania URL.

Jaka jest minimalna bezpieczna długość dla 100 ID?
To zależy od alfabetu. Dla domyślnego 64-znakowego zestawu nawet 8 znaków daje 64^8 ≈ 2,8×10^14 możliwości – kolizja wśród 100 losowań jest bardzo mało prawdopodobna (rzędu 1,8×10^-11). Dla samego alfabetu liczbowego (10 znaków) przy 8 znakach masz już tylko 10^8 kombinacji – ryzyko kolizji przy 100 ID wynosi około 5×10^-5. Zawsze można zwiększyć długość lub alfabet.

Dlaczego przy jednym znaku w alfabecie ID się nie generują?
Bo identyfikatory składające się wyłącznie z tego samego znaku nie są unikalne – każdy byłby identyczny. Narzędzie celowo wyłącza tę opcję, by nie wprowadzać użytkownika w błąd.

Czy narzędzie wysyła ID na serwer?
Nie. Wszystkie operacje odbywają się w przeglądarce. Kod używa crypto.getRandomValues() – to silny generator losowy dostępny w każdej nowoczesnej przeglądarce. Żadne ID nie opuszczają komputera użytkownika.

Jaka jest różnica między Nano ID a krótkim UUID?
UUID ma stałą długość 36 znaków i stały format. Nano ID pozwala na dowolną długość (2–36) i dowolny alfabet. Dla tych samych 21 znaków Nano ID oferuje prawie 2^126 kombinacji – to więcej niż UUID (2^122 po odjęciu bitów wersji i wariantu). W praktyce oba są bezpieczne, ale Nano ID jest krótszy i bardziej elastyczny.

Czy mogę wygenerować 100 identyfikatorów i skopiować wszystkie naraz?
Tak. Ustaw licznik na 100, a następnie kliknij „Kopiuj wszystko”. Wszystkie ID zostaną skopiowane do schowka jako lista – zwykle oddzielone znakiem nowej linii. Możesz też kliknąć pojedyncze ID, by skopiować je osobno.