logo Fonnpo

문의하기
2026년 4월 30일 3분 읽기 Fonnpo

Favicon을 움직이게 하세요

이 글을 읽는 동안 아마도 탭 상단에서 무언가가 움직이는 것을 눈치챘을 것입니다. 이것이 동적 파비콘입니다 — Gmail은 이를 사용하여 새 이메일 수를 표시하고, Discord는 알림 점을 표시합니다. 원리는 동일하며, 캔버스에 그릴 수 있는 것에 따라 거의 무한한 가능성이 있습니다.

#Favicon#Animation

X에서 이 효과를 봤는데, favicon 아이콘이 움직이는 게 정말 멋졌습니다.

x favicon animated

웹사이트: Favicon.im

테스트 코드

Javascript
        // 1. favicon link 요소를 가져오거나 새로 생성
let link = document.querySelector('link[rel~="icon"]')
if (!link) {
  link = document.createElement('link')
  link.rel = 'icon'
  document.head.appendChild(link)
}

// 2. 숨겨진 canvas에 한 프레임 그리기
const canvas = document.createElement('canvas')
canvas.width = 32
canvas.height = 32
const ctx = canvas.getContext('2d')

function drawFrame(t) {
  const scale = 0.5 + 0.5 * Math.abs(Math.sin(t / 400))
  ctx.clearRect(0, 0, 32, 32)
  ctx.fillStyle = '#ef4444'
  ctx.beginPath()
  ctx.arc(16, 16, 14 * scale, 0, Math.PI * 2)
  ctx.fill()

  // 3. canvas를 data URL로 변환해 favicon에 적용
  link.href = canvas.toDataURL('image/png')

  requestAnimationFrame(drawFrame)
}

requestAnimationFrame(drawFrame)

    
Fonnpo