🌐 Live Demo: https://devopslearn.netlify.app/tools/thumbnail-resizer
- Run build:
npm run build - Go to netlify.com and create account
- Drag the
outfolder to Netlify's deploy area - Your site will be live at
https://random-name.netlify.app
- Push code to GitHub repository
- Connect repository to Netlify
- Netlify will auto-build using
netlify.tomlsettings
# Install Netlify CLI
npm install -g netlify-cli
# Login to Netlify
netlify login
# Deploy
netlify deploy --prod --dir=out/workspaces/devopslearn/
├── netlify.toml # Netlify configuration
├── netlify/
│ └── functions/
│ └── thumbnail-resize.js # Server-side image processing
├── out/ # Built static files (auto-generated)
├── src/
│ ├── pages/
│ │ └── tools/
│ │ └── thumbnail-resizer.tsx # Frontend UI
│ └── utils/
│ └── thumbnail-resizer.ts # Utility functions
└── next.config.js # Next.js configuration for static export
- Builds static files to
out/directory - Configures Netlify Functions
- Sets up redirects and CORS headers
- Enables static export with
output: 'export' - Disables image optimization for static hosting
- Optimizes build for deployment
- Node.js 18+
- Sharp (for server-side image processing)
- lambda-multipart-parser (for file uploads)
- Static HTML/CSS/JS (no server required)
- React + Next.js (client-side only)
- Tailwind CSS for styling
After deployment, your thumbnail resizer will be available at:
https://your-site.netlify.app/tools/thumbnail-resizer
Current Live Demo: https://devopslearn.netlify.app/tools/thumbnail-resizer
- Ensure all dependencies are installed:
npm install - Check build logs in Netlify dashboard
- Verify
out/directory exists after build
- Check function logs in Netlify dashboard
- Verify Sharp binary compatibility with Netlify's environment
- Test function endpoint:
/.netlify/functions/thumbnail-resize
- CORS headers are configured in
netlify.toml - Test with browser dev tools network tab
Monitor usage in Netlify dashboard:
- Function invocations
- Bandwidth usage
- Build minutes
Free tier includes:
- 125K function requests/month
- 100GB bandwidth/month
- 300 build minutes/month