본문으로 건너뛰기

JSON을 TypeScript로

JSON 샘플을 브라우저에서 TypeScript interface와 type alias로 변환합니다. 선택적 필드, union/null/Date 추론, 루트 타입 이름, .ts 출력 복사/다운로드를 지원합니다.

JSON

문자

0 / 50,000

TypeScript

JSON을 TypeScript로

빠른 시작

1
유효한 JSON 샘플을 왼쪽 편집기에 붙여넣습니다.
2
필요하면 ApiResponse 같은 루트 타입 이름을 설정합니다.
3
오른쪽 TypeScript를 확인합니다. 객체는 interface, 배열과 원시값은 type alias가 됩니다.
4
생성된 .ts를 복사하거나 다운로드합니다. 입력 쪽에서는 JSON 샘플도 처리합니다.

자주 쓰는 활용 사례

실제 API 응답을 프론트엔드 페이지, SDK 클라이언트, 통합 테스트에 바로 쓸 수 있는 TypeScript 타입으로 빠르게 정리합니다.

API 계약을 확정하기 전에 JSON 샘플로 선택적 필드, null, union 타입 추론 결과를 확인합니다.

mock JSON 데이터를 fixture, Storybook 스토리, 프로토타입용 타입 정의로 빠르게 변환합니다.

백엔드 payload 형태가 바뀔 때 최신 JSON 샘플로 User, Meta 같은 중첩 선언을 업데이트해야 하는지 확인합니다.

활용 팁

대표적인 JSON 샘플을 사용하세요. 이 도구는 샘플 기반으로 추론하므로 샘플에 없는 필드나 값은 출력에 나타나지 않습니다.
빈 배열은 unknown[]가 되고, 빈 객체는 더 풍부한 샘플을 제공할 때까지 Record<string, unknown>를 확장하는 interface가 됩니다.
중첩 선언 이름은 속성 이름에서 정규화되므로, 최신 출력은 예전의 루트 접두사 형태보다 User나 Meta 같은 이름을 더 자주 사용합니다.
생성은 유효한 JSON 에서만 동작합니다. 먼저 구문 오류를 수정하세요. 파싱이 실패하면 편집기가 줄과 열 정보를 보여줍니다.
유효한 사용자 지정 루트 이름은 그대로 유지되고, 유효하지 않은 이름은 합법적인 PascalCase TypeScript 식별자로 정규화됩니다.

타입 추론 경계

생성기는 현재 샘플에서만 추론합니다. JSON Schema, OpenAPI, GraphQL, 파일, URL, JSON Lines, 배치 샘플은 읽지 않습니다.
배열은 관찰된 항목 모양을 병합합니다. 일부 항목에서 누락된 필드는 선택 사항이 되고 null 또는 혼합 값은 공용체가 됩니다.
날짜처럼 보이는 문자열은 Date로 추론될 수 있지만, 코드가 직접 파싱하지 않는 한 런타임 JSON 값은 여전히 string입니다.
객체 루트는 interface를 생성합니다. 배열 루트와 원시값 루트는 type alias를 생성합니다. 빈 배열은 unknown[], 빈 객체는 Record<string, unknown>을 확장합니다.
루트 타입 이름의 기본값은 Root입니다. 유효한 사용자 지정 이름은 보존되고, 잘못된 이름과 예약어는 PascalCase로 정규화됩니다.
출력은 정적 TypeScript 선언뿐입니다. 런타임 validator, parser, serializer, Zod/Yup/io-ts schema, API client는 생성하지 않습니다.

제한 사항 및 호환성

이 도구는 공식 schema나 계약의 진실 원천이 아니라 샘플 데이터에서 타입을 추론합니다. 샘플에 없는 필드는 추측할 수 없습니다.
입력은 엄격한 JSON이어야 합니다. 주석, trailing comma, 기타 JavaScript 전용 문법은 허용되지 않습니다.
생성된 TypeScript 코드에는 export 선언이 포함되지 않습니다. .ts 파일 다운로드와 프로젝트에 필요한 export 키워드 추가는 별개입니다.
결과는 정적 TypeScript 코드뿐입니다. 런타임 유효성 검사기, 파서, 직렬 변환기, Zod 스키마 또는 API 클라이언트를 생성하지 않습니다.

개인정보 보호 및 보안

JSON to TypeScript는 브라우저에서 로컬로 실행됩니다. JSON 입력은 브라우저 초안으로 남을 수 있습니다. 저장된 작업공간 또는 WebDAV 동기화를 켜면 JSON 입력, 루트 타입 이름, 입력/출력 줄 번호 기본 설정, 줄바꿈 기본 설정이 그 동기화를 통해 저장될 수 있습니다. 생성된 TypeScript, 검증 오류, 줄/열 강조, 복사 상태, 실행 취소 기록은 현재 입력에서 파생되며 별도 결과 데이터로 저장되지 않습니다. 입력 JSON 다운로드와 .ts 출력 다운로드는 Download를 클릭할 때만 생성됩니다. 이 도구는 파일을 업로드하거나 첨부 파일을 만들지 않습니다.

자주 묻는 질문

6

다음 작업에 도움이 되는 관련 도구입니다.

모든 도구 처리는 브라우저 안에서 로컬로 이루어집니다.