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.

Bez konta
Bez instalacji
Bezpłatnie
Instrukcja
  • 1
    Wprowadź dane
    Wpisz treść, wklej tekst lub załaduj plik z dysku.
  • 2
    Kliknij przycisk
    Narzędzie natychmiast przetworzy Twoje dane w przeglądarce.
  • 3
    Pobierz wynik
    Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
function runTool() {
  return "Wynik gotowy w 0.1s";
}
111 znaków

Użytkowników

10 os.
OK

każdy losowany na nowo — brak ziarna, wyniki się różnią

Pól na użytkownika

10 szt.

id, imię, nazwisko, pełna nazwa, płeć, e-mail + włączone opcje

Kraj

Angielski (Stany Zjednoczone)

Format

JSON
IDImięNazwiskoNazwaPłećE-mailAdresTelefonNazwa użytkownikaHasło
d9d02235-73ba-4bf1-8c12-b2d49adaec14WilliamMillerWilliam Millermale[email protected]
Ulica
479 Pine Road
Miasto
Phoenix
Region
MA
Kod pocztowy
93293
Kraj
United States
+1 001-803-7277williammiller68Ne4@aBD%3dbP
630ad32d-f841-45a6-abda-aa680796219eLiamJonesLiam Jonesmale[email protected]
Ulica
990 Maple Street
Miasto
Seattle
Region
TX
Kod pocztowy
53661-0590
Kraj
United States
+1 (175) 544-3486liamjones87hBCCB$e3uy8q
63c1c62d-ddd7-478d-9274-e77d25879aecCharlotteJonesCharlotte Jonesfemale[email protected]
Ulica
610 Oak Avenue
Miasto
Seattle
Region
WA
Kod pocztowy
99131
Kraj
United States
+1 276-748-1618charlottejones887#H6Fv6vF@7AX
2f7b291d-0fe2-432b-b67b-4537f74d9dc1IsabellaMillerIsabella Millerfemale[email protected]
Ulica
113 Park Drive
Miasto
Austin
Region
IL
Kod pocztowy
82248
Kraj
United States
+1 304-501-9745isabellamiller2217vq7#@ZfYhy9
062ff531-b970-439c-9de4-71a719c384b8LucasMillerLucas Millermale[email protected]
Ulica
950 Park Drive
Miasto
Austin
Region
CO
Kod pocztowy
35485
Kraj
United States
+1 029-997-0937lucasmiller550pJ8N?P6TEkVN
76f9b1fd-e041-4173-9cdf-cad94acf1834MichaelGarciaMichael Garciamale[email protected]
Ulica
117 Sunset Boulevard
Miasto
Austin
Region
TX
Kod pocztowy
10395-5593
Kraj
United States
+1 158-495-3431michaelgarcia184THj6Na?$!##4
bda14f3f-acd8-4866-8f25-81e70d521587EthanMillerEthan Millermale[email protected]
Ulica
202 Oak Avenue
Miasto
Boston
Region
IL
Kod pocztowy
27381
Kraj
United States
+1 (410) 163-5936ethanmiller418v3%s2Tj@aBCq
245c02f0-937d-4b8b-8d54-8fd81a2a9d57LiamJohnsonLiam Johnsonmale[email protected]
Ulica
45 Park Drive
Miasto
Phoenix
Region
MA
Kod pocztowy
75037
Kraj
United States
+1 (422) 028-5859liamjohnson7795?K%xdmJXPEc
b1dc28c8-29bd-48ab-b203-d162d687e2c0EthanSmithEthan Smithmale[email protected]
Ulica
266 Oak Avenue
Miasto
Denver
Region
MA
Kod pocztowy
11085-4147
Kraj
United States
+1 (203) 884-3834ethansmith521#7dtky*Kb6kB
ed4cee51-b4c9-4bbc-92f5-fdb186ff7c06AvaWilliamsAva Williamsfemale[email protected]
Ulica
198 Park Drive
Miasto
Austin
Region
IL
Kod pocztowy
05805
Kraj
United States
+1 (291) 484-1074avawilliams684w5adQeG9c?#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
E-mail 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.

generator fikcyjnych danych fake user data generator persona testowa dane testowe użytkownik RODO

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

  1. Wybór szkieletu: kobieta, data urodzenia 12 marca 1990. W zapisie PESEL daje to ciąg 900312 — rok 90, miesiąc 03, dzień 12.
  2. 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.
  3. 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ą.
  4. 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.
  5. Cyfra kontrolna: (10 - 3) mod 10 = 7. Pełny PESEL to 90031212347 — jedenaście cyfr z poprawną sumą kontrolną.
  6. 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

PoleRegułaPrzykład
Imię i nazwiskolosowane ze słownika dopasowanego do płci i lokalizacjiAnna Kowalska
E-mailimie.nazwisko małymi literami plus domena[email protected]
Telefonformat krajowy +48 6xx-xxx-xxx+48 612-345-678
Data urodzenialosowa w zadanym przedziale wiekowym, w PESEL jako RRMMDD12.03.1990, czyli 900312
PESEL11 cyfr, ostatnia liczona z wag 1, 3, 7, 9, 1, 3, 7, 9, 1, 390031212347
Adresulica, kod pocztowy, miasto, województwoul. Przykładowa 12, 00-001 Warszawa, mazowieckie
Hasłowyłącznie jako nieodwracalny skrót bcryptskrót bcrypt, bez jawnego hasła
Avataradres obrazu zastępczegoplaceholder, 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.

Zainstaluj Webp.pl Miej narzędzia we własnej kieszeni!