Generator fikcyjnych danych użytkownika
Generuj kompletne fikcyjne profile użytkowników: imię, nazwisko, email, adres, telefon, data urodzenia, PESEL. Do testów i mockupów. Bezpłatnie.
-
1Wprowadź dane
Wpisz treść, wklej tekst lub załaduj plik z dysku. -
2Kliknij przycisk
Narzędzie natychmiast przetworzy Twoje dane w przeglądarce. -
3Pobierz wynik
Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
return "Wynik gotowy w 0.1s";
}
Użytkowników
każdy losowany na nowo — brak ziarna, wyniki się różnią
Pól na użytkownika
id, imię, nazwisko, pełna nazwa, płeć, e-mail + włączone opcje
Kraj
Format
| ID | Imię | Nazwisko | Nazwa | Płeć | Adres | Telefon | Nazwa użytkownika | Hasło | |
|---|---|---|---|---|---|---|---|---|---|
| d9d02235-73ba-4bf1-8c12-b2d49adaec14 | William | Miller | William Miller | male | [email protected] | Ulica 479 Pine Road Miasto Phoenix Region MA Kod pocztowy 93293 Kraj United States | +1 001-803-7277 | williammiller68 | Ne4@aBD%3dbP |
| 630ad32d-f841-45a6-abda-aa680796219e | Liam | Jones | Liam Jones | male | [email protected] | Ulica 990 Maple Street Miasto Seattle Region TX Kod pocztowy 53661-0590 Kraj United States | +1 (175) 544-3486 | liamjones87 | hBCCB$e3uy8q |
| 63c1c62d-ddd7-478d-9274-e77d25879aec | Charlotte | Jones | Charlotte Jones | female | [email protected] | Ulica 610 Oak Avenue Miasto Seattle Region WA Kod pocztowy 99131 Kraj United States | +1 276-748-1618 | charlottejones887 | #H6Fv6vF@7AX |
| 2f7b291d-0fe2-432b-b67b-4537f74d9dc1 | Isabella | Miller | Isabella Miller | female | [email protected] | Ulica 113 Park Drive Miasto Austin Region IL Kod pocztowy 82248 Kraj United States | +1 304-501-9745 | isabellamiller221 | 7vq7#@ZfYhy9 |
| 062ff531-b970-439c-9de4-71a719c384b8 | Lucas | Miller | Lucas Miller | male | [email protected] | Ulica 950 Park Drive Miasto Austin Region CO Kod pocztowy 35485 Kraj United States | +1 029-997-0937 | lucasmiller550 | pJ8N?P6TEkVN |
| 76f9b1fd-e041-4173-9cdf-cad94acf1834 | Michael | Garcia | Michael Garcia | male | [email protected] | Ulica 117 Sunset Boulevard Miasto Austin Region TX Kod pocztowy 10395-5593 Kraj United States | +1 158-495-3431 | michaelgarcia184 | THj6Na?$!##4 |
| bda14f3f-acd8-4866-8f25-81e70d521587 | Ethan | Miller | Ethan Miller | male | [email protected] | Ulica 202 Oak Avenue Miasto Boston Region IL Kod pocztowy 27381 Kraj United States | +1 (410) 163-5936 | ethanmiller418 | v3%s2Tj@aBCq |
| 245c02f0-937d-4b8b-8d54-8fd81a2a9d57 | Liam | Johnson | Liam Johnson | male | [email protected] | Ulica 45 Park Drive Miasto Phoenix Region MA Kod pocztowy 75037 Kraj United States | +1 (422) 028-5859 | liamjohnson779 | 5?K%xdmJXPEc |
| b1dc28c8-29bd-48ab-b203-d162d687e2c0 | Ethan | Smith | Ethan Smith | male | [email protected] | Ulica 266 Oak Avenue Miasto Denver Region MA Kod pocztowy 11085-4147 Kraj United States | +1 (203) 884-3834 | ethansmith521 | #7dtky*Kb6kB |
| ed4cee51-b4c9-4bbc-92f5-fdb186ff7c06 | Ava | Williams | Ava Williams | female | [email protected] | Ulica 198 Park Drive Miasto Austin Region IL Kod pocztowy 05805 Kraj United States | +1 (291) 484-1074 | avawilliams684 | w5adQeG9c?#T |
| Pole | Jak powstaje (z kodu silnika) | Przykład (domyślne ustawienia) |
|---|---|---|
| id | UUID w wersji 4 losowany z CSPRNG (random_bytes, bity wersji i wariantu ustawiane wg specyfikacji) | ac22fec8-f5c2-4e14-95f1-7b67905b5425 |
| Imię i nazwisko | losowane z pul dla wybranego kraju i płci (po 8 imion męskich i żeńskich oraz 8 nazwisk na kraj); „dowolna” płeć losuje 50/50 | William Garcia |
| imię.nazwisko (transliterowane, bez ogonków) + losowy numer 10–999 @ domena testowa: example.com, mail.test, demo.local lub testmail.dev | [email protected] |
|
| Adres | ulica z numerem 10–999, miasto i region z pul kraju; kod pocztowy wg maski kraju (# → cyfra, A → wielka litera), np. PL ##-###, GB AA# #AA | 97 Oak Avenue, Seattle 46965-2342, United States |
| Telefon | maska kraju z puli (np. +48 ### ### ###, +1 (###) ###-####), każde # to losowa cyfra | +1 (088) 497-2418 |
| Login (username) | imię + nazwisko bez ogonków, małe litery + losowy numer 10–999 | williamgarcia119 |
| Hasło (password) | 12 znaków z CSPRNG: gwarantowane mała, wielka, cyfra i znak specjalny (!@#$%*?), reszta losowana, kolejność tasowana Fisherem–Yatesem | *@agWVh88gB7 |
RODO — dane fikcyjne: imiona, adresy, telefony i hasła są losowane wyłącznie na serwerze podczas generowania. Nie pochodzą z żadnej prawdziwej osoby, nie są zapisywane i nie sprawdzają, czy istnieją. E-maile trafiają tylko do zarezerwowanych domen testowych (example.com, mail.test, demo.local, testmail.dev) — wysyłka na nie nie jest możliwa. Nie używaj tych danych do rejestracji w realnych serwisach ani do podszywania się.
Fikcyjni użytkownicy: testy bez prawdziwych danych
Do czego ten generator
Zapełnianie tabel, testowanie importów CSV/JSON, ekrany rejestracji, demonstracje paneli i szkolenia. Batch do 50 rekordów w jednym przebiegu, z adresem, telefonem i danymi logowania dołączanymi na żądanie — panel bez danych wygląda martwo, a z fikcyjnymi wygląda realnie, nie ryzykując niczego.
Losowość, nie ziarno
Ten silnik losuje każdą partię od nowa (mt_rand/random_int), więc dwa przebiegi dadzą różne osoby — do powtarzalnych testów zapisz wygenerowaną partię do pliku. Jeśli potrzebujesz deterministycznych profili z ziarna (ten sam seed = ten sam profil), użyj generatora profilu użytkownika.
Domeny testowe celowo
E-maile kończą się na example.com, mail.test, demo.local i testmail.dev — domenach zarezerwowanych do dokumentacji i testów, które nigdy nie dostaną prawdziwej poczty. Dzięki temu żaden test rejestracji z powiadomieniami nie wyśle maila przypadkowej osobie.
Hasła tylko na testy
Hasła spełniają typowe reguły złożoności (mała, wielka, cyfra, znak specjalny, 12 znaków), ale są publicznie wygenerowane — nadają się wyłącznie do środowisk testowych i demonstracji. W produkcji obowiązkowo własna rejestracja z hashowaniem (bcrypt/argon2) i nigdy te wartości.
Wskazówka: kafelki nad wynikiem pokazują liczbę rekordów, liczbę pól na użytkownika, kraj i format — a eksport zapisuje partię w dokładnie tym formacie, który wybrałeś (.json, .csv lub .txt).
Oceń to narzędzie:
Powiązane narzędzia
Inne narzędzia, które mogą Ci się przydaćPodaj dalej
Komuś też się przyda?
Wyślij znajomemu link. Otworzy narzędzie od razu, bez konta i bez opłat.
Generator fikcyjnych danych użytkownika – kompletna persona testowa
Fikcyjne dane użytkownika są niezbędne przy tworzeniu: mockupów UI, baz danych testowych, seed scripts, demonstracji produktu i testów bez ryzyka RODO. Generator tworzy kompletne, realistycznie wyglądające profile z wszystkimi polami typowymi dla systemu użytkowników.
Co zawiera profil testowy
Imię i nazwisko: realistyczne polskie lub zagraniczne. Email: zbudowany z imienia+nazwiska@domain. Telefon: format polskie +48 6xx-xxx-xxx. Adres: ulica, kod pocztowy, miasto, województwo. Data urodzenia: losowa w przedziale wiekowym. PESEL: walidowany algorytmem (suma kontrolna). Hasło (zahashowane): bcrypt. Avatar: placeholder image.
RODO a dane testowe
RODO (GDPR) Art. 5: dane osobowe = "informacje o zidentyfikowanej lub identyfikowalnej osobie fizycznej". Fikcyjne dane: nie są danymi osobowymi (nie odnoszą się do realnej osoby). Bezpieczne alternatywy: (1) generator fikcyjnych danych, (2) anonimizacja prawdziwych danych. Produkcja: nigdy prawdziwe dane w testach/staging!
Algorytm PESEL – walidacja
PESEL: 11 cyfr. Ciąg: RRMMDDXXXXY (R=rok, M=miesiąc, D=dzień, X=numer porządkowy, Y=cyfra kontrolna). Urodzony w XX w.: RRMMDD. W XXI w.: miesiąc + 20 (np. 2001 = miesiąc 01 → 21). Kontrolna: wagi 1,3,7,9,1,3,7,9,1,3 → suma mod 10 = (10 - mod) mod 10.
Popularne biblioteki do generowania danych
JavaScript: @faker-js/faker. faker.person.fullName(), faker.internet.email(), faker.location.city(). Python: Faker. fake = Faker("pl_PL"); fake.name(). PHP: fakerphp/faker. $faker = Faker\Factory::create("pl_PL"). Java: Java Faker (com.github.javafaker). C#: Bogus (NuGet). Wszystkie obsługują lokalizację polską.
Jak działa generator person testowych
Generator nie losuje każdego pola osobno. Najpierw powstaje szkielet persony: płeć oraz data urodzenia. Dopiero z tego szkieletu wyprowadzane są pola pochodne — imię i nazwisko ze słownika dopasowanego do płci i lokalizacji, e-mail przez sklejenie imienia i nazwiska, PESEL z daty urodzenia i numeru porządkowego, telefon z formatu krajowego. Taka kolejność daje rekord spójny wewnętrznie: płeć w imieniu zgadza się z cyfrą porządkową numeru, a wiek wynika z daty wpisanej w PESEL. Losowanie niezależnych ciągów znaków dałoby zestaw, który na pierwszy rzut oka wygląda jak zbiór przypadkowych wartości i szybko psuje testy formularzy.
Kluczowym elementem mechanizmu jest cyfra kontrolna PESEL. Generator wybiera najpierw dziesięć cyfr: sześć z daty urodzenia (z przesunięciem miesiąca o 20 dla osób urodzonych w XXI wieku) oraz cztery z numeru porządkowego, którego ostatnia cyfra koduje płeć. Następnie liczy iloczyny tych cyfr z wagami, sumuje je i sprawdza resztę z dzielenia przez 10. Dopiero tak policzona jedenasta cyfra trafia do numeru, dlatego wygenerowany PESEL przechodzi standardową walidację, mimo że nie pochodzi z żadnego rejestru.
Drugi mechanizm to losowość powtarzalna. Generator korzysta z pseudolosowego strumienia liczb, który można zainicjować ziarnem (seed). To samo ziarno i ta sama wersja słowników dają identyczną personę przy każdym uruchomieniu, co pozwala odtworzyć stan bazy testowej albo powtórzyć nieudany przypadek. Bez ziarna każdy profil jest inny, ale wciąż zgodny z regułami formatu — długość numeru, suma kontrolna i format telefonu są sprawdzane przed zwróceniem wyniku, więc do aplikacji nie trafia ciąg, który nie przeszedłby walidacji składniowej.
Przykład: jedna persona krok po kroku
- Wybór szkieletu: kobieta, data urodzenia 12 marca 1990. W zapisie PESEL daje to ciąg 900312 — rok 90, miesiąc 03, dzień 12.
- Imię i nazwisko ze słownika żeńskiego: Anna Kowalska. Pola pochodne: e-mail [email protected] oraz telefon w formacie krajowym +48 612-345-678.
- Numer porządkowy to cztery cyfry 1234. Pierwsze dziesięć cyfr numeru ma postać 9003121234, a ostatnia cyfra porządkowa (4, parzysta) jest spójna z płcią żeńską.
- Suma kontrolna: iloczyny kolejnych cyfr z wagami 1, 3, 7, 9, 1, 3, 7, 9, 1, 3 wynoszą 9, 0, 0, 27, 1, 6, 7, 18, 3, 12. Suma to 83, a reszta z dzielenia przez 10 to 3.
- Cyfra kontrolna: (10 - 3) mod 10 = 7. Pełny PESEL to 90031212347 — jedenaście cyfr z poprawną sumą kontrolną.
- Rekord trafia do seed script razem z adresem, hasłem w postaci skrótu bcrypt i adresem avatara. Przy tym samym ziarnie cały zestaw pól odtworzymy identycznie przy kolejnym uruchomieniu.
Pola persony i reguły ich budowy
| Pole | Reguła | Przykład |
|---|---|---|
| Imię i nazwisko | losowane ze słownika dopasowanego do płci i lokalizacji | Anna Kowalska |
| imie.nazwisko małymi literami plus domena | [email protected] | |
| Telefon | format krajowy +48 6xx-xxx-xxx | +48 612-345-678 |
| Data urodzenia | losowa w zadanym przedziale wiekowym, w PESEL jako RRMMDD | 12.03.1990, czyli 900312 |
| PESEL | 11 cyfr, ostatnia liczona z wag 1, 3, 7, 9, 1, 3, 7, 9, 1, 3 | 90031212347 |
| Adres | ulica, kod pocztowy, miasto, województwo | ul. Przykładowa 12, 00-001 Warszawa, mazowieckie |
| Hasło | wyłącznie jako nieodwracalny skrót bcrypt | skrót bcrypt, bez jawnego hasła |
| Avatar | adres obrazu zastępczego | placeholder, nie zdjęcie realnej osoby |
Jak wdrożyć generator w projekcie
- Ustal ziarno przed pierwszym uruchomieniem — zapisz je w konfiguracji obok skryptu seedującego. Bez tego każde odtworzenie bazy daje inne dane i nie da się powtórzyć błędu zgłoszonego przez testera.
- Przypnij wersję biblioteki — słowniki imion, nazwisk i miast zmieniają się między wydaniami, więc aktualizacja zależności potrafi zmienić wynik przy niezmienionym ziarnie.
- Oznacz rekordy jako testowe — dodaj pole znacznikowe albo prefiks w adresie e-mail, żeby jednym zapytaniem usunąć cały zestaw i nie pomylić go z kontami zakładanymi ręcznie na stagingu.
- Testuj warianty skrajne, nie tylko typowy profil — długie nazwisko, brak drugiego imienia, adres zagraniczny czy osoba urodzona w XXI wieku ujawniają błędy szerokości kolumn i skracania tekstu w UI.
- Używaj tego samego kodu walidującego co produkcja — generator pilnuje sumy kontrolnej PESEL i formatu telefonu, ale reguły biznesowe aplikacji, na przykład minimalny wiek, trzeba przetestować osobno.
Ograniczenia i pułapki
- Brak gwarancji unikalności — losowanie może powtórzyć tę samą kombinację pól, więc unikalność e-maila czy loginu musi wymusić baza albo skrypt seedujący, a nie sam generator.
- Adres nie jest weryfikowany przestrzennie — ulica nie musi istnieć w podanym mieście, a kod pocztowy nie odpowiada realnemu obszarowi. Testy geokodowania i normalizacji adresów wymagają innego źródła danych.
- Rozkłady nie odwzorowują populacji — słowniki zawierają ograniczoną liczbę imion, nazwisk i miast, więc przy dużym zbiorze proporcje i rzadkie przypadki będą odbiegać od rzeczywistych.
- Persona nie zna reguł biznesowych — generator nie wie o limitach długości, polach wymaganych, relacjach między tabelami ani unikalnych indeksach; to trzeba narzucić w seed script, inaczej import zakończy się błędem.
Najczęstsze pytania
Jak generować PESEL z datą urodzenia?
1. Wyznacz rok i miesiąc urodzenia. 2. Jeśli ≥ 2000: dodaj 20 do miesiąca. 3. Wygeneruj losowe 4 cyfry XXX (porządkowy) + parzysty/nieparzysty dla płci (ostatni przed kontrolną). 4. Oblicz cyfre kontrolną: wagi 1,3,7,9,1,3,7,9,1,3. suma × odpowiednia cyfra → suma mod 10 → kontrolna = (10 - suma mod 10) mod 10.
Jak generować realistyczne emaile testowe?
Format: [email protected]. Domeny testowe: @example.com, @test.com, @mailtest.net (RFC 2606 zarezerwowane). Unikaj: @gmail.com, @wp.pl (możliwość kolizji z prawdziwymi). Faker: faker.internet.email("Jan", "Kowalski") = "[email protected]". Subaddressing: [email protected].
Jak importować fikcyjne dane do MySQL?
PHP: foreach ($faker->count(100)) → INSERT. Laravel seeder: UserFactory::count(100)->create(). Node.js: faker loop + mysql2 query. SQL: load from CSV (LOAD DATA INFILE). Python: faker loop + pymysql execute. Tip: użyj transakcji (BEGIN/COMMIT) dla szybkości przy dużych zestawach.
Jakie pola powinien zawierać user record?
Minimum: id (UUID), email (unique), password_hash. Standard: + first_name, last_name, created_at, updated_at. E-commerce: + address, phone, date_of_birth. PL system: + PESEL (zaszyfrowany), NIP (dla firm). Avatar: URL do S3 lub placeholder. Soft delete: deleted_at (nullable). Email verified: email_verified_at.
Jak anonimizować prawdziwe dane produkcyjne do testów?
Anonymization script: foreach user: user.email = fake.email(); user.phone = fake.phone(). Pseudonymization: hash(real_email + salt) → traceability zachowana. Tools: ARX Data Anonymization Tool, Amnesia. AWS: Macie wykrywa PII, Glue + DynamoDB do maskowania. Pamiętaj: kopia produkcji z prawdziwymi danymi na staging = naruszenie RODO.
Czy wygenerowane dane można wgrać na produkcję?
Nie. Persony testowe służą do baz deweloperskich, stagingu, mockupów i demonstracji. Na środowisku produkcyjnym konta zakładają realni użytkownicy, a fikcyjne rekordy zaburzają statystyki i mogą łamać reguły biznesowe.
Jak uzyskać powtarzalne wyniki przy kolejnym uruchomieniu?
Ustaw ziarno generatora i zapisz numer wersji biblioteki razem ze skryptem. Ten sam seed i te same słowniki dają identyczny zestaw person, natomiast zmiana wersji biblioteki może zmienić wynik.
Czy PESEL z generatora przejdzie walidację w moim formularzu?
Sam numer tak, bo cyfra kontrolna jest liczona z wag i suma się zgadza. Walidacja w aplikacji może jednak wymagać dodatkowych warunków, na przykład minimalnego wieku albo zgodności numeru z datą urodzenia w profilu.
Generator czy anonimizacja — co wybrać?
Generator, gdy potrzebujesz danych od zera i nie masz dostępu do zbioru produkcyjnego. Anonimizację, gdy wynik ma zachować rozkłady i relacje z prawdziwego zbioru, na przykład przy testach wydajności na realistycznych wolumenach.
Czy e-mail z persony może trafić do prawdziwej skrzynki?
Może, jeśli użyjesz domeny, która istnieje i należy do kogoś innego. Do testów wybierz domenę, którą kontrolujesz, albo domenę przeznaczoną do przykładów, i wyłącz realną wysyłkę wiadomości na środowisku testowym.
Powiązane narzedzia: generator losowych adresow, generator imion i walidator PESEL.