Favicon 생성기|여러 크기의 ICO·PNG 일괄 생성

이미지를 업로드하고 정사각형으로 잘라내기만 하면 여러 크기(16·32·48px 등)를 함께 담은 favicon.ico와 PNG 일습을 생성합니다. Lanczos 고품질 축소를 지원하며 head에 붙여넣을 HTML도 자동 생성됩니다. 모든 처리가 브라우저에서 완결됩니다.

Favicon 지정 방법(패턴별)

Favicon을 어떻게 기술할지는 「어디까지 대응할 것인가」에 따라 달라집니다. 최소 구성부터 PWA·다크 모드 대응까지, 용도별로 필요한 기술 방법을 정리했습니다. 생성한 파일을 사이트 루트에 두는 것을 전제로 한 코드입니다.

패턴1: 최소 구성(favicon.ico만 두기)

HTML에 한 줄도 쓰지 않고 /favicon.ico를 문서 루트에 두기만 하는 방식입니다. 브라우저가 이 경로를 암묵적으로 찾아가므로 그것만으로 표시됩니다.

your-site/
└── favicon.ico   ← 여기에 두기만 하면 됩니다(HTML 기술 불필요)

<!-- 명시적으로 쓴다면 이 한 줄로 충분합니다 -->
<link rel="icon" href="/favicon.ico" sizes="any">
적합한 경우 개인 사이트·사내 도구, 일단 표시만 되면 되는 경우
보충 설명 sizes="any"를 붙여 두면 나중에 SVG나 PNG를 추가했을 때 브라우저가 「ICO는 최후의 수단」이라고 올바르게 판단합니다. ICO에는 16·32·48px을 함께 담아 두기를 권장합니다.

패턴2: 표준 구성(권장)

ICO에 더해 PNG와 Apple Touch Icon을 준비하는, 현재 가장 일반적인 구성입니다. 데스크톱 브라우저부터 iOS 홈 화면 추가까지 두루 커버할 수 있습니다.

<link rel="icon" href="/favicon.ico" sizes="any">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
적합한 경우 기업 사이트·블로그·미디어 등 일반적인 웹 사이트
보충 설명 apple-touch-icon은 투명 부분이 검게 칠해지므로 반드시 배경색을 깐 불투명 PNG로 만들어 주세요. iOS 쪽에서 둥근 모서리로 잘리므로 여백을 1할 정도 두면 가장자리가 잘리지 않습니다.

패턴3: PWA 전체 구성

홈 화면에 추가했을 때 앱처럼 실행되는 PWA에서는 site.webmanifest에 아이콘을 등록합니다. 192px와 512px이 모두 갖춰지지 않으면 설치 가능으로 판정되지 않습니다.

<!-- HTML(head 안) -->
<link rel="icon" href="/favicon.ico" sizes="any">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="manifest" href="/site.webmanifest">

<!-- site.webmanifest -->
{
  "name": "My Site",
  "short_name": "Site",
  "icons": [
    { "src": "/android-chrome-192x192.png", "sizes": "192x192", "type": "image/png" },
    { "src": "/android-chrome-512x512.png", "sizes": "512x512", "type": "image/png" }
  ],
  "theme_color": "#ffffff",
  "background_color": "#ffffff",
  "display": "standalone"
}
적합한 경우 PWA·웹 앱, 스마트폰 이용이 중심인 서비스
보충 설명 iOS는 manifest의 아이콘을 참조하지 않으므로 apple-touch-icon을 별도로 함께 기술해야 합니다. display: "standalone"은 브라우저 UI를 숨기고 앱처럼 실행하는 지정입니다.

패턴4: SVG Favicon + 다크 모드 대응

SVG favicon은 해상도에 의존하지 않으며, SVG 안의 CSS로 다크 모드일 때의 색을 전환할 수 있습니다. 지원하지 않는 브라우저를 위해 ICO·PNG를 함께 기술합니다.

<!-- HTML(head 안). 위에서부터 「읽을 수 있는 것」이 사용됩니다 -->
<link rel="icon" href="/favicon.ico" sizes="any">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">

<!-- favicon.svg(다크 모드에서 색을 반전시키는 예) -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
  <style>
    path { fill: #1a1a1a; }
    @media (prefers-color-scheme: dark) { path { fill: #ffffff; } }
  </style>
  <path d="M4 4h24v24H4z"/>
</svg>
적합한 경우 로고를 벡터로 준비할 수 있는 사이트, 다크 모드에서 보이는 방식을 바꾸고 싶은 경우
보충 설명 SVG favicon은 Chrome·Firefox·Edge가 지원합니다. Safari는 현재 rel="icon"의 SVG를 읽지 않으므로 PNG·ICO 대비책이 반드시 필요합니다.

패턴5: 하위 디렉터리 배치·캐시 갱신

아이콘을 루트 이외에 둘 때의 기술 방법과, 교체했는데도 예전 아이콘이 계속 표시될 때의 대처법입니다. Favicon은 브라우저에 강하게 캐시되므로 URL을 바꾸는 것이 가장 확실합니다.

<!-- 임의의 디렉터리에 두는 경우 경로를 명시합니다 -->
<link rel="icon" href="/assets/icons/favicon.ico?v=2" sizes="any">
<link rel="icon" type="image/png" sizes="32x32" href="/assets/icons/favicon-32x32.png?v=2">
<link rel="apple-touch-icon" sizes="180x180" href="/assets/icons/apple-touch-icon.png?v=2">

<!-- 하위 디렉터리에서 공개하는 사이트(예: /docs/)는 절대 경로에 주의 -->
<link rel="icon" href="/docs/favicon.ico" sizes="any">
적합한 경우 CDN 배포·에셋을 한데 관리하는 사이트·아이콘을 교체했을 때
보충 설명 /favicon.ico를 루트에 두는 암묵적 탐색만은 경로를 바꿀 수 없으므로, 하위 디렉터리에 두더라도 루트에 사본을 하나 남겨 두면 놓치는 경우가 없습니다.

파일과 표시 위치의 대응

어떤 파일이 어디에서 쓰이는지 정리한 목록입니다. 모두 준비할 필요는 없으며, 대응하고 싶은 환경에 맞춰 선택하세요.

파일 크기 사용되는 곳
favicon.ico 16 / 32 / 48px 브라우저 탭·즐겨찾기·Windows 작업 표시줄. HTML에 기술이 없어도 루트를 탐색함
favicon-16x16.png 16×16 브라우저 탭(표준 해상도 디스플레이)
favicon-32x32.png 32×32 브라우저 탭(Retina 등 고해상도 디스플레이)·즐겨찾기 바
apple-touch-icon.png 180×180 iOS / iPadOS 홈 화면에 추가했을 때의 아이콘. 투명 부분은 검게 칠해짐
android-chrome-192x192.png 192×192 Android 홈 화면 아이콘(manifest 경유)
android-chrome-512x512.png 512×512 PWA 스플래시 화면·앱 목록(manifest 경유)
site.webmanifest — PWA 설정 파일. 아이콘·테마 색상·실행 방식을 선언함
favicon.svg 가변 Chrome·Firefox·Edge. 다크 모드에서의 색상 전환에 대응 가능

Favicon 생성기란

Favicon 생성기는 이미지 한 장으로 favicon.ico와 각 크기별 PNG를 한 번에 만들어 주는 도구입니다. favicon.ico는 16px·32px·48px 등 여러 해상도를 하나의 파일에 함께 담을 수 있는 특수한 형식으로, 브라우저 탭·즐겨찾기·작업 표시줄 등 표시되는 곳마다 알맞은 크기가 자동으로 선택됩니다. 각 크기를 일일이 손으로 내보낼 필요 없이, 정사각형으로 잘라내는 작업부터 출력 설정까지 화면에서 바로 끝낼 수 있습니다.

이미지 불러오기·자르기·축소·ICO·PNG 변환은 모두 브라우저 안의 JavaScript로 처리됩니다. 업로드한 이미지가 서버로 전송되는 일이 없으므로, 아직 공개 전인 로고나 브랜드 가이드라인상 비공개인 소재도 안심하고 사용할 수 있습니다. 축소에는 윤곽의 대비를 유지하는 Lanczos 알고리즘을 사용하고 있어, 16px처럼 극도로 작은 크기에서도 글자나 로고의 형태가 뭉개지지 않습니다.

Favicon 만드는 방법

  1. 이미지를 업로드합니다 로고나 아이콘용 이미지를 드래그 앤 드롭하거나, 클릭해서 파일을 선택합니다. PNG·JPEG·SVG·WebP·GIF·BMP를 지원합니다.
  2. 정사각형으로 잘라냅니다 표시되는 영역을 드래그해 위치를, 네 모서리를 드래그해 크기를 조정합니다. favicon은 정사각형이 기본이므로 영역은 항상 1:1 비율로 고정됩니다.
  3. 출력 설정을 고릅니다 favicon.ico에 담을 크기, 내보낼 PNG 크기, 축소 알고리즘, 여백·배경색 등을 필요에 맞게 설정합니다.
  4. 생성해서 미리보기를 확인합니다 「Favicon 생성」을 누르면 모든 크기가 한 번에 만들어집니다. 실제 크기 미리보기로 작은 크기가 어떻게 보이는지 확인할 수 있습니다.
  5. 다운로드해서 적용합니다 개별 다운로드 또는 ZIP 일괄 다운로드를 선택하고, 생성된 HTML 코드를 안에 붙여넣습니다.

더 잘 활용하기 위한 팁

  • 원본은 512×512px 이상의 정사각형을 준비하면 16px까지 줄여도 윤곽이 무너지지 않습니다. 정사각형이 아닌 이미지는 이 도구의 잘라내기 기능으로 필요한 부분만 정사각형으로 잘라낼 수 있습니다.
  • Lanczos3은 인접 픽셀의 가중 평균을 취하면서, 커널의 음수 부분으로 가장자리를 들어 올리는 방식입니다. 브라우저 기본 축소보다 윤곽이 잘 남기 때문에 문자나 로고가 포함된 아이콘에서 차이가 뚜렷합니다.
  • ICO는 하나의 파일에 여러 크기를 함께 담을 수 있다는 점이 가장 큰 특징입니다. 16·32·48px을 넣어 두면 탭·즐겨찾기·작업 표시줄에서 각각 최적의 그림이 선택됩니다.
  • Apple Touch Icon은 투명 부분이 검게 칠해지는 사양이므로, 배경색을 지정해 불투명한 PNG로 만들어 두면 안전합니다. 여백을 10% 정도 두면 iOS의 둥근 마스크에 가장자리가 잘리는 일도 줄어듭니다.
  • 브라우저는 favicon을 매우 강하게 캐시합니다. 교체해도 반영되지 않으면 URL에 ?v=2 같은 쿼리를 붙이거나 강력 새로 고침을 해 보세요.

활용 사례

신규 웹사이트 제작 시 favicon 준비

사이트 공개 전에 필요한 ICO·PNG 일습과 HTML 코드를 한 번에 준비할 수 있어, head 안에 빠뜨리는 항목이 없는지 확인하기 쉽습니다.

PWA용 아이콘 크기 일괄 생성

홈 화면 추가나 스플래시 화면에 필요한 192px·512px 등의 PNG와 site.webmanifest를 함께 생성할 수 있습니다.

브랜드 로고에서 일괄 변환

기존 로고 이미지를 불러와 여백과 배경색을 조정하면서, 다양한 기기용 아이콘을 한 번에 내보낼 수 있습니다.

CMS·정적 사이트 생성기의 favicon 교체

WordPress나 Hugo 등으로 운영 중인 사이트의 favicon을 새로 만들 때, 필요한 파일 형식을 빠짐없이 준비할 수 있습니다.

리브랜딩 시 아이콘 일괄 갱신

로고 변경에 맞추어 탭·즐겨찾기·홈 화면 아이콘을 한 번에 갱신하고, 표시되는 곳마다 실제로 어떻게 보이는지 확인할 수 있습니다.

용어집

favicon.ico
브라우저가 사이트 루트에서 암묵적으로 찾아가는 파일명입니다. 하나의 파일에 여러 해상도의 이미지를 담을 수 있는 ICO 형식으로 저장됩니다.
Apple Touch Icon
iOS에서 홈 화면에 추가했을 때 표시되는 아이콘입니다. 투명한 부분은 검게 채워지므로 배경색을 지정하는 것이 좋습니다.
Lanczos 알고리즘
sinc 함수를 유한한 범위에서 끊어낸 커널을 사용하는 축소 알고리즘입니다. 가장자리의 대비를 유지하기 쉬워, 글자나 로고를 축소하는 데 적합합니다.
PWA(프로그레시브 웹 앱)
웹사이트를 앱처럼 홈 화면에 추가하거나 오프라인에서 이용할 수 있게 하는 기술을 통틀어 이르는 말입니다. 192px·512px 아이콘과 site.webmanifest가 필요합니다.
site.webmanifest
PWA의 이름·아이콘·테마 색상 등을 정의하는 설정 파일입니다. 사이트 루트에 두고 HTML에서 참조합니다.
최근접 이웃 알고리즘
가장 가까운 픽셀의 색을 그대로 사용하는 축소 알고리즘입니다. 색을 섞지 않기 때문에 픽셀 아트처럼 또렷한 윤곽을 그대로 유지할 수 있습니다.

자주 묻는 질문

있습니다. ICO는 하나의 파일에 여러 해상도를 담을 수 있는 컨테이너 형식이며, 운영체제와 브라우저가 용도(탭·즐겨찾기·작업 표시줄·바로 가기)에 따라 최적의 크기를 골라 씁니다. 32px만 넣어 두면 16px로 표시되는 상황에서는 브라우저가 축소하게 되어 윤곽이 흐려집니다. 16·32·48px 세 가지를 함께 담는 것이 정석입니다.

대부분의 상황에서는 PNG로 충분하지만, /favicon.ico는 HTML에 아무 기술이 없어도 브라우저가 암묵적으로 찾아가는 경로로 지금도 살아 있습니다. RSS 리더·북마크 서비스·일부 크롤러는 HTML을 해석하지 않고 루트의 ICO만 가져가기 때문에, ICO도 함께 두면 놓치는 경우가 없습니다.

64px 미만은 BMP(32비트 BGRA), 64px 이상은 PNG로 저장합니다. ICO는 Vista 이후 두 형식 모두 담을 수 있지만, 작은 크기는 호환성을 우선해 BMP로, 큰 크기는 파일 크기를 줄이기 위해 PNG로 하는 것이 실무 관례이며 이에 맞추었습니다.

업로드 후 표시되는 잘라내기 영역에서 정사각형 범위를 자유롭게 선택할 수 있습니다. 영역은 드래그로 이동하고 네 모서리로 크기를 조절할 수 있으며, 비율은 항상 1:1로 고정됩니다. 「전체로 되돌리기」를 누르면 이미지에 들어가는 가장 큰 정사각형이 중앙에 선택됩니다.

SVG는 원본 이미지로 읽어들일 수 있지만, 출력은 PNG와 ICO만 지원합니다. SVG favicon을 사용하려면 원본 SVG 파일을 그대로 사이트에 올리고 <link rel="icon" type="image/svg+xml">로 참조하세요. SVG를 지원하지 않는 환경을 위한 대비책으로, 이 도구에서 생성한 ICO·PNG를 함께 기술해 두는 것이 확실합니다.
툴군

여담 ― 16픽셀 위에 그림을 그린다는 난제

1999년, Internet Explorer 5가 즐겨찾기 목록에 작은 아이콘을 표시하는 기능을 도입했습니다. 사이트 루트에 favicon.ico를 두기만 하면 인식된다는 소박한 구조였고, 「favicon」이라는 이름 자체가 「favorite icon」의 줄임말입니다. <link rel="icon">이 HTML 사양에 정식으로 실린 것은 그 뒤의 일이며, 루트의 ICO를 암묵적으로 찾아가는 동작만은 하위 호환을 위해 지금까지 남아 있습니다.

ICO가 Windows의 아이콘 형식을 차용했다는 점은 결과적으로 큰 의미를 가졌습니다. 이 형식은 하나의 파일에 여러 해상도를 담을 수 있어, 16px 탭과 48px 작업 표시줄에 완전히 다른 그림을 준비할 수 있습니다. 단순한 편의성 이야기가 아닙니다. 16×16이라는 극단적으로 작은 캔버스에서는 48px용 디자인을 기계적으로 축소해도 가는 선이 사라지고 문자는 읽을 수 없게 됩니다. 예전 아이콘 디자이너들이 크기별로 손수 그려 나눈 것은 그것이 유일한 해결책이었기 때문입니다.

현대의 favicon 생성에서는 손그림 대신 얼마나 똑똑하게 축소하느냐가 관건이 됩니다. 단순 평균(이중선형)은 가장자리의 대비를 잃고, 반대로 솎아내기(최근접 이웃)는 가는 선을 통째로 날려 버립니다. Lanczos 법은 sinc 함수를 유한한 로브에서 끊어낸 커널을 사용해, 주 로브로 원래 정보를 지키면서 양옆의 음수 로브로 가장자리를 들어 올립니다. 이 「윤곽을 살짝 강조하는」 성질이 작은 아이콘에서 특히 잘 듣습니다.

그 뒤로도 favicon에 대한 요구는 계속 늘었습니다. 2007년 iPhone 등장으로 Apple Touch Icon(처음에는 57px, 현재는 180px)이 더해졌고, PWA의 보급으로 192px와 512px이 필요해졌으며, SVG favicon과 다크 모드 대응까지 시야에 들어왔습니다. 파일 하나만 두면 되던 시절에서 보면 과하게 느껴지지만, 뒤집어 말하면 브라우저 탭에 표시되는 그 수십 픽셀은 그만큼 많은 사용자의 눈에 닿고 있다는 뜻이기도 합니다.