도구로 바로 가기
ViewCSV
파일을 업로드하지 않습니다

CSV를 TSV로 변환

orders.csv· 예시 데이터15행 · 8열
= + - @로 시작하는 값 앞에 '를 붙여 스프레드시트 앱에서 텍스트로 보이게 합니다. -12.5 같은 일반 숫자는 바뀌지 않습니다.
order_id	customer	city	product	quantity	unit_price	order_date	status
001041	주원 이	수원	USB-C cable	4	242.94	2026-01-11	refunded
001042	지아 최	인천	Coffee beans 1kg	5	137.62	2026-02-06	pending
001043	도윤 정	서울	USB-C cable	4	230.94	2026-03-13	pending
001044	하은 최	울산	Chair, ergonomic	8	173.96	2026-04-25	pending
001045	민준 이	부산	Chair, ergonomic	1		2026-05-25	pending
001046	하윤 강	울산	Coffee beans 1kg	2	184.56	2026-06-26	shipped
001047	" 지아 김 "	광주	Coffee beans 1kg	2	216.67	2026-07-26	paid
001048	하은 김	대구	Chair, ergonomic	9	53.02	2026-08-27	pending
001049	예준 오	인천	Notebook A5	3	99.60	2026-09-20	paid
001050	지아 윤	부산	"Monitor 27"""	4	161.71	2026-01-24	pending
001051	하은 정	대구	Notebook A5	9	142.69	2026-02-20	paid
001052	지우 한	울산	USB-C cable	1	231.30	2026-03-12	refunded
001053	도윤 박	수원	Notebook A5	8	244.37	2026-04-20	paid
001054	민준 김	광주	Chair, ergonomic	7	62.98	2026-05-05	refunded
001043	도윤 정	서울	USB-C cable	4	230.94	2026-03-13	pending

15행 · 파일 1개

CSV 파일을 열거나 붙여넣으면 미리 보기에 TSV가 나타나고, TSV 다운로드로 .tsv 파일을 저장합니다. TSV에서는 값 안의 쉼표에 따옴표가 필요 없으므로 대부분의 행은 그냥 탭으로 구분된 텍스트가 됩니다. 정말 정해야 할 것은 값 안의 탭과 줄 바꿈을 어떻게 쓸지 하나뿐입니다. Excel과 pandas용이라면 따옴표로 감싸고, PostgreSQL용이라면 백슬래시로 이스케이프하고, 엄격한 TSV 리더용이라면 공백으로 바꾸세요. 파일은 업로드되지 않고 브라우저 안에서 변환됩니다.

CSV를 TSV로 변환하는 방법

  1. .csv, .tsv, .txt 파일을 열거나 도구 위에 끌어다 놓거나 행을 붙여넣으세요. 구분 기호는 자동으로 감지됩니다. 필요하면 가져오기 설정에서 구분 기호나 EUC-KR(CP949), Windows-1252 같은 레거시 인코딩을 지정하세요.
  2. 값 안의 탭과 줄 바꿈에서 TSV를 읽을 프로그램이 기대하는 방식을 고르세요. 그런 다음 줄 바꿈 문자와 머리글 행 포함을 정하세요.
  3. 출력 인코딩을 고르고 TSV 다운로드를 누르거나 텍스트를 복사하세요.

같은 설정으로 여러 CSV 파일을 변환하려면 일괄 변환: 여러 파일 변환을 고르세요. 각 파일은 구분 기호를 자동 감지하고 첫 행을 머리글로 읽으며, 결과는 ZIP 하나로 함께 다운로드됩니다.

옵션별 동작

값을 따옴표로 감싸기(Excel, pandas)기본값입니다. 탭, 줄 바꿈, 큰따옴표가 들어 있거나 앞뒤에 공백이 있는 값을 큰따옴표로 감싸고, 안쪽 따옴표는 두 번 겹쳐 씁니다. 구분 기호가 탭인 CSV와 같은 규칙입니다. 그 밖의 값은 따옴표 없이 씁니다.
백슬래시 이스케이프 \t \n(PostgreSQL)따옴표를 전혀 쓰지 않습니다. 탭은 \t, 줄 바꿈(LF)은 \n, 캐리지 리턴은 \r, 백슬래시는 \\가 되어 모든 레코드가 한 줄에 남습니다. PostgreSQL COPY가 읽는 텍스트 형식이며, 큰따옴표는 일반 문자로 씁니다.
공백으로 바꾸기(엄격한 TSV)값 안의 탭, 줄 바꿈, CRLF 쌍을 각각 공백 하나로 바꿔, 필드 안에 탭이 없어야 한다는 IANA 규칙을 지킵니다. 백슬래시와 따옴표는 그대로 둡니다. 데이터가 바뀌는 방식이므로 영향을 받은 값의 개수를 알려 줍니다.
줄 바꿈 문자마지막 레코드를 포함해 모든 레코드 뒤에 Windows(CRLF)(기본값) 또는 Unix/macOS(LF)를 씁니다.
머리글 행 포함기존 표에 이어 붙일 때처럼 데이터 행만 쓰려면 끄세요.
스프레드시트 수식 실행 방지기본으로 켜져 있습니다. =, +, -, @, 탭, 캐리지 리턴으로 시작하는 값 앞에 '를 붙여 스프레드시트가 텍스트로 표시하게 합니다. -12.5 같은 일반 숫자는 바꾸지 않습니다. TSV를 데이터베이스나 스크립트에 넣어 값을 정확히 유지해야 한다면 끄세요.
출력 인코딩UTF-8, UTF-8 BOM 포함(Excel용), UTF-16 LE(BOM 포함), Windows-1252 중에서 고릅니다. Windows-1252는 저장할 수 없는 문자가 있으면 그 문자를 알려 주며 멈춥니다.

까다로운 데이터의 처리 방식

  • CSV에서 따옴표로 감싼 쉼표는 TSV에서는 아무 처리도 필요 없습니다. "Desk lamp, brass"는 Desk lamp, brass가 됩니다.
  • 여러 줄 셀은 값 하나로 남습니다. 따옴표 방식에서는 따옴표 안에서 여러 줄에 걸치고, 이스케이프 방식에서는 Ships in 2 boxes\nfragile처럼 한 줄로 씁니다.
  • 앞자리 0과 긴 ID는 그대로 씁니다. TSV에는 유형이 없으므로 00731은 00731로 남습니다.
  • 이스케이프 방식에서는 C:\temp 같은 Windows 경로를 C:\\temp로 쓰므로, 이스케이프를 해석하는 리더는 원래 값을 돌려받습니다.
  • 머리글보다 값이 많은 행은 Column 4, Column 5… 같은 열이 추가되고, 값이 적은 행은 빈 값으로 채웁니다. 빈 머리글은 Column 3, 중복된 머리글은 name (2)가 됩니다.

문제 해결

  • 불러올 때 행이 중간에서 끊깁니다. 리더가 따옴표 안의 줄 바꿈을 이해하지 못합니다. 이스케이프를 해석하는 리더라면 백슬래시 이스케이프 \t \n(PostgreSQL)을, 그렇지 않다면 공백으로 바꾸기(엄격한 TSV)를 고르세요.
  • 값이 아포스트로피(')로 시작합니다. 스프레드시트 수식 실행 방지가 작동한 결과입니다. 데이터베이스나 스크립트로 가져올 때는 끄세요.
  • 스프레드시트에 백슬래시 코드가 보입니다. 스프레드시트는 백슬래시 이스케이프를 해석하지 않으므로 셀에 \n이나 \t가 그대로 보입니다. Excel이나 LibreOffice에서 열 파일이라면 값을 따옴표로 감싸기(Excel, pandas)를 쓰세요.
  • 모든 값이 한 열에 들어갑니다. 입력 구분 기호를 잘못 추측했습니다. 가져오기 설정에서 지정하고 파일을 다시 여세요.

한도와 대용량 파일

25 MB, 10만 행, 250열, 200만 셀까지의 파일은 실시간 미리 보기와 함께 열립니다. 더 큰 파일은 스트리밍 방식으로 변환합니다. 파일을 조각 단위로 두 번 읽는데, 한 번은 가장 긴 레코드를 찾기 위해, 또 한 번은 쓰기 위해서이며, 다운로드에는 미리 보기와 같은 방식의 출력으로 모든 행이 들어갑니다. 이런 파일에서는 복사를 쓸 수 없고, 출력 하나는 최대 4 GB입니다.

스트리밍 모드에서는 인코딩을 자동으로 판별하고(UTF-8, 또는 BOM으로 시작하면 UTF-16) 첫 행을 머리글로 봅니다.

변환은 이 탭의 백그라운드 워커에서 실행되며 취소로 멈출 수 있습니다. CSV 따옴표 방식을 유지한 채 구분 기호만 바꾸려면 CSV 형식 변경을, 문서에 붙여넣을 표가 필요하면 CSV를 Markdown으로를 사용하세요.

예시

따옴표 안의 쉼표, 두 줄짜리 메모, 수식처럼 보이는 값이 있는 주문 목록을 기본 설정(값을 따옴표로 감싸기(Excel, pandas), 수식 실행 방지 켜짐, LF 줄 바꿈으로 표시)으로 변환한 결과입니다. 백슬래시 이스케이프 \t \n(PostgreSQL)을 고르면 메모는 한 줄짜리 Ships in 2 boxes\nfragile이 되고, 수식 값은 따옴표 없이 씁니다.

CSV
id,product,note
00731,"Desk lamp, brass","Ships in 2 boxes
fragile"
00732,Cable tidy,"=HYPERLINK(""x"")"
TSV 결과
id	product	note
00731	Desk lamp, brass	"Ships in 2 boxes
fragile"
00732	Cable tidy	"'=HYPERLINK(""x"")"

자주 묻는 질문

CSV와 TSV는 무엇이 다른가요?

구분 기호와 그에 따른 관례만 다릅니다. TSV는 필드를 탭으로 구분하므로 값 안의 쉼표에 따옴표가 필요 없습니다. IANA 정의는 필드 안의 탭을 금지하기 때문에, 탭을 어떻게 쓸지는 도구마다 다릅니다.

PostgreSQL COPY에는 어떤 옵션을 골라야 하나요?

백슬래시 이스케이프 \t \n(PostgreSQL)을 고르고 수식 실행 방지는 끄세요. PostgreSQL 텍스트 형식은 기본 구분 기호가 탭이며 \t, \n, \r, \\를 해석합니다. 이 형식의 기본 NULL 표시는 \N이므로 빈 값은 빈 문자열로 들어갑니다. 빈 값을 NULL로 넣으려면 COPY 옵션에 NULL ''을 추가하세요.

TSV를 다시 CSV로 바꿀 수 있나요?

네. CSV 형식 변경에서 TSV를 여세요. 탭 구분 기호가 감지되며, 쉼표나 세미콜론 출력을 고를 수 있습니다. 백슬래시 이스케이프는 해석하지 않고 일반 문자로 읽습니다.

표준 및 참고 자료