콘텐츠로 건너뛰기

주요 서비스의 업로드 상한 목록

웹 서비스와 클라우드 스토리지별 파일 업로드 상한 크기를 정리했습니다. 개발 시 검증 설계나 경계값 테스트의 참고로 활용하세요.

메일·메시지 서비스

메일과 채팅 서비스에서는 첨부 파일 크기에 제한이 있습니다. Gmail과 Outlook은 25MB 제한이 표준적이지만, 실제로는 Base64 인코딩에 따른 오버헤드가 있어 실질적인 상한은 다소 작아집니다.

서비스 상한 크기 비고 테스트용 파일
Gmail 25MB 25MB를 넘으면 Google Drive 링크로 자동 변환 24.9MB / 25MB / 25.1MB
Outlook 25MB Microsoft 365에서는 최대 150MB(관리자 설정) 24.9MB / 25MB / 25.1MB
LINE 50MB 동영상은 5분까지, 이미지는 전송 시 압축됨 50MB
Discord(무료) 25MB Nitro라면 최대 500MB까지 24.9MB / 25MB / 25.1MB
Discord Nitro 500MB Nitro Basic은 50MB까지 -
Slack 1GB 모든 플랜에서 1GB까지 업로드 가능 -

SNS·미디어 플랫폼

SNS에서는 이미지·동영상 업로드에 형식과 크기 제한이 있습니다. 특히 이미지는 자동으로 리사이즈·압축되는 경우가 많아 원본 파일 크기가 그대로 유지되지는 않습니다.

서비스 상한 크기 비고
Twitter / X(이미지) 5MB(PNG/JPG) GIF는 15MB, 동영상은 512MB(브라우저 경유)
Instagram 8MB(이미지) 동영상 4GB, 릴스 4GB
Facebook 10MB(이미지) 동영상은 10GB

CMS·웹 애플리케이션

WordPress를 비롯한 CMS에서는 PHP 설정과 서버 측 제한에 따라 기본 업로드 상한이 정해집니다. 설정 변경의 자세한 내용은 WordPress 업로드 상한을 변경하는 방법을 참고하세요.

서비스 / CMS 기본 상한 비고 테스트용 파일
WordPress 2MB〜10MB PHP와 서버 설정에 의존. 변경 가능 9.9MB / 10MB / 10.1MB
Shopify 20MB 이미지·동영상·파일 공통 -

클라우드 스토리지·개발 서비스

클라우드 스토리지와 개발자용 서비스는 일반적으로 대용량 업로드에 대응하지만, 단일 요청에서의 크기 상한과 멀티파트 업로드 시의 상한이 다른 경우가 있습니다.

서비스 상한 크기 비고
AWS S3 5GB(단일) / 5TB(멀티파트) 100MB 이상은 멀티파트 권장
Google Drive 5TB 스토리지 플랜의 여유 용량이 필요
Dropbox 2GB(웹) / 50GB(데스크톱 앱) API에서는 350GB까지 대응
GitHub 100MB(파일 단위) Git LFS로 최대 5GB까지 대응. 리포지토리 전체는 5GB 권장
Cloudflare(Free) 100MB Pro 플랜은 500MB, Business는 500MB, Enterprise는 무제한

업로드 상한 테스트 방법

서비스의 업로드 상한을 정확히 테스트하려면 경계값 테스트가 효과적입니다. 상한 바로 아래, 정확히, 바로 위 세 가지 파일로 테스트하면 검증 처리의 정확성을 확인할 수 있습니다.

DevLab은 각 크기에 대응하는 임계값 테스트 파일을 바이트 단위로 정확한 크기로 제공합니다. MD5·SHA-256 해시값도 함께 표기되어 있어 다운로드 후 무결성 확인에도 사용할 수 있습니다.

주의 사항

  • 위 제한값은 2024년 시점의 정보입니다. 각 서비스의 최신 사양을 확인하세요.
  • Base64 인코딩을 사용하는 경우 실제로 전송할 수 있는 파일 크기는 약 75%가 됩니다(4/3배의 오버헤드).
  • 같은 서비스라도 플랜이나 API 경유인지 브라우저 경유인지에 따라 상한이 다를 수 있습니다.
  • 네트워크 환경이나 타임아웃 설정에 따라 상한 이하에서도 업로드에 실패하는 경우가 있습니다.

❓ 자주 묻는 질문

표의 상한은 첨부와 링크 공유 중 어느 쪽 값인가요?
첨부 자체의 상한입니다. 많은 서비스는 상한을 넘으면 클라우드 저장으로 전환해 링크를 보내는 방식으로 자동 이행하며, 그 경우 실질적인 상한은 스토리지 쪽의 값이 됩니다. Gmail 의 25MB 를 넘으면 Google 드라이브 링크가 되는 것이 대표적이고, 수신 측이 열 수 있는지는 링크의 공유 설정에 달려 있습니다.
자사 서비스의 상한은 무엇을 기준으로 정하면 되나요?
상정하는 최대 유스케이스의 실측값을 2 배 한 언저리가 출발점입니다. 스캔 PDF 수백 페이지라면 50MB, 기사 본문이라면 수백 KB 처럼 실제 파일을 측정한 뒤 정하세요. 정한 뒤에는 PHP 의 upload_max_filesize 와 post_max_size, nginx 의 client_max_body_size, 타임아웃을 모두 같은 전제로 맞추지 않으면 어딘가 한 곳에서 막힙니다.
상한에 딱 맞는 파일은 통과하나요?
통과하지 못하는 경우가 많습니다. multipart/form-data 에서는 경계 문자열과 헤더만큼 본문이 원래 파일보다 수백 바이트 커지므로 파일 자체가 상한에 딱 맞아도 요청 전체는 초과합니다. 상한 판정은 본문 크기로 이루어지므로 구현 쪽 상한은 파일 상한보다 조금 크게 잡고 경계값 테스트 파일로 실제로 확인하세요.