Favicon là gì và vì sao nó quan trọng với thương hiệu số?
Lịch sử định dạng .ico, cách trình duyệt tự tìm favicon, lỗi viền đen trên iOS Safari, bẫy vùng an toàn của Android và bộ 5 file favicon tối giản của AkiTao.
Favicon (viết tắt của "Favorites Icon") xuất hiện lần đầu năm 1999 cùng trình duyệt Internet Explorer 5 của Microsoft. Ban đầu nó chỉ là một ảnh nhỏ 16x16 pixel đặt ở thư mục gốc của máy chủ, hiển thị cạnh tên trang khi người dùng thêm trang vào danh sách bookmark ("Favorites").
Ngày nay favicon xuất hiện ở nhiều nơi hơn tab và bookmark: lịch sử duyệt web, gợi ý trên thanh địa chỉ, kết quả tìm kiếm trên điện thoại, màn hình chính iOS và Android, màn hình chờ của PWA.
Nếu trang không khai báo thẻ <link rel="icon">, trình duyệt tự gửi request đến /favicon.ico ở thư mục gốc của website. Thiếu file này, máy chủ trả về lỗi 404 cho mỗi request như vậy. Vì thế bộ favicon nào cũng nên có file favicon.ico ở thư mục gốc.
Định dạng .ico và kỷ nguyên SVG
.ico là định dạng gốc của Microsoft. Khác với PNG hay JPEG, một file .ico là container chứa nhiều ảnh có kích thước khác nhau. Một favicon.ico chuẩn thường gói sẵn các bản 16x16, 32x32 và 48x48 pixel.
Trình duyệt hiện đại còn nhận favicon SVG (Scalable Vector Graphics). SVG giữ nét ở mọi mật độ điểm ảnh mà không cần sinh hàng chục file PNG. Bạn cũng có thể nhúng CSS media query vào chính file SVG để đổi màu biểu tượng theo chế độ sáng hoặc tối của hệ điều hành, như ví dụ dưới đây.
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
<style>
path { fill: #070b14; }
@media (prefers-color-scheme: dark) {
path { fill: #00d4ff; }
}
</style>
<path d="M50 15 L85 80 L15 80 Z" />
</svg>Viền đen trên iOS Safari và vùng an toàn trên Android
Icon cho thiết bị di động có hai cái bẫy mà nhiều designer và developer gặp phải: viền đen trên iOS Safari và việc Android cắt icon theo hình dạng của launcher.
Khi người dùng chọn "Add to Home Screen" trên iOS Safari, file apple-touch-icon.png phải có nền đục, không có pixel trong suốt nào ở các góc. Nếu bạn dùng PNG nền trong suốt, iOS tô đen các vùng trong suốt đó, và logo xuất hiện trên màn hình chính iPhone với bốn góc đen.
Android dùng Adaptive Icons để cắt icon theo hình của từng launcher (tròn, squircle, vuông bo góc). Logo phải nằm gọn trong vùng an toàn ở giữa, chiếm 80% đường kính, và màu nền phải phủ kín canvas. Nếu không, logo bị cắt mất chi tiết hoặc để lộ viền trống.
Bộ 5 file favicon của AkiTao
Nhiều công cụ tạo favicon cũ xuất một gói ZIP hơn 20 ảnh với đủ kích thước (16x16, 24x24, 57x57, 72x72, 114x114...). Đó là di sản của Internet Explorer và các bản iOS, Android cũ. Khai báo tất cả trong HTML chỉ làm mã nguồn rối và thư mục khó quản lý.
AkiTao chọn số file tối thiểu mà vẫn phủ được trình duyệt hiện đại và thiết bị di động. Bạn chỉ cần 5 file:
- ◆favicon.ico: container chứa bản 16x16 và 32x32, đặt ở thư mục gốc cho trình duyệt cũ và chặn request 404.
- ◆apple-touch-icon.png: 180x180 pixel, nền đục, logo nằm trong vùng an toàn, dùng cho iOS.
- ◆icon-192.png: 192x192 pixel, icon launcher cho Android và PWA.
- ◆icon-512-maskable.png: 512x512 pixel, khai báo
purpose: "maskable"cho Android adaptive icon và màn hình chờ PWA. - ◆manifest.json: mô tả tên app, màu chủ đạo và danh sách icon để hệ điều hành nhận diện ứng dụng.
AkiTao Favicon Generator tạo bộ 5 file này từ một logo bạn thả vào. Gói tải về có thêm hai file icon-48.png và icon-96.png phục vụ SEO, cùng đoạn HTML để dán vào <head>. Ảnh được xử lý ngay trong trình duyệt, không tải lên máy chủ.