JSON to TypeScript 변환기
온라인 JSON to TypeScript 변환기. 붙여넣으면 즉시 interface 또는 type이 생성됩니다. 100% 웹 브라우저에서 처리, 데이터 전송 없음. 무료, 가입 불필요.
옵션
타입이 지정된 API를 매일 다루는 개발자들이 만들고 검토했습니다.
JSON to TypeScript 변환이란 무엇인가요?
JSON to TypeScript 변환은 JSON 값을 읽어 그에 맞는 TypeScript interface 또는 type 정의를 생성합니다 — API 응답과 설정 파일을 위해 손으로 쓰던 보일러플레이트를 없애 줍니다. 페이로드를 붙여넣으면 몇 초 만에 프로덕션에 바로 쓸 수 있는 타입을 얻으며, 중첩 객체, 배열, 선택적 필드까지 완전히 타입이 지정됩니다.
예시
API 응답
{"id":101,"name":"Ada Lovelace","email":"ada@example.com","active":true,"roles":["admin","user"]} 일반적인 REST API 사용자 페이로드를 클라이언트에 바로 넣을 수 있는 타입이 지정된 interface로 변환합니다.
중첩 객체
{"order":{"id":"A-1","total":42.5,"customer":{"name":"Sam","vip":false}}} 중첩 객체는 필드에서 참조되는 별도의 명명된 interface(Order, Customer)가 됩니다.
객체 배열(선택적 필드)
{"users":[{"id":1,"nick":"x"},{"id":2}]} 일부 배열 항목에 없는 키는 선택적(nick?: string)으로 추론됩니다.
혼합 및 null 값
{"tags":["a","b"],"score":null,"meta":[1,"two"]} null 값과 혼합 배열은 있는 그대로 정직하게 타입이 지정됩니다(null, (string | number)[]).
GitHub 스타일 페이로드
{"login":"octocat","id":1,"public_repos":2,"plan":{"name":"pro","private_repos":50}} snake_case 키는 그대로 유지되며, 중첩된 plan은 자체 interface가 됩니다.
JSON을 TypeScript로 변환하는 방법
- 1
JSON 붙여넣기
JSON 객체, 배열 또는 API 응답을 입력 상자에 넣으세요. 변환이 즉시 시작됩니다.
- 2
출력 조정
interface 또는 type을 선택하고, 루트 이름을 설정하고, export를 토글하고, 선택적 필드에 ?: 또는 | null을 선택하세요.
- 3
복사 또는 다운로드
생성된 TypeScript를 한 번의 클릭으로 가져와 코드베이스에 바로 붙여넣으세요.
변환이 작동하는 방식
- 구조적 추론
- 각 객체는 명명된 interface가 되며, 동일한 형태는 중복 제거되어 복사본이 아닌 하나의 타입을 얻습니다.
- 배열 병합
- 객체 배열은 키 단위로 병합되며, 일부 항목에 없는 키는 선택적으로 표시됩니다.
- 100% 클라이언트 측
- 파싱과 생성이 네트워크 호출 없이 브라우저에서 실행되므로 데이터가 비공개로 유지됩니다.
깔끔한 TypeScript 타입을 위한 팁
- 루트 타입 이름 짓기
- 읽기 쉬운 코드를 위해 기본값 Root 대신 의미 있는 루트 이름(예: User, ApiResponse)을 설정하세요.
- 데이터가 희소할 때는 null보다 선택적을 선호
- 없을 수도 있는 필드에는 ?:를 사용하고, API가 명시적으로 null을 반환할 때만 | null을 사용하세요.
자주 묻는 질문
JSON을 TypeScript interface로 어떻게 변환하나요?
JSON 데이터에는 type과 interface 중 무엇을 사용해야 하나요?
interface는 객체 형태에 대한 관례이며 에디터 오류 메시지가 약간 더 좋습니다. type은 유니온과 인터섹션에 편리합니다. Output 토글로 둘 사이를 전환하고 코드베이스가 선호하는 쪽을 유지하세요. 중첩 객체와 배열은 어떻게 처리되나요?
address 필드는 Address interface를 생성). 객체 배열은 하나의 요소 interface로 병합되고, 원시 배열은 string[] 같은 타입이 지정된 배열이 됩니다. 선택적 필드와 null 필드는 어떻게 처리되나요?
?:(선택적) 또는 | null(명시적 nullable)을 선택하세요. 리터럴 null 값은 null로 타입이 지정됩니다. VSCode에서 JSON으로부터 TypeScript 타입을 자동으로 생성하려면 어떻게 하나요?
제 JSON 데이터는 비공개이고 안전한가요?
이 도구는 무료인가요? 계정이 필요한가요?
날짜나 enum을 감지할 수 있나요?
string으로 유지됩니다(추측하는 것보다 안전함). 문자열 값은 리터럴 유니온이 아닌 string으로 타입이 지정되므로 데이터가 바뀌어도 출력이 안정적으로 유지됩니다. 관련 도구
모든 도구 보기 →Base64 디코더 · 인코더 (Base64 Decoder & Encoder)
인코딩 & 포매팅
Base64를 온라인에서 무료로 인코딩하고 디코딩합니다. UTF-8과 이모지를 완벽 지원하는 실시간 변환으로, 100% 브라우저에서 처리되어 회원 가입이 필요 없습니다.
Base64 이미지 변환기 (온라인)
인코딩 & 포매팅
Base64 문자열이나 데이터 URI를 온라인 브라우저에서 이미지로 디코딩합니다. 미리보고, 치수와 MIME을 읽은 뒤 PNG, JPG, GIF, SVG로 다운로드하세요. 업로드 없음.
CSV to JSON 변환기 (CSV to JSON Converter)
인코딩 & 포매팅
브라우저에서 CSV를 JSON으로 변환합니다. RFC 4180, 타입 추론, 헤더 행, 큰 정수 안전 처리. 100% 비공개, 업로드 없음.
.env을 JSON으로 변환하는 도구
인코딩 & 포매팅
.env 파일을 붙여넣으면 즉시 JSON으로 변환됩니다. 데이터베이스 비밀번호, API 키, 토큰이 브라우저를 절대 벗어나지 않는 100% 비공개 무료 온라인 dotenv 파서입니다.
무료 HTML 엔티티 디코더 — HTML 언이스케이프
인코딩 & 포매팅
온라인에서 HTML 엔티티를 디코딩하고 HTML을 언이스케이프하세요. 무료, 가입 불필요, 100% 브라우저에서 처리. 이름·10진수·16진수 참조를 문자로 되돌리며 업로드 없음.
무료 HTML 엔티티 인코더 — HTML 이스케이프
인코딩 & 포매팅
온라인에서 HTML 엔티티를 인코딩하고 특수문자(< > & " ')를 이스케이프하세요. 무료, 100% 브라우저에서 처리. 이름·10진수·16진수 출력, 업로드 없음.