The template includes a logo component that displays your logo with the site name in the header.
Three logo files are included in the public/ directory:
public/
├── logo.png # Main logo (1024x1024px, high resolution)
├── logo-160px.png # Smaller version for emails (160x160px)
└── favicon.ico # Browser favicon
logo.png - Square logo (1024x1024px or at least 256x256px, PNG with transparent background)logo-160px.png - Smaller version for emails and lower bandwidth usage (160x160px)favicon.ico - Browser favicon (use favicon.io to generate)public/ directory:# Replace with your files (keep same filenames)
cp your-logo.png public/logo.png
cp your-logo-160px.png public/logo-160px.png
cp your-favicon.ico public/favicon.ico
# Restart dev server
pnpm dev
::tip
Keep the same filenames to avoid updating component references throughout the codebase.
::
## Logo component
The `AppLogo` component (`app/components/header/AppLogo.vue`) displays the logo with your site name:
**Default usage:**
```vue
<AppLogo />
<!-- Shows: [logo] Site Name -->
Available props:
<AppLogo
:width="40" # Logo width (default: 40)
:height="40" # Logo height (default: 40)
alt="My Logo" # Alt text (default: "Logo")
:show-name="true" # Show site name (default: true)
/>
Hide site name:
<AppLogo :show-name="false" />
<!-- Shows: [logo] only -->
logo.png is automatically optimized for display.logo-160px.png (smaller filesize) with absolute URL.favicon.ico automatically.Change site name: Update NUXT_PUBLIC_SITE_NAME in your .env file
Use SVG instead of PNG: The component supports any image format - just replace logo.png with logo.svg
Hide the site name: Use <AppLogo :show-name="false" /> to show only the logo
Logo not updating:
Ctrl+Shift+R or Cmd+Shift+R).nuxt cache and restart dev serverLogo appears blurry:
AppLogo component automatically optimizes images to WebP format and uses eager loading for better performance.