TS

JSON to TypeScript 타입 변환기

API 응답 JSON을 TypeScript interface 또는 type 정의로 변환합니다.

JSON 입력

브라우저 내부 변환

최대 1 MiB · 중첩 60단계 · 샘플에 없는 필드는 추론하지 못합니다.

❤️ 이 무료 툴이 프로젝트에 도움이 되셨나요?

아래 추천 상품을 한 번 둘러봐 주시는 것만으로도 사이트 유지에 아주 큰 힘이 됩니다!

이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

TypeScript 출력

대기 중
JSON을 입력하고 변환을 누르세요.

JSON 응답을 TypeScript 타입으로 빠르게 바꾸세요

API 연동을 할 때 응답 JSON 구조를 TypeScript interface로 옮기는 작업은 반복적입니다. 이 도구는 JSON 객체와 배열을 분석해 중첩 객체, 배열, null 값을 포함한 타입 정의를 생성합니다.

활용 팁

샘플 여러 개로 타입의 누락을 줄이기

중첩 배열도 함께 분석합니다

[{"id":1,"profile":{"name":"민수"}},{"id":"guest","profile":{"name":"지수","age":20}}]에서 id는 number | string, profile.age는 누락된 샘플이 있으므로 기본 옵션에서 age?: number가 됩니다. 첫 번째 항목만 사용하는 대신 모든 샘플의 키와 자료형을 함께 봅니다.

배열 전체와 항목 타입을 구분하세요

루트가 배열이면 RootObject는 배열 타입 별칭으로 생성되고 객체 항목은 별도 정의로 생성됩니다. 객체·문자열·null이 섞인 배열도 각 종류를 보존합니다. 빈 배열은 항목 정보가 없으므로 unknown[]입니다. 실제로 빈 배열만 허용하는 튜플 []라는 뜻이 아닙니다.

optional, null, readonly의 의미

생성 후 확인할 것

  1. 상태값처럼 정해진 문자열 집합은 string을 프로젝트의 리터럴 유니언으로 좁히세요.
  2. 날짜와 UUID는 JSON 문자열이므로 자동으로 Date나 전용 타입이 되지 않습니다.
  3. API 문서로 필수 필드·null 가능성·오류 응답을 확인하고 프로젝트의 TypeScript 컴파일러로 검증하세요. 생성 타입은 런타임 검증기가 아닙니다.

타입 이름의 공백·기호는 제거하고 숫자로 시작하면 Type을 앞에 붙입니다. 같은 이름으로 정규화되는 중첩 구조에는 숫자 접미사를 붙여 충돌을 피합니다. interface 모드에서도 배열·원시값·유니언 루트는 type 별칭을 사용합니다.

데이터 처리와 문의

이 도구의 변환 코드는 입력·결과를 현재 탭에서 처리하며 서버로 보내거나 자동 저장하지 않습니다. 다운로드는 기기에 파일을 만들고, 복사는 클립보드에 기록합니다. 광고와 외부 라이브러리 요청에는 IP 주소·브라우저 정보가 전달될 수 있습니다. 실제 비밀번호·인증 토큰·고객 정보 대신 비식별 예제를 사용하세요.

오류 제보는 GitHub 문의 게시판(계정 필요)에 브라우저, 옵션, 민감한 값을 지운 재현 예제를 남겨 주세요. DevTool Hub · Google 외부 서비스 안내