샘플 CSV(더미 데이터) 생성 도구

열 이름과 유형(순번 ID, 성명, 이메일, 날짜, 숫자 등)만 지정하면 테스트·QA용 더미 CSV 데이터를 즉시 생성하고 다운로드할 수 있습니다.

지원하는 데이터 유형

유형 생성 예시
순번 ID 1, 2, 3, ... 또는 USR-0001과 같은 접두사가 붙은 순번
성명 Taro Yamada, Emma Smith처럼 일본식과 서양식이 섞인 가상의 이름
이메일 주소 [email protected](생성된 이름을 바탕으로 자동 생성)
전화번호 090-1234-5678과 같은 일본 휴대전화 번호 형식
날짜 지정한 기간 내의 무작위 날짜(YYYY-MM-DD 형식)
정수 지정한 최소~최대 범위 내의 무작위 정수
소수(금액 등) 지정한 최소~최대 범위 내의 무작위 소수(소수점 이하 2자리)
불리언(참/거짓) true/false(레이블은 자유롭게 변경 가능)
자유 텍스트 "Lorem ipsum dolor sit amet."와 같은 단어 나열

샘플 CSV(더미 데이터) 생성

개발과 테스트에는 **그럴듯한 모양을 한 데이터**가 손에 있어야 합니다. 운영 데이터를 그대로 쓰는 것은 개인정보의 관점에서 피해야 하고, 손으로 열 줄 쓰는 것만도 고된 일입니다. 이 도구는 열 이름과 데이터 형을 지정하기만 하면 테스트·QA용 더미 CSV를 그 자리에서 생성해 내려받을 수 있게 합니다.

**형을 지정할 수 있다는 것이 이 도구의 요체입니다.** 모두 같은 문자열로 채운 데이터로는 정렬이나 검색의 테스트가 되지 않습니다. 일련번호 ID·이름·메일 주소·날짜·숫자 같은 형을 열마다 고를 수 있어, **실제 데이터에 가까운 분포를 가진 파일**을 만들 수 있습니다. 생성은 모두 브라우저 안에서 완결되며 서버로는 아무것도 전송되지 않습니다. 또한 생성되는 이름이나 메일 주소는 가공의 것으로 실재하는 인물과는 무관합니다.

더미 CSV를 생성하는 순서

  1. 열을 정의합니다 열 이름과 데이터 형의 짝을 필요한 수만큼 추가합니다.
  2. 데이터 형을 고릅니다 일련번호 ID·이름·메일·날짜·숫자 등에서 고릅니다. **열마다 다른 형을 지정할 수 있습니다.**
  3. 옵션을 설정합니다 형에 따라서는 범위나 서식을 세세하게 지정할 수 있습니다.
  4. 행 수를 지정합니다 필요한 건수를 넣어 주세요.
  5. 내려받습니다 생성된 CSV를 그대로 테스트 데이터로 쓸 수 있습니다.

더 잘 활용하기 위한 팁

  • 시드 입력란에 임의의 숫자를 입력하면 동일한 열 정의로부터 몇 번이든 같은 더미 데이터를 재현할 수 있습니다. 버그 리포트나 자동화 테스트의 fixture를 공유할 때 편리합니다.
  • 생성되는 CSV는 RFC 4180을 준수하며, 쉼표·줄바꿈·큰따옴표가 포함된 값도 올바르게 따옴표 처리 및 이스케이프됩니다.
  • 이메일 열은 같은 행에서 이메일 열보다 앞에 배치된 성명 열의 값을 바탕으로 자동 생성됩니다. 두 열을 함께 사용하면 서로 일관된 데이터가 만들어집니다.
  • 모든 생성 과정은 브라우저 내에서 완결되며 서버로는 전혀 전송되지 않습니다. 실제 개인정보를 전혀 포함하지 않는 완전한 가상 데이터입니다.
  • 행 수는 최대 10,000행까지 지정할 수 있습니다. 한 번에 대량으로 생성하면 브라우저가 느려질 수 있으므로, 먼저 적은 행 수로 열 정의를 확인한 뒤 늘리는 것을 권장합니다.

이럴 때 쓸 수 있습니다

가져오기 기능을 테스트할 때

**운영 데이터를 쓰지 않아도 되므로** 개인정보를 다루는 위험을 피할 수 있습니다.

화면이 깨지지 않는지 확인할 때

긴 이름이나 특수 문자를 포함한 데이터로 레이아웃이 무너지지 않는지 볼 수 있습니다.

성능을 잴 때

행 수를 늘려 생성하면 대량 데이터에서의 처리 시간을 잴 수 있습니다.

데모 환경을 마련할 때

상담이나 리뷰에서 보여 줄 화면에 그럴듯한 데이터를 넣어 둘 수 있습니다.

테스트 데이터 용어

더미 데이터
실재하지 않는, 테스트를 위해 만들어진 데이터입니다. **가공의 값이며 실재하는 인물과는 무관합니다.**
CSV
쉼표로 구분된 텍스트 형식입니다. 많은 스프레드시트와 데이터베이스가 읽어 들일 수 있습니다.
일련번호 ID
1부터 차례로 늘어나는 정수입니다. 기본 키 대신으로 자주 쓰입니다.
경곗값
최대 길이·최솟값 등 결함이 나기 쉬운 값입니다. **더미 데이터뿐 아니라 이것들도 따로 마련해 주세요.**
마스킹
운영 데이터의 일부를 가려서 쓰는 기법입니다. 더미 데이터 생성과는 다른 선택지가 됩니다.
문자 인코딩
CSV에서는 UTF-8과 Shift_JIS를 혼동하는 것이 글자 깨짐의 주된 원인이 됩니다.

자주 묻는 질문

아니요, 전혀 관련이 없습니다. 성명·이메일 주소·전화번호는 모두 테스트용으로 준비한 이름 목록과 더미 도메인·형식을 기계적으로 조합해 생성한 가상의 데이터이며, 실제 개인정보와는 무관합니다.

브라우저가 멈추지 않도록 한 번의 생성에 최대 10,000행까지 제한하고 있습니다. 그 이상이 필요하다면 시드를 고정한 뒤 여러 번에 나누어 생성하고 결과 파일을 합쳐서 사용해 주세요.

시드는 의사난수 생성기의 출발점이 되는 숫자입니다. 같은 시드와 같은 열 정의를 사용하면 항상 같은 순서로 같은 더미 데이터가 생성됩니다. 버그 재현 절차를 공유하거나 테스트 코드에서 기대값과 비교할 때처럼, 무작위이면서도 재현 가능한 데이터가 필요한 상황에 유용합니다.

이름 중 일부는 Taro, Hanako처럼 일본어를 로마자로 표기한 이름을 사용하지만, 현재 한자나 히라가나로 된 이름 생성이나 후리가나는 지원하지 않습니다. 다만 열 이름과 불리언 레이블은 한국어를 포함해 자유롭게 텍스트를 입력할 수 있습니다.

다운로드되는 CSV는 UTF-8로 인코딩되어 있습니다. 엑셀에서 직접 열면 환경에 따라 글자가 깨질 수 있으므로, 엑셀의 "데이터" 탭에서 "텍스트/CSV에서" 가져오기를 선택하고 파일 인코딩을 UTF-8로 명시적으로 지정하는 것을 권장합니다.
툴군

여담 ― 테스트에 왜 "시드가 있는" 더미 데이터가 필요할까

소프트웨어 개발 현장에서는 실제 데이터 대신 더미 데이터로 테스트하는 것이 널리 쓰이는 관행입니다. 이유는 크게 두 가지로, 하나는 개인정보 보호(실제 고객 데이터를 개발·테스트 환경에 두는 위험을 피하는 것)이고, 다른 하나는 경계값이나 예외 상황을 의도적으로 포함한 데이터를 자유롭게 준비할 수 있다는 점입니다. Ruby의 Faker, Python의 Faker, JavaScript의 @faker-js/faker와 같은 라이브러리가 널리 쓰이는 이유가 바로 여기에 있습니다.

반면 완전히 무작위인 더미 데이터에는 "재현성이 없다"는 약점이 있습니다. 어떤 테스트가 간헐적으로 실패했을 때, 원인이 로직의 버그인지 아니면 "우연히 생성된 특이한 값" 때문인지 구분하기 어려워집니다. 이 문제를 해결하는 것이 바로 "시드가 있는 의사난수 생성기(seeded PRNG)"입니다. 같은 시드 값을 지정하면 몇 번을 실행해도 정확히 같은 숫자열, 즉 같은 더미 데이터를 얻을 수 있어 버그 재현과 테스트 결과 검증이 훨씬 쉬워집니다.

이 도구가 채택한 mulberry32는 비교적 단순한 계산량으로도 품질 좋은 의사난수열을 생성할 수 있는 알고리즘으로, JavaScript를 중심으로 가벼운 용도에 널리 쓰입니다. 암호 용도에는 적합하지 않지만, 테스트 데이터 생성처럼 "결정적이면서도 빠른" 것이 중요한 상황에는 잘 맞습니다.