CSV 데이터 생성기
열마다 규칙을 정해 구조화된 테스트 데이터를 일괄 생성하고 .csv로 내보냅니다
열 정의
데이터 미리보기
처음 10행만 표시합니다. 내보낼 때는 전체 행을 생성합니다
처음 10행만 표시합니다. 내보낼 때는 전체 행을 생성합니다
CSV 데이터 생성기란?
CSV 데이터 생성기는 구조화된 테스트 데이터를 일괄 생성해 표준 .csv 파일로 내보내는 온라인 도구입니다. 각 열에 데이터 유형——이름, 전화번호, 주민번호, 날짜, 금액, UUID 등——을 선택하고 행 수를 정하면 규칙에 맞는 더미 데이터를 만들어냅니다. 구분자(쉼표, 세미콜론, 탭, 파이프)를 고르고, 헤더 행 포함 여부와 Excel에서 깨지지 않고 열리도록 UTF-8 BOM 추가 여부도 정할 수 있습니다. 모든 데이터는 브라우저에서 로컬로 생성되어 어떤 서버로도 전송되지 않으므로, 개발과 테스트 중 데이터베이스를 채우거나 데모 화면을 꾸미거나 교육과 발표에 활용하기 좋습니다. 이 도구는 10개 언어의 현지화 더미 데이터를 지원합니다. 데이터 언어를 선택하면 이름, 회사, 도시, 전화 같은 필드가 해당 언어권의 실제 관행에 맞는 형식으로 생성됩니다. 예를 들어 일본어는 일본 이름을, 한국어는 한국 회사명을 만들어냅니다.
사용 방법
단계
- 상단에서 "데이터 언어"를 선택해 이름, 회사 등 현지화 필드의 생성 스타일을 정합니다
- 생성할 행 수를 지정하거나 빠른 선택 버튼으로 100 / 1천 / 1만 / 5만 중 고릅니다
- "CSV 옵션"에서 구분자, 줄바꿈, 헤더 행 포함 여부와 UTF-8 BOM 추가 여부를 정합니다
- "열 정의"에서 열을 하나씩 추가합니다. 열 이름, 데이터 유형을 입력하고 필요에 따라 매개변수(숫자 범위, 날짜 구간 등)를 채웁니다
- "미리보기 생성"으로 처음 10행을 확인한 뒤 ".csv 내보내기"로 파일을 다운로드하거나 "CSV 복사"로 텍스트를 바로 복사합니다
팁
- 열거형은 값을 쉼표로 구분해 지정하며, 성별, 상태, 등급 같은 고정값 생성에 적합합니다
- 정규식 유형은 사용자 정의 패턴으로 문자열을 생성해 기본 제공 유형이 없는 경우를 채워줍니다
- 데이터에 쉼표가 포함된 경우 세미콜론이나 탭을 구분자로 쓰면 필드가 깨지는 것을 막을 수 있습니다
- Windows에서 Excel로 CSV를 열 때 UTF-8 BOM을 켜두면 한자 등 비 ASCII 문자가 올바르게 보입니다
- "CSV 복사"를 쓰면 파일로 저장하지 않고도 생성된 데이터를 스프레드시트나 편집기에 바로 붙여넣을 수 있습니다
활용 사례
기술 원리
이 도구의 핵심은 열 유형별로 분기하는 데이터 생성기 세트입니다. 각 열은 하나의 유형에 묶여 있고, 생성 시 모든 행을 순회하며 대응하는 생성 함수를 호출해 2차원 배열을 만듭니다. 유형은 두 그룹으로 나뉩니다. 첫째는 현지화 더미 데이터로, @faker-js/faker의 다국어 locale 모듈을 이용해 선택한 데이터 언어에 맞춰 해당 지역의 이름, 회사, 도시, 전화 생성 메서드를 호출합니다. 그래서 일본어는 일본 이름을, 한국어는 한국 주소를 만듭니다. 둘째는 서식 데이터로, 숫자, 날짜, 금액, UUID, IP, 주민번호 등을 도구 자체의 순수 함수로 생성하며, 중국 주민번호는 GB 11643 규격에 따라 18자리 검증 번호를 계산합니다. 스프레드시트 형식과 달리 CSV에는 셀 유형이 없고 모든 값이 단순 텍스트입니다. 그래서 생성된 각 값은 읽기 쉬운 문자열로 직렬화됩니다——날짜는 ISO 문자열(yyyy-mm-dd), 금액은 통화 기호 포함, 참거짓은 true/false로——그 다음 RFC 4180에 따라 파일을 조립합니다. 구분자, 큰따옴표, 줄바꿈을 포함한 필드는 큰따옴표로 감싸고, 내부의 큰따옴표는 두 번 반복해 이스케이프합니다. 구분자는 쉼표, 세미콜론, 탭, 파이프 중에서, 줄바꿈은 CRLF 또는 LF 중에서 바꿀 수 있고, Excel이 인코딩을 올바르게 인식하도록 UTF-8 BOM을 맨 앞에 추가할 수도 있습니다. 선택한 언어에 해당하는 faker locale 모듈은 동적으로 불러오고, 10개 언어를 모두 페이지에 묶지 않으며 현재 필요한 한 개만 가져옵니다. 생성과 내보내기는 모두 브라우저에서 로컬로 이루어지고 아무것도 업로드하지 않습니다. 난수 원천은 브라우저 내장 의사난수 생성기로, 한 번 실행 안에서는 중복되지 않지만 재현할 수는 없습니다. 재현 가능한 데이터가 필요하면 난수 시드를 고정할 수 있습니다(향후 버전 지원). 5만 행이라는 상한은 메모리 사용량과 내보내기 시간의 균형점이며, 테스트와 데모 필요의 대부분을 충족합니다.
- 열 유형으로 분기: 현지화 데이터는 faker locale, 서식 데이터는 자체 순수 함수
- faker locale을 동적으로 불러와 현재 언어만 가져와 번들 크기를 제어
- CSV는 RFC 4180을 따름: 구분자, 따옴표, 줄바꿈이 들어간 필드는 따옴표로 감싸고 내부 따옴표는 두 번 반복
- UTF-8 BOM을 선택해 추가하면 Excel에서 비 ASCII 문자가 깨지지 않게 열립니다
- 모두 브라우저에서 로컬로 처리해 데이터가 기기를 떠나지 않고 개인정보를 보호
예시
사용자 표 예시
열 정의:
ID -> 자동 번호(시작 1, 간격 1)
이름 -> 이름
이메일 -> 이메일
전화번호 -> 전화번호
가입 시간 -> 날짜/시간
구분자: 쉼표, 헤더: 포함, BOM: 포함
행 수: 1000
출력: users.csv(1000행)주문 금액 예시(세미콜론 구분자)
열 정의:
주문ID -> UUID
금액 -> 금액(최소 10, 최대 9999, 소수 2자리)
할인 -> 퍼센트(최소 0, 최대 50)
상태 -> 열거형(대기, 결제완료, 배송중, 완료)
구분자: 세미콜론(금액에 쉼표가 없지만, 세미콜론은 locale 혼란을 피합니다)
출력: orders.csv — Excel에서 열거나 데이터베이스에 바로 가져갈 수 있습니다.자주 묻는 질문
생성된 데이터가 서버로 전송되나요?
아닙니다. 모든 데이터는 브라우저에서 로컬로 생성·조립되며, 열 정의나 생성 결과, 내보낸 CSV 파일이 어떤 서버로도 전송되지 않습니다. 보안이 중요한 테이블 스키마와 필드 구성에도 안심하고 사용할 수 있습니다.
최대 몇 행까지 생성할 수 있나요?
한 번에 최대 50000행입니다. 브라우저 메모리와 CSV 조립 시간의 균형점으로, 테스트·데모·데이터베이스 가져오기 시나리오 대부분을 커버합니다. 더 큰 데이터가 필요하면 여러 번에 나누어 생성하거나 데이터베이스 스크립트를 사용하세요.
이름, 회사에 "데이터 언어"를 선택하는 이유는?
이름, 회사, 도시, 전화 같은 필드는 지역성이 강합니다. 데이터 언어를 선택하면 해당 언어권의 실제 관행에 맞게 생성됩니다. 예를 들어 일본어는 일본 이름을, 한국어는 한국 회사명을 만들어내어 CSV 테스트 데이터가 실제 업무에 가까워집니다.
CSV에서 숫자와 날짜가 단순 텍스트인 이유는?
CSV는 셀 유형이 없는 순수 텍스트 형식이라 모든 값이 문자열로 저장됩니다. 숫자, 금액, 날짜 등은 읽기 쉬운 텍스트로 직렬화됩니다. Excel이 계산할 수 있는 네이티브 셀 유형이 필요하면 Excel 데이터 생성기를 사용하세요.
UTF-8 BOM은 언제 켜야 하나요?
Windows에서 Excel로 CSV를 열 때, 특히 한자 등 비 ASCII 문자가 들어 있으면 켜두는 것이 좋습니다. BOM이 Excel에 파일이 UTF-8임을 알려 깨짐을 막아줍니다. 대부분의 데이터베이스와 프로그래밍 도구는 BOM 없이도 UTF-8을 잘 처리하므로 그런 용도에서는 끄셔도 됩니다.
구분자는 무엇을 선택해야 하나요?
쉼표가 기본값이자 가장 호환성이 좋습니다. 데이터 자체에 쉼표가 들어 있으면(예: 자유 형식 주소) 세미콜론, 탭, 파이프로 바꿔 필드가 잘리는 것을 막으세요. 일부 유럽 locale에서는 소수점에 쉼표를 쓰기 때문에 세미콜론을 구분자로 쓰는 것이 관례입니다.
기본 제공 유형이 없는 형식은 어떻게 생성하나요?
"정규식" 유형으로 사용자 정의 패턴에서 문자열을 생성하세요. 예를 들어 [A-Z]{3}\d{4}는 대문자 3자리와 숫자 4자리로 된 코드를 만들어 기본 제공 유형이 없는 경우를 유연하게 채웁니다.