Generator testowych danych CSV
Generuj pliki CSV z realistycznymi danymi testowymi: imiona, email, adresy, daty, UUID. Konfiguruj schemat i liczbę wierszy. Pobierz plik CSV. 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";
}
Wiersze
plus wiersz nagłówka
Kolumny
Separator
Cytowanie
Puste wartości
Rozmiar
26 linii
"id","first_name","last_name","email","city","country","created_at","order_total" "1","Avery","White","[email protected]","Stockholm","Poland","2026-04-01 12:37:00","361.87" "2","Reese","Anderson","[email protected]","Copenhagen","Austria","2026-06-27 22:17:00","62.34" "3","Parker","Davis","[email protected]","Paris","Italy","2026-01-26 03:43:00","204.99" "4","Cameron","Thomas","[email protected]","Stockholm","Sweden","2025-11-25 16:53:00","137.58" "5","Reese","Wilson","[email protected]","Copenhagen","Poland","2026-07-25 02:39:00","721.84" "6","Cameron","Moore","[email protected]","Amsterdam","Portugal","2025-12-08 18:18:00","987.36" "7","Jamie","Brown","[email protected]","Stockholm","Portugal","2026-01-05 18:07:00","410.14" "8","Taylor","Wilson","[email protected]","Paris","Spain","2026-02-15 03:20:00","979.28" "9","Casey","Davis","[email protected]","Warsaw","Czechia","2026-02-04 20:36:00","599.54" "10","Avery","Jackson","[email protected]","Stockholm","Denmark","2026-07-26 12:35:00","800.91" "11","Riley","Moore","[email protected]","Copenhagen","","2026-01-11 12:03:00","928.73" "12","Taylor","Miller","[email protected]","Warsaw","Spain","2026-03-26 04:12:00","593.99" "13","Riley","Harris","[email protected]","Berlin","Sweden","2026-03-05 01:23:00","445.67" "14","Reese","Johnson","[email protected]","Lisbon","Poland","2026-02-01 03:17:00","285.48" "15","Alex","Wilson","[email protected]","Lisbon","Poland","2026-08-02 15:50:00","947.62" "16","Morgan","Thomas","[email protected]","Paris","Denmark","2026-02-12 07:14:00","928.88" "17","Riley","Miller","[email protected]","Madrid","Ireland","2025-12-18 20:43:00","198.26" "18","Parker","Smith","[email protected]","Dublin","Czechia","2026-06-10 14:18:00","73.69" "19","Quinn","Smith","[email protected]","Madrid","Austria","2026-07-26 16:39:00","859.06" "20","Cameron","Jackson","[email protected]","Amsterdam","Netherlands","2026-02-25 01:55:00","33.00" "21","Cameron","Jackson","[email protected]","Dublin","Spain","2026-01-05 06:30:00","139.93" "22","Morgan","Harris","[email protected]","Berlin","Ireland","2026-08-22 21:18:00","372.23" "23","Jamie","Miller","[email protected]","Dublin","Poland","2025-12-27 03:25:00","18.00" "24","Jordan","Brown","[email protected]","Prague","Denmark","2026-01-01 23:50:00","190.13" "25","Casey","Smith","[email protected]","Madrid","Ireland","2026-02-23 08:15:00","749.38"
Oceń to narzędzie:
Powiązane narzędzia
Inne narzędzia, które mogą Ci się przydaćGenerator testowych danych CSV – Faker.js w przeglądarce
Testowanie aplikacji wymaga danych – baz pełnych realistycznych rekordów zamiast "test1", "test2". Narzędzie generuje pliki CSV z fałszywymi ale wiarygodnymi danymi (Faker.js): imiona, adresy email, numery telefonu, PESEL-podobne ID, daty, adresy IP.
Dostępne typy kolumn
Osobiste: first_name, last_name, full_name, email, phone, age, gender, birthdate, PESEL (format PL). Adresy: street, city, state/voivodeship, zip_code, country, latitude, longitude. Techniczne: uuid, ip_address (IPv4/IPv6), mac_address, user_agent, url, password (hashed). Finansowe: credit_card (fałszywa), iban (PL format), price, currency.
Lokalizacja danych
Polska (pl): polskie imiona (Jan, Agnieszka), miejscowości (Kraków, Poznań), format tel (48xxxxxxxxx), kody pocztowe (XX-XXX). Angielski (en): John, Smith, NYC, ZIP. Niemcy, Francja, Hisz-pania: odpowiednie formy lokalne. Mieszana lokalizacja: dobre do testów wielojęzycznych.
Konfiguracja schematu
Dodaj kolumny: drag-and-drop sortowanie, rename, typ danych. Zakres dat: startDate → endDate (losowa data z zakresu). Liczby: min/max, precision (decimals). Enum/lista wartości: "active|inactive|pending" – losowo jeden z nich. Sekwencja: auto-increment ID (1,2,3...). Formuła: "prefix_" + uuid.
Formaty wyjścia i ustawienia CSV
Separator: przecinek (,), średnik (;), tabulator. Nagłówek: tak/nie. Cudzysłowy: wszystkie pola, tylko konieczne. Kodowanie: UTF-8, UTF-8 BOM, Windows-1250. Liczba wierszy: 10 do 100 000. Dla >10 000 wierszy: plik jest generowany i oferowany do pobrania (nie wyświetlany w podglądzie).
Jak działa generator danych testowych CSV
Generator nie buduje całego pliku naraz, tylko przechodzi wiersz po wierszu przez zdefiniowany schemat. Schemat to uporządkowana lista kolumn — każda ma nazwę, typ i własne parametry, takie jak zakres dat (startDate → endDate), przedział min/max z dokładnością do określonej liczby miejsc po przecinku, lista wartości (enum), formuła albo licznik sekwencji. W każdym przebiegu pętli narzędzie wywołuje dla danej kolumny regułę przypisaną do jej typu i pobiera wynik ze słownika Faker.js dla wybranej lokalizacji.
Kluczowa jest niezależność losowań. Wartość w kolumnie powstaje tylko na podstawie jej własnej reguły — nie zagląda do pozostałych kolumn tego samego wiersza. Dlatego imię i nazwisko nie tworzą spójnej pary z adresem email, a miasto nie jest powiązane z kodem pocztowym ani ulicą. Taki model jest wystarczający do testowania importu, wydajności zapytań i walidacji formatów, ale nie do testów relacji między danymi.
Po zebraniu wierszy narzędzie składa tekst CSV: najpierw opcjonalny wiersz nagłówka, potem rekordy, w których pola rozdziela wybrany separator, a cudzysłowy dokłada zgodnie z ustawieniem — wszystkie pola albo tylko te, które zawierają separator, cudzysłów lub znak nowej linii. Na końcu stosuje wybrane kodowanie. Przy większej liczbie wierszy plik nie trafia do podglądu, lecz jest generowany strumieniowo i udostępniany jako plik do pobrania, co odciąża przeglądarkę.
Przykład: schemat pięciu kolumn krok po kroku
- Dodaj kolumnę id i ustaw jej typ na Sekwencja (auto-increment). Kolejne wiersze otrzymają wartości 1, 2, 3… — rosnące o stały krok, zgodnie z kolejnością rekordów w pliku.
- Dodaj kolumnę first_name i wybierz lokalizację Polska (pl). Słownik zwróci imiona w rodzaju Jan, Agnieszka. Dodaj obok last_name — pamiętaj, że imię i nazwisko pochodzą z dwóch niezależnych losowań i nie tworzą realnej osoby.
- Dodaj kolumnę email (typ Osobiste). Powstanie adres z domeną wygenerowaną przez Faker.js, niezależny od wartości first_name i last_name w tym samym wierszu — nie oczekuj adresu w stylu imie.nazwisko@domena.
- Dodaj kolumnę birthdate i ustaw zakres od startDate do endDate. Każda data jest losowana z tego przedziału, a wynik zapisuje się w formacie obsługiwanym przez wybrany typ kolumny.
- Dodaj kolumnę city (Adresy, lokalizacja pl) — pojawią się miejscowości takie jak Kraków czy Poznań. Przeciągnij kolumny w panelu tak, aby ich kolejność odpowiadała kolejności pól w tabeli docelowej.
- Ustaw liczbę wierszy w zakresie od 10 do 100 000, wybierz separator, zdecyduj o nagłówku i kodowaniu, a następnie uruchom generowanie. Jeśli liczba wierszy przekracza 10 000, plik od razu trafia do pobrania zamiast do podglądu.
Ustawienia pliku CSV — tabela referencyjna
| Ustawienie | Dostępne wartości | Kiedy stosować |
|---|---|---|
| Separator | przecinek, średnik, tabulator | Przecinek dla większości parserów i narzędzi CLI, średnik dla arkuszy w polskiej lokalizacji, tabulator do plików kopiowanych do schowka. |
| Nagłówek | tak / nie | Włącz, gdy import mapuje kolumny po nazwach. Wyłącz, gdy testujesz plik bez wiersza nagłówkowego. |
| Cudzysłowy | wszystkie pola / tylko konieczne | Wszystkie pola ułatwiają parsowanie danych z adresami i przecinkami; tryb konieczny daje mniejszy plik. |
| Kodowanie | UTF-8, UTF-8 BOM, Windows-1250 | UTF-8 BOM zabezpiecza polskie znaki przy otwieraniu w Excelu, Windows-1250 dla starszych systemów i baz. |
| Liczba wierszy | 10–100 000 | Do 10 000 wierszy trafia do podglądu; powyżej tej wartości plik jest generowany i oferowany do pobrania. |
| Zakres dat | startDate → endDate | Dla kolumn z typem daty — każda wartość jest losowana z podanego przedziału. |
| Liczby | min/max oraz precision | Dla kolumn numerycznych; precision określa liczbę miejsc po przecinku, więc kontroluje format kwot i cen. |
| Enum (lista wartości) | active|inactive|pending | Gdy kolumna ma przyjmować wyłącznie zamknięty zbiór wariantów, np. statusy lub typy dokumentu. |
Praktyczne wskazówki przed generowaniem pliku
- Dopasuj separator do odbiorcy pliku. Jeśli CSV ma wylądować w polskim Excelu, średnik bywa bezpieczniejszy niż przecinek, bo ten sam znak pełni rolę separatora dziesiętnego. Do skryptów i bibliotek parserów w większości przypadków wystarczy przecinek.
- Włącz UTF-8 BOM, gdy plik otwiera człowiek. Bez znacznika BOM arkusz kalkulacyjny może źle odczytać polskie znaki diakrytyczne, mimo poprawnego kodowania UTF-8. Windows-1250 wybieraj tylko wtedy, gdy odbiorcą jest starszy system.
- Zostaw nagłówek włączony przy testach importu. Wiersz z nazwami kolumn pozwala sprawdzić mapowanie pól, a wyłączenie nagłówka przydaje się do testów walidacji „brak wymaganego wiersza 1”.
- Dobierz liczbę wierszy do celu testu. Kilkadziesiąt rekordów wystarcza do sprawdzenia parsera, tysiące — do oceny czasu importu. Pamiętaj, że powyżej 10 000 wierszy plik nie jest wyświetlany w podglądzie, więc wynik ocenisz dopiero po pobraniu.
- Używaj listy wartości zamiast typu losowego, gdy potrzebujesz kontroli. Enum typu active|inactive|pending daje przewidywalny zbiór wariantów i pozwala testować filtrowanie oraz sortowanie bez zgadywania, jakie wartości się pojawią.
Ograniczenia i czynniki, które zaburzają wynik
- Brak spójności między kolumnami. Narzędzie losuje każdą wartość osobno, więc adres email nie wynika z imienia i nazwiska, a miasto nie odpowiada kodowi pocztowemu ani ulicy. Testy zależności między polami trzeba przygotować inaczej.
- Formatu nie należy utożsamiać z walidacją. Identyfikatory w stylu PESEL, numery telefonu w formacie 48xxxxxxxxx, IBAN w formacie PL czy fałszywe numery kart płatniczych są generowane jako dane tekstowe o odpowiednim kształcie. Nie zakładaj, że przejdą sumy kontrolne lub walidację operatora płatności.
- Losowość może pokryć się z rzeczywistością. Dane są fikcyjne, ale słowniki imion, miejscowości i domen są realne — pojedynczy rekord może przypadkiem przypominać istniejącą osobę albo adres. Dlatego takich plików nie wolno wykorzystywać jako danych produkcyjnych.
- Rozmiar pliku zależy od liczby kolumn i długości wartości. Przy szerokim schemacie i dużej liczbie wierszy generowanie w przeglądarce trwa dłużej i zużywa więcej pamięci, a plik zamiast podglądu jest udostępniany do pobrania.
- Brak relacji między osobnymi generowaniami. Dwa pliki utworzone z podobnym schematem nie podzielą wspólnych kluczy, więc nie zastąpią zestawu tabel połączonych kluczami obcymi.
Najczęstsze pytania
Czy wygenerowane dane mogą zawierać prawdziwe osoby?
Nie – używamy biblioteki Faker.js, która generuje całkowicie fikcyjne dane. Imiona, adresy i numery telefonu są wygenerowane algorytmicznie. Żadne z nich nie należą do rzeczywistych osób. Bezpiecznie do testów RODO-wrażliwych środowisk.
Jak wygenerować PESEL do testów?
Polski PESEL: 11 cyfr: RRMMDDSSSSZ. Część narzędzi generuje poprawne matematycznie PESEL (z prawidłową sumą kontrolną). Narzędzie generuje fikcyjne PESEL-podobne numery zgodne z formatem ale nie należące do żadnej osoby. Dla testów produkcyjnych: zawsze używaj dedykowanego generatora testowego PESEL, nie prawdziwych danych.
Jak wygenerować realistyczne polskie adresy?
Baza: lista polskich miast, ulic (z OpenStreetMap lub własna). Format: ul. Marszałkowska 12/4, 00-001 Warszawa. Kod pocztowy: format XX-XXX. Województwo: 16 województw. Narzędzie generuje adresy geograficznie wiarygodne (kod pocztowy pasuje do regionu).
Jak używać pliku CSV z pandas (Python)?
import pandas as pd. df = pd.read_csv("data.csv", encoding="utf-8"). df.head(). df.describe(). Dla CSV z separatorem średnikowym (Excel PL): pd.read_csv("data.csv", sep=";"). Dla dużych plików (>1GB): pd.read_csv(..., chunksize=10000).
Jak zasilić bazę danych testowymi danymi CSV?
MySQL: LOAD DATA INFILE "/path/data.csv" INTO TABLE users FIELDS TERMINATED BY "," LINES TERMINATED BY "\n" IGNORE 1 ROWS. PostgreSQL: COPY users FROM "/path/data.csv" CSV HEADER. Django: management command lub fixture. Lub: wygeneruj INSERT SQL z pliku CSV przez narzędzie "Konwerter CSV na SQL".
Jak wygenerować plik CSV z polskimi znakami, żeby Excel ich nie zepsuł?
Wybierz kodowanie UTF-8 BOM — znacznik na początku pliku informuje arkusz o kodowaniu. Jeśli odbiorcą jest starszy system bez obsługi UTF-8, użyj Windows-1250. Przy polskich danych warto też rozważyć separator średnika.
Czy można wygenerować 100 000 wierszy danych testowych?
Tak, 100 000 to górna granica liczby wierszy w tym narzędziu. Powyżej 10 000 wierszy plik nie jest wyświetlany w podglądzie, tylko generowany i oferowany do pobrania.
Czy wygenerowany email będzie zgodny z imieniem i nazwiskiem w tym samym wierszu?
Nie. Każda kolumna losowana jest niezależnie, więc adres email nie powstaje na podstawie first_name ani last_name. Jeśli potrzebujesz spójnych tożsamości, użyj kolumny z formułą albo listy wartości.
Jak wstawić do kolumny tylko wybrane wartości, np. statusy?
Użyj typu Enum i podaj listę rozdzieloną pionowymi kreskami, na przykład active|inactive|pending. Narzędzie wylosuje dla każdego wiersza dokładnie jeden wariant z tej listy.
Czy dane z generatora nadają się do testów importu w bazie danych?
Tak, do sprawdzenia parsera, mapowania kolumn, wydajności i zachowania przy błędnych rekordach. Pamiętaj jednak, że wartości PESEL, IBAN czy numerów kart mają tylko odpowiedni format i nie muszą przechodzić walidacji sum kontrolnych.
Powiązane narzędzia: generator testowego JSON API, konwerter CSV na JSON i walidator CSV.