ToolActToolAct

이미지 그리드 분할

이미지를 3×3 그리드로 분할하여 소셜 미디어 공유에 최적화

이미지 업로드

이미지를 여기로 드래그하거나 클릭하여 파일을 선택하세요

JPG, PNG, WebP, BMP, GIF 형식 지원

이미지 그리드 분할이란?

이미지 그리드 분할은 하나의 이미지를 3×3 9등분으로 자르는 도구입니다. 잘라낸 이미지를 Instagram이나 WeChat 등에 순서대로 게시하면 원본 이미지가 복원되어 독특한 시각 효과를 만들어냅니다. 모든 이미지 처리는 브라우저에서 로컬로 이루어지며 개인정보를 보호합니다. 게시하거나 제출하기 전에는 출력 파일을 열어 가독성, 잘림, 해상도, 순서, 누락된 내용이 없는지 확인해야 합니다.

사용 방법

사용 방법

  1. 이미지를 업로드하거나 드래그 앤 드롭하세요
  2. 도구가 이미지를 9조각으로 자동 분할합니다
  3. 원하는 조각을 클릭해 개별 다운로드하세요
  4. "모두 다운로드"를 눌러 9개 조각을 한 번에 저장하세요

자르기 참고

  • 최종 화면 비율에 맞는 이미지를 사용하세요. 자동 분할은 이미 잘리거나 잘못 패딩된 부분을 복원하지 못합니다.
  • 게시 전에 9개 조각을 모두 확인하세요. 특히 텍스트, 얼굴, 제품 가장자리가 분할선을 가로지르는 경우 주의가 필요합니다.

활용 사례

이미지를 3x3 그리드로 분할이미지를 업로드하면 페이지가 캔버스를 사용하여 9개의 동일한 PNG 슬라이스로 잘라내고 1~9번 번호가 매겨진 위치로 행과 열 순서를 보존합니다. 3으로 나누어 떨어지지 않는 소스 크기는 정수 픽셀로 내림 처리되므로 1081x1081 입력도 9개의 360x360 PNG를 생성하며 남은 픽셀 행은 버려집니다.
소셜 또는 퍼즐 스타일 이미지 타일 준비원본 미리보기, 크기, 번호 매겨진 그리드 미리보기를 사용하여 게시, 게임, 워크시트, 레이아웃 테스트용 개별 슬라이스를 다운로드하기 전에 크롭을 확인하세요. 슬라이스는 PNG로 기록되므로 소스가 사진이면 파일 크기가 빠르게 커집니다. 피드에 10MB 제한이 있는 경우 먼저 그리드에 압축기를 실행하는 것을 고려하세요.
슬라이스를 하나씩 또는 시퀀스로 다운로드그리드 셀을 클릭하여 해당 슬라이스를 다운로드하거나, 브라우저가 각 생성 파일을 처리할 수 있도록 짧은 지연 후 모든 슬라이스를 다운로드합니다. 업로드할 순서대로 번호 매겨진 슬라이스를 미리보기할 때까지 소스 이미지를 보관하세요.
업로드 순서를 위한 슬라이싱 전 안전 여백 추가얼굴, 제목, 로고가 슬라이스 경계에 정확히 놓이지 않도록 소스 이미지 안쪽에 여백 패딩을 남기세요. 잘린 얼굴 하나가 피드에서 복원된 그리드를 깨뜨립니다. 몇 픽셀의 인셋은 Instagram 같은 플랫폼이 썸네일 비율로 가장자리를 크롭하는 것도 방지합니다.
번호 매겨진 파일명으로 업로드 순서 유지1~9 파일명이 보존된 슬라이스를 다운로드하고 정확한 행과 열 순서로 게시하세요. 순서를 뒤집는 것이 최종 그리드가 엉망이 되는 가장 흔한 원인입니다. 다운로드한 폴더를 파일명으로 정렬한 뒤 업로드 대화상자에서 선택하면 복원된 피드를 깨뜨리는 아래에서 위로의 실수를 피할 수 있습니다.

기술 원리

이미지 그리드 분할기는 HTML5 Canvas 2D API(WHATWG HTML Living Standard §4.12, 원래 2014년 W3C HTML5 권고안에서 지정)를 기반으로 구축됩니다. 파이프라인은 세 가지 레이어로 구성됩니다. 소스 픽셀을 CanvasImageSource로 디코딩하고, drawImage의 9인수 형태를 통해 해당 픽셀의 하위 사각형을 오프스크린 캔버스에 복사한 뒤, canvas.toBlob()을 통해 오프스크린 캔버스를 PNG로 인코딩합니다. 모든 처리는 브라우저 탭에서 이루어지며 업로드, 서버, 원격 렌더링이 없습니다. 디코딩 단계는 생각보다 더 중요합니다. <input type='file'> 또는 드래그 앤 드롭 DataTransferItem의 File은 FileReader.readAsDataURL(또는 현대 코드에서는 URL.createObjectURL)에 의해 Blob URL로 읽히며, 브라우저는 이를 Image 로더에 전달합니다. Image 요소는 플랫폼의 이미지 코덱(Chromium에서는 libpng/libjpeg-turbo/libwebp, WebKit/Gecko에서는 등가물)에 의해 비트맵이 디코딩되면 'load'를 트리거합니다. 이 방식으로 로드된 비-CORS 이미지는 '테인티드'로 처리됩니다. getImageData가 SecurityError를 던지므로 분할기는 drawImage만 사용하고 픽셀 배열을 다시 읽지 않아 CORS 문제를 완전히 우회합니다. 매우 큰 이미지(긴 변 기준 ~8K 이상)의 경우 일부 엔진에서 비트맵이 GPU 메모리에 보관되므로 canvas.toBlob이 GPU→CPU 읽기를 거쳐 휴대폰에서 ~30-100ms가 소요될 수 있습니다. 크롭은 슬라이스당 단일 drawImage 호출입니다: ctx.drawImage(img, sx, sy, sw, sh, dx, dy, dw, dh) — 처음 세 쌍은 소스 사각형(sx, sy, sw, sh)이고 다음 세 쌍은 대상 캔버스의 대상 사각형입니다. 1920×1080 사진의 3×3 분할에서 각 슬라이스의 소스 사각형은 (col*640, row*360)에서 시작하는 640×360입니다. 대상 캔버스는 슬라이스 크기(640×360)로 정확히 설정된 뒤 canvas.toBlob(blob => ..., 'image/png')가 플랫폼 PNG 인코더를 실행합니다. 그리드 슬라이스는 날카로운 텍스트와 UI 요소가 있는 깨끗한 직사각형 크롭이므로 JPEG의 8×8 DCT 블록이 가장자리를 번지게 하는 PNG를 JPEG보다 선택합니다. 일괄 다운로드는 각 Blob에 URL.createObjectURL, <a download> 합성 클릭, 그리고 짧은 지연(보통 60-120초, 사용되지 않는 Blob URL의 플랫폼 수명) 후 revokeObjectURL을 사용합니다. 9개 슬라이스의 경우 9개의 다운로드 이벤트가 연속으로 발생합니다. 일부 브라우저는 동일 탭에서 여러 다운로드를 제한하므로 페이지는 보통 클릭 사이에 50-200ms의 setTimeout으로 간격을 둡니다. 성능 면에서 휴대폰의 병목은 drawImage가 아닌 보통 PNG 인코더(libpng는 인코딩당 단일 스레드)입니다. 9개의 1080p 슬라이스에서 중급 Android는 총 200-500ms, 데스크톱 Chromium은 100-200ms를 예상합니다.

  • 파이프라인: FileReader 또는 URL.createObjectURL → Image 요소 → HTMLCanvasElement → drawImage 9인수 크롭 → canvas.toBlob('image/png') → URL.createObjectURL + <a download>.
  • drawImage(img, sx, sy, sw, sh, dx, dy, dw, dh)는 소스 사각형(sx,sy,sw,sh)을 대상 사각형(dx,dy,dw,dh)으로 크롭하는 9인수 오버로드입니다. 이것이 분할을 수행하는 단일 API 호출입니다.
  • CORS 헤더가 제공되지 않는 소스 이미지는 캔버스를 테인티드합니다. getImageData가 SecurityError를 던지므로 분할기는 픽셀 배열을 읽지 않고 블리트와 인코딩만 수행합니다.
  • canvas.toBlob은 비동기적이고 비차단(나중의 마이크로태스크에서 콜백 발생)인 반면, 레거시 canvas.toDataURL은 동기적이고 큰 이미지에서 메인 스레드를 동결합니다.
  • N×M 이미지의 3×3 분할에서 각 슬라이스는 (N/3) × (M/3)입니다. 나누어 떨어지지 않는 크기는 오른쪽/아래 가장자리에 1픽셀 나머지를 생성하며, 필요시 명시적 나머지 슬라이스와 함께 Math.floor로 처리됩니다.
  • 그리드 슬라이스에 JPEG보다 PNG를 선택하는 이유는 각 슬라이스가 8×8 DCT 블록이 경계선을 번지게 하는 날카로운 가장자리(텍스트, UI, 다이어그램)가 있는 직사각형 크롭이기 때문입니다.
  • 일괄 다운로드는 Blob당 URL.createObjectURL + <a download> 클릭을 사용합니다. 브라우저는 동일 탭의 여러 다운로드를 제한하므로 페이지는 보통 클릭 간 50-200ms 간격을 두고 메모리 해제를 위해 클릭 후 Blob URL을 해제합니다.
  • 성능 병목은 drawImage가 아닌 플랫폼 PNG 인코더(libpng는 인코딩당 단일 스레드)입니다. 9개의 1080p 슬라이스는 중급 모바일에서 ~200-500ms, 데스크톱 Chromium에서 ~100-200ms가 소요됩니다.

예시

정사각형 1:1 분할 (Instagram 게시물)

입력:   1080 x 1080 px
출력:   360 x 360 px 9조각 (3x3 그리드)
용도:   Instagram 캐러셀 미리보기, 샤오훙수 그리드 게시물

가로 16:9 분할 (YouTube 썸네일)

입력:   1920 x 1080 px
출력:   640 x 360 px 9조각 (3x3 그리드)
용도:   YouTube 썸네일 A/B 테스트, 멀티플랫폼 배너 변형

세로 9:16 분할 (TikTok / Reels)

입력:   1080 x 1920 px
출력:   360 x 640 px 9조각 (3x3 그리드)
용도:   숏폼 커버 탐색, 스토리형 미리보기

자주 묻는 질문

이미지 그리드 도구는 무엇을 하나요?

한 장의 이미지를 동일한 크기의 격자(예: 3×3, 2×4)로 분할해 인스타그램 스타일의 타일로 게시하거나 퍼즐/포스터로 조립할 수 있게 해줍니다. 각 셀은 개별 PNG/JPEG 파일로 내보내집니다.

이미지가 업로드되나요?

아니요. 그리드 분할은 모두 브라우저에서 canvas로 처리되며 이미지 데이터는 기기 외부로 나가지 않습니다.

어떤 그리드 크기가 지원되나요?

일반적인 프리셋은 3×3(인스타그램 대형 타일), 3×1(배너 트립틱), 2×2, 4×4, 9×16 등이며, 사용자 지정 행/열도 보통 가능합니다. 최대 크기는 브라우저 메모리에 따라 달라지며, 고해상도 원본에 매우 큰 그리드를 적용하면 canvas 크기 한계를 초과할 수 있습니다.

타일을 인스타그램에 올바른 순서로 어떻게 게시하나요?

인스타그램 그리드는 오른쪽에서 왼쪽, 위에서 아래로 채워집니다(즉 첫 게시물이 우측 상단, 3×3에서는 마지막이 좌측 하단). 페이지는 타일에 1~9 라벨을 붙여 내보내므로 시각적 배치를 맞추려면 9, 8, 7, 6, 5, 4, 3, 2, 1 순으로 업로드하세요. 일부 페이지는 순서 안내 가이드를 제공합니다.

내보낸 타일의 정렬이 약간 어긋나는 이유는 뭔가요?

원본 이미지의 가로/세로 크기가 그리드 수로 나누어 떨어져야 깔끔하게 분할됩니다. 페이지는 오른쪽/아래 가장자리를 잘라내거나 이미지를 맞춰서 스케일링하는데, 어떤 옵션이 선택됐는지 확인하세요. 실제 출력해서 붙이는 경우 서브픽셀 단위 오차가 그리드 전체에 누적될 수 있습니다.

출력 형식과 해상도는 어떻게 되나요?

기본값은 원본 해상도의 PNG입니다. 인스타그램의 경우 타일당 1080×1080 픽셀이 권장 최소치이며, 4×4 그리드라면 원본은 4320×4320이어야 합니다. 실물 포스터 인쇄 시에는 더 높은 원본 해상도와, 프린터가 지원한다면 TIFF 같은 인쇄용 형식을 사용하세요.

타일 사이에 간격을 추가할 수 있나요?

일부 빌드는 각 셀 주변에 흰색 여백을 두는 'gutter'(여백) 옵션을 제공해, 인스타그램 그리드의 얇은 간격 표시를 모방할 수 있습니다. 화면상의 결과를 원본 이미지와 동일하게 보이고 싶다면 소셜 플랫폼 미리보기에 맞게 여백 폭을 조정하세요.

관련 도구

이미지 압축 도구

온라인 이미지 압축 도구로 JPEG, PNG, WebP 등 포맷을 지원하며 압축 품질과 크기를 조절할 수 있습니다. 브라우저 로컬에서 처리하여 프라이버시 보안을 보호합니다.

이미지 포맷 변환 도구

온라인 이미지 포맷 변환 도구로 JPG, PNG, WebP, BMP, GIF 포맷 상호 변환을 지원하며 출력 품질을 조절할 수 있습니다. 브라우저 로컬에서 처리하여 프라이버시 보안을 보호합니다.

이미지 워터마크 도구

온라인 이미지 워터마크 도구로 텍스트 워터마크와 이미지 워터마크를 지원하며 위치, 투명도, 크기를 조절할 수 있습니다. 브라우저 로컬에서 처리하여 프라이버시 보안을 보호합니다.

증명사진 제작 도구

AI 배경 제거 기능 무료 온라인 증명사진 제작 도구. 한국 표준 크기(여권, 신분증, 이력서) 지원, 원클릭으로 표준 증명사진 생성. 브라우저 로컬 처리로 개인정보 보호.

이미지 그레이스케일 변환 도구

온라인 이미지 흑백 변환 도구로 컬러 이미지를 그레이스케일 효과로 변환합니다. 일괄 처리를 지원하며 브라우저 로컬에서 처리하여 프라이버시 보안을 보호합니다.

이미지 Base64 변환 도구

온라인 이미지 Base64 상호 변환 도구로 드래그 앤 드롭 업로드, 실시간 미리보기, 다양한 이미지 포맷을 지원합니다. 이미지를 Base64로 변환하여 코드에 삽입하면 HTTP 요청을 줄일 수 있습니다.