#1 Data Analytics Program in India
₹2,499₹1,499Enroll Now
2 min read
•Question 12 of 47easy

How to serve static files in Next.js?

Using the public folder for static assets.

What You'll Learn

  • Public folder usage
  • Accessing static files
  • Best practices

Public Folder

code.jsJavaScript
public/
ā”œā”€ā”€ images/
│   ā”œā”€ā”€ logo.png
│   └── hero.jpg
ā”œā”€ā”€ fonts/
│   └── custom.woff2
ā”œā”€ā”€ favicon.ico
└── robots.txt

Accessing Files

code.txtTSX
// Reference from root /
<img src="/images/logo.png" alt="Logo" />
<link rel="icon" href="/favicon.ico" />

// In CSS
background-image: url('/images/hero.jpg');

With Image Component

code.txtTSX
import Image from 'next/image';

// Public folder images
<Image src="/images/logo.png" alt="Logo" width={100} height={50} />

Static File Types

Good for:

  • favicon.ico
  • robots.txt
  • sitemap.xml
  • manifest.json
  • Static images/fonts

Best Practices

code.txtTSX
// āœ… Use Image component for optimization
import Image from 'next/image';
<Image src="/photo.jpg" ... />

// āŒ Avoid for large images
<img src="/large-photo.jpg" />