Skip to main content

คู่มือทำ favicon สำหรับ SaaS: ตั้งค่าครบสำหรับ React และ Next.js (2025)

ออกแบบ ปรับแต่ง และติดตั้ง favicon ให้แอป SaaS ของคุณ พร้อมตัวอย่างโค้ด React/Next.js เหมาะกับโปรดักต์สายภาพ

2025-04-12
คู่มือทำ favicon สำหรับ SaaS: ตั้งค่าครบสำหรับ React และ Next.js (2025)

คู่มือทำ favicon สำหรับ SaaS: React และ Next.js

Favicon คือไอคอนเล็กๆ ที่โผล่บนแท็บเบราว์เซอร์ บุ๊กมาร์ก และหน้าโฮมมือถือ ในแอป SaaS มันช่วยด้าน brand recognition และความน่าเชื่อถืออย่างมาก บทความนี้ครอบคลุมตั้งแต่การออกแบบ ไปจนถึงการตั้งค่าใน React/Next.js

Favicon คืออะไร สำคัญยังไง?

  • แสดงบนแท็บ เบราว์เซอร์ บุ๊กมาร์ก ประวัติการเข้าเว็บ และ shortcut
  • ทำให้ผู้ใช้หาแท็บคุณเจอเร็วขึ้น
  • ป้องกัน error 404 เมื่อเบราว์เซอร์ขอ favicon.ico
  • จำเป็นต่อ PWA และเพิ่มความรู้สึก “แอปจริง”

ขนาดและไฟล์ที่ควรมี

  • ICO: 16×16, 32×32, 48×48 รวมไว้ใน favicon.ico
  • PNG: 16×16, 32×32, 96×96, 180×180, 192×192, 512×512
  • SVG: สเกลได้ไม่จำกัด (เบราว์เซอร์ใหม่รองรับ)

ตัวอย่าง tag สำหรับแต่ละแพลตฟอร์ม

iOS

<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">

Android manifest

{
  "icons": [
    { "src": "/android-chrome-192x192.png", "sizes": "192x192", "type": "image/png" },
    { "src": "/android-chrome-512x512.png", "sizes": "512x512", "type": "image/png" }
  ]
}

Windows (browserconfig)

<browserconfig>
  <msapplication>
    <tile>
      <square150x150logo src="/mstile-150x150.png"/>
      <TileColor>#da532c</TileColor>
    </tile>
  </msapplication>
</browserconfig>

ขั้นตอนออกแบบ

  1. ใช้ canvas 512×512 px พื้นหลังโปร่งใส
  2. เน้นรูปทรงง่าย อ่านได้แม้ 16px
  3. ใช้สีหลักของแบรนด์และมี contrast สูง
  4. Export เป็น PNG/SVG และสร้างไฟล์ ICO รวมหลายขนาด
  5. บีบอัดไฟล์ให้เล็กกว่า 5 KB ถ้าเป็นไปได้

นำไปใช้ใน React

โครงสร้างไฟล์ /public

favicon.ico
favicon-16x16.png
favicon-32x32.png
apple-touch-icon.png
android-chrome-192x192.png
android-chrome-512x512.png
mstile-150x150.png
favicon.svg
site.webmanifest
browserconfig.xml

เพิ่ม <link> และ <meta> ใน public/index.html หรือจัดการผ่าน React Helmet เช่น

import { Helmet } from 'react-helmet';

function App() {
  return (
    <Helmet>
      <link rel="icon" href="/favicon.svg" type="image/svg+xml" />
      <link rel="alternate icon" href="/favicon.ico" />
      <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
      <meta name="theme-color" content="#0A0A0A" />
    </Helmet>
  );
}

นำไปใช้ใน Next.js

App Router (Next 13+)

export const metadata = {
  icons: {
    icon: [
      { url: "/favicon-32x32.png", sizes: "32x32", type: "image/png" },
      { url: "/favicon-16x16.png", sizes: "16x16", type: "image/png" },
      { url: "/favicon.ico" }
    ],
    apple: [{ url: "/apple-touch-icon.png", sizes: "180x180" }],
    other: [{ rel: "mask-icon", url: "/safari-pinned-tab.svg", color: "#0A0A0A" }]
  },
  manifest: "/site.webmanifest",
  themeColor: "#ffffff"
};

Pages Router

เพิ่ม <Head> ใน _document.tsx ตามตัวอย่าง React

ตัวอย่าง site.webmanifest

{
  "name": "SaaS ของคุณ",
  "short_name": "SaaS",
  "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"
}

FAQ สั้นๆ

| อาการ | สาเหตุ | วิธีแก้ | | --- | --- | --- | | ไม่เห็น favicon | ไฟล์/พาธผิด | ตรวจว่ามีใน /public และล้าง cache | | ไอคอนบน iOS แตก | ไม่มี Apple Touch Icon 180×180 | export PNG คุณภาพสูง | | โหมดมืดแล้วมองไม่เห็น | สีใกล้กับพื้นหลัง | เพิ่มเส้นขอบหรือปรับสี | | PWA ไม่มีไอคอน | manifest ขาด 192/512 px | เติม icons ตามตัวอย่าง |

อัตโนมัติและ workflow

  1. ใช้ AImageTools Favicon Generator
  2. ดาวน์โหลดชุดไฟล์ PNG/SVG/ICO + manifest
  3. วางใน /public/
  4. ตั้ง script/CI ตรวจว่ามีไฟล์ครบก่อน deploy
  5. หลัง deploy เคลียร์ cache และทดสอบบนหลายอุปกรณ์

สรุป

Favicon อาจเล็ก แต่เป็น impression แรกของแบรนด์ ออกแบบให้ชัดเจน จัดเตรียมทุกขนาด และตั้งค่าให้ถูกต้องใน React/Next.js เพื่อให้ SaaS ของคุณดูมืออาชีพทุกแพลตฟอร์ม

บทความที่เกี่ยวข้อง

Ready to Try?

Experience it yourself with our tool below

ทดลองสร้าง favicon ฟรี