What are the best websites for free stock images and creative resources?
Problem
When I started my design projects, I always got stuck finding free images that looked professional and were legally safe for commercial use.
Here’s what I used to face:
Error: Copyright infringement noticeYour website contains unlicensed stock images. DMCA takedown notice sent.Fine: $2,500 per imageMost free image websites either:
- Had watermarked versions only
- Required complex attribution
- Had poor quality photos
- Were illegal to use commercially
What happened?
I tried many stock image websites and made mistakes along the way. Let me show you what worked and what didn’t.
First, I used Google Images with “free to use” filters:
// What I tried first - Google Imagesconst searchGoogleImages = async (query) => { const response = await fetch( `https://www.googleapis.com/customsearch/v1?key=YOUR_API&q=${query}&searchType=image&rights=cc_publicdomain` ); return response.json();};The problem was most images still had unclear licensing. I got DMCA notices even when Google said they were “free to use.”
Then I tried stock photo websites with free sections:
// Using Unsplash APIconst fetchStockImages = async (query, count = 10) => { try { const response = await fetch( `https://api.unsplash.com/search/photos?query=${query}&per_page=${count}&client_id=YOUR_ACCESS_KEY` ); const data = await response.json();
return data.results.map(photo => ({ id: photo.id, url: photo.urls.regular, photographer: photo.user.name, alt: photo.alt_description || photo.description, attribution: `Photo by ${photo.user.name} on Unsplash` })); } catch (error) { console.error('Error fetching stock images:', error); return []; }};Unsplash worked well but I still needed to give attribution for each image.
How to solve it?
I found the best platforms that solve different needs. Here are the top free stock image resources:
1. Unsplash - Professional Photography
I use Unsplash when I need high-resolution photos for websites and apps.
// Proper attribution following Unsplash guidelinesconst displayImageWithAttribution = (imageData) => { return ` <img src="${imageData.url}" alt="${imageData.alt}" /> <p style="font-size: 12px; color: #666; margin-top: 5px;"> ${imageData.attribution} </p> `;};What I like:
- Photos are curated and professional
- Simple attribution requirement
- High resolution (up to 6144x4096)
But I still need to add attribution text below each image.
2. Pexels - No Attribution Needed
This changed everything for me. Pexels allows commercial use without attribution.
// Pexels API - no attribution requiredconst fetchPexelsImages = async (query, count = 10) => { const response = await fetch( `https://api.pexels.com/v1/search?query=${query}&per_page=${count}`, { headers: { Authorization: 'YOUR_API_KEY' } } ); const data = await response.json();
return data.photos.map(photo => ({ id: photo.id, url: photo.src.large, photographer: photo.photographer, alt: photo.alt }));};When I use Pexels images:
- No attribution text needed
- Can be used commercially
- Good quality curated collection
3. Pixabay - Everything-in-One
Pixabay surprised me with diverse assets beyond just photos.
Assets available:- Photos (3.5M+)- Vectors (1.8M+)- Illustrations- Music tracks- Video clipsI use Pixabay when I need vector graphics or illustrations alongside photos.
4. Freepik - Premium Vectors
Freepik has the best vector graphics and illustrations I’ve found for free.
The catch: Some require attribution even for free downloads. I always check the license for each file.
5. OpenArt - AI-Generated Creative Assets
This is newer but promising for unique content.
// OpenArt API for AI-generated imagesconst fetchOpenArtImages = async (prompt, style = "realistic") => { const response = await fetch( 'https://openart.ai/api/v1/generations', { method: 'POST', headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer YOUR_API_KEY' }, body: JSON.stringify({ prompt: prompt, style: style, width: 1024, height: 1024 }) } ); return response.json();};I use OpenArt when I need specific scenes that don’t exist in traditional stock photo libraries.
6. Canva - Template Resources
Canva isn’t just stock photos - it’s design templates that save hours.
// Canva API for design templatesconst fetchCanvaTemplates = async (type = "social_media") => { const response = await fetch( `https://api.canva.com/v1/designs?type=${type}`, { headers: { 'Authorization': 'Bearer YOUR_CANVA_TOKEN', 'Content-Type': 'application/json' } } ); return response.json();};Common Mistakes I Made
-
Assuming all “free” means copyright-safe
- I learned the hard way that “free” doesn’t always mean “legal for commercial use”
-
Ignoring attribution requirements
- I got warning emails from Unsplash when I didn’t provide proper attribution
-
Using watermarked versions
- Some sites show high-quality previews but only give watermarked downloads for free
-
Overlooking API access
- I was manually downloading images until I discovered API access for automated workflows
Comparison Table
| Platform | Best For | Commercial Use | Attribution | Quality |
|---|---|---|---|---|
| Unsplash | Photography | Yes | Required | Excellent |
| Pexels | General Use | Yes | Not Required | Good |
| Pixabay | Mixed Assets | Yes | Required for some | Good |
| Freepik | Vectors/Illustrations | Some files | Required | Excellent |
| OpenArt | AI-Generated | Check license | Varies | Good |
| Canva | Templates | Yes | Not Required | Good |
The reason
The key reason most creators fail is they don’t understand licensing terms. Each platform has different rules:
- Some allow commercial use without attribution (Pexels)
- Some require attribution even for free images (Unsplash)
- Some have mixed licensing (Pixabay, Freepik)
I keep a cheat sheet:
NO ATTRUTION NEEDED:- Pexels (mostly)- Canva templates- Pixabay public domain
ATTRIBUTION REQUIRED:- Unsplash (always)- Freepik free vectors- Pixabay some assetsSummary
In this post, I showed the best free stock image resources for different needs. The key point is knowing which platforms offer legal protection for your projects.
I use:
- Pexels when I need no-hassle commercial images
- Unsplash for professional photography with attribution
- Pixabay for diverse assets beyond just photos
- Freepik for high-quality vectors
- OpenArt for unique AI-generated content
- Canva for ready-to-use templates
Always check the specific license for each image, and never assume “free” means “copyright-safe.” The best approach is using multiple platforms based on your specific needs for each project.
Final Words + More Resources
My intention with this article was to help others share my knowledge and experience. If you want to contact me, you can contact by email: Email me
Here are also the most important links from this article along with some further resources that will help you in this scope:
- 👨💻 Unsplash API Documentation
- 👨💻 Pexels API Documentation
- 👨💻 Pixabay API Documentation
- 👨💻 Freepik Terms of Use
Oh, and if you found these resources useful, don’t forget to support me by starring the repo on GitHub!
Comments