it-box

MIME 타입 변환기

MIME 타입과 파일 확장자를 서로 변환합니다.

MIME 타입 변환기 도구 열기

MIME 타입과 파일 확장자를 서로 찾아 봅니다. 타입에 연결된 확장자 목록을 보거나, 확장자에 연결된 MIME 타입을 확인할 수 있습니다.

사용 순서

  1. 첫 번째 카드에서 드롭다운을 열고 application/pdf처럼 MIME 타입을 검색해 고릅니다.
  2. 결과 태그에서 해당 타입의 확장자 목록을 확인합니다.
  3. 두 번째 카드에서 확장자 드롭다운을 열고 html이나 json 같은 확장자를 고릅니다.
  4. 결과 태그에서 MIME 타입을 확인합니다.

예시

application/pdf를 고르면 .pdf가, 확장자 json을 고르면 application/json이 나옵니다. 하지만 .ts를 고르면 video/mp2t가 나오는데, TypeScript가 아니라 MPEG 전송 스트림으로 등록되어 있기 때문입니다.

한계

목록은 mime-types 패키지의 mime-db 데이터를 기반으로 합니다. 최근에 등록된 타입이나 사내 전용 타입은 없을 수 있습니다. 확장자 하나는 타입 하나로만 연결되므로, 여러 타입이 가능한 확장자는 대표값 하나만 보입니다. 결과는 확장자 기준이며 파일 내용을 읽어 판별하지 않습니다.

보안 주의

확장자로 MIME 타입을 정하는 방식은 파일 이름만 바꿔 우회할 수 있습니다. 업로드 검증에 결과를 그대로 쓰지 말고 파일 시그니처를 함께 확인하세요. .ts의 사례처럼 같은 확장자가 전혀 다른 의미일 수도 있습니다.

배경 지식

MIME 타입은 type/subtype 형식으로 콘텐츠 종류를 알리는 이름입니다. HTTP의 Content-Type 헤더, 이메일 첨부, 브라우저의 파일 선택 필터가 모두 이 이름을 씁니다. text/html은 HTML 문서, application/json은 JSON 데이터를 뜻합니다. 파일 확장자는 운영체제가 연결 프로그램을 고르는 데 주로 쓰입니다. 둘은 보통 대응하지만 반드시 묶여 있는 관계는 아닙니다.

웹 서버는 확장자를 보고 MIME 타입을 정하는 표를 갖고 있으며, mime-db 같은 데이터가 그 표를 제공합니다. 같은 확장자가 여러 목적으로 쓰일 때는 표에 있는 대표 타입 하나만 남는데, .ts가 MPEG 전송 스트림으로 등록된 것이 그 예입니다. 이 표를 맹신하면 엉뚱한 Content-Type으로 응답하는 문제가 생기므로, 실제 응답 헤더를 직접 확인하는 습관이 필요합니다.

자주 묻는 질문

한 MIME 타입에 확장자가 여러 개 나오는 이유는 무엇인가요?

image/jpeg처럼 같은 콘텐츠를 여러 확장자로 쓸 수 있기 때문입니다. jpeg와 jpg가 모두 목록에 나오며, 어느 쪽이든 같은 타입으로 처리됩니다. 파일을 저장할 때 어떤 확장자를 쓸지는 팀의 규칙을 따르세요.

확장자가 대문자이면 결과가 달라지나요?

이 도구의 확장자 목록은 소문자 키로 되어 있으므로 .PDF처럼 대문자로 된 이름은 소문자로 바꿔 검색하세요. 실제 웹 서버는 확장자를 대소문자 무시로 비교하는 경우가 많지만, 설정에 따라 다를 수 있습니다.

application/octet-stream은 무엇을 뜻하나요?

내용 형식을 알 수 없는 이진 데이터라는 뜻입니다. 다운로드를 강제할 때 많이 쓰이며, 특정 파일 형식을 나타내지는 않습니다. 원하는 형식을 목록에서 찾지 못했을 때 기본값으로 생각하면 됩니다.