ICO 변환기
PNG/JPG 이미지를 ICO 파비콘 파일로 변환합니다
PNG/JPG 이미지를 드래그하거나 클릭하여 업로드
📖 ICO 파일 속 아이콘, 사실은 전부 PNG로 저장된다 가이드 보기
ICO 변환기
PNG/JPG 이미지를 ICO 형식으로 변환합니다. 원본 이미지가 정사각형이 아니면 짧은 변 길이만큼 가운데를 기준으로 정사각형 크롭한 뒤 각 선택 크기로 리사이즈합니다(피사체가 이미지 중앙에서 벗어나 있으면 잘려나갈 수 있음). 그리고 16×16처럼 작은 크기를 포함해 모든 크기의 항목을 예외 없이 PNG 압축 형식으로 ICO 안에 넣습니다 — 과거 방식인 BMP(DIB) 비트맵이 아니라 실제 PNG 바이트를 그대로 ICONDIRENTRY에 담는 방식으로, 이는 Windows Vista 이후부터 지원되는 방식입니다.
자주 묻는 질문
원본 이미지가 정사각형이 아니면 어떻게 되나요?
drawSize() 함수가 원본 가로·세로 중 짧은 쪽 길이(Math.min(width,height))를 기준으로 이미지 중앙을 정사각형으로 크롭한 뒤 목표 크기로 리사이즈합니다. 즉 피사체나 로고가 이미지 중앙에 있지 않으면 크롭 과정에서 일부가 잘려나갈 수 있습니다. 정확한 결과를 원한다면 변환 전에 미리 정사각형으로 크롭해서 업로드하는 것이 안전합니다.
16×16처럼 작은 아이콘도 PNG 형식으로 저장되나요?
네. 이 도구는 선택한 모든 크기에 대해 canvas.toDataURL('image/png')로 얻은 PNG 바이트를 그대로 ICO 파일의 각 ICONDIRENTRY에 담습니다. 과거에는 작은 아이콘일수록 BMP(DIB) 비트맵 형식을 쓰는 것이 일반적이었지만, 이 도구는 크기와 무관하게 전부 PNG 압축 형식을 사용합니다.
PNG 압축 방식 ICO가 호환성 문제를 일으킬 수 있나요?
Windows Vista 이후 운영체제와 현재 사용되는 모든 주요 브라우저는 PNG 압축 형식의 ICO 항목을 정상적으로 읽습니다. 다만 이론적으로 Windows XP 시절 이전 방식(BMP/DIB)만 인식하도록 만들어진 아주 오래된 소프트웨어라면 이 형식을 읽지 못할 가능성이 있습니다. 일반적인 웹사이트 파비콘이나 현재 운영체제용 아이콘 제작에는 문제가 되지 않습니다.
투명도(알파채널)가 유지되나요?
네. 각 크기가 PNG로 인코딩되기 때문에 원본 PNG의 알파 채널(투명 배경)이 그대로 보존됩니다. 단, 원본이 JPG라면 애초에 알파 채널이 없으므로 투명 배경을 기대할 수 없습니다.
파일이 서버로 전송되나요?
아니요. 선택한 각 해상도로 Canvas에 이미지를 크롭·리사이즈해 그리고, PNG로 인코딩한 뒤 ICONDIR·ICONDIRENTRY 구조체를 직접 바이트 단위로 조립하는 buildIco() 과정이 모두 브라우저 안에서 실행됩니다. 원본 파일은 어디로도 전송되지 않습니다.
ICO 파일을 파비콘으로 사용하려면?
파일명을 favicon.ico로 저장하고 웹사이트 루트 디렉터리에 배치하세요.
256×256을 포함해야 하나요?
Windows 바로가기 아이콘처럼 큰 아이콘이 필요한 경우 포함하세요. ICO 스펙상 256은 헤더의 1바이트 크기 필드에 그대로 담을 수 없어 0으로 표기하는 특별 규칙이 있으며, 이 도구도 그 규칙(sz===256?0:sz)을 정확히 따릅니다.
생성된 ICO를 다운로드 전에 미리 확인할 수 있나요?
네, 선택한 각 크기별로 실제 크롭·리사이즈된 결과를 캔버스 미리보기로 먼저 확인할 수 있어 최종 다운로드 전에 크롭 결과를 점검할 수 있습니다.