ReviewCard
A reusable testimonial card component for showcasing customer reviews, social proof, and user feedback.
Each review card includes a profile image, customer name, optional role information, review text, and dynamic star ratings.
Features
- Customer profile image support
- Dynamic star ratings (0–5)
- Optional role/company information
- Hover animations
- Responsive layout
- Reusable styling via
className - Accessible star ratings
- Optimized Next.js images
- Built with Lucide icons
Import the component using:
import ReviewCard from "@/components/ui/reviewCard";Preview

Basic Example
import ReviewCard from "@/components/ui/reviewCard";
export default function Example() {
return (
<ReviewCard
image="/images/users/john.jpg"
name="John Doe"
role="Founder at Acme"
review="This product completely transformed our workflow and improved team productivity."
noOfStars={5}
/>
);
}Props
ReviewCardProps
interface ReviewCardProps {
/**
* Customer profile image
*/
image: string;
/**
* Customer name
*/
name: string;
/**
* Optional role, company,
* or additional metadata
*/
role?: string;
/**
* Customer review content
*/
review: string;
/**
* Rating from 0–5 stars
* @default 5
*/
noOfStars?: number;
/**
* Tailwind class for
* active star color
*
* @default "text-yellow-400"
*/
starsColor?: string;
/**
* Additional Tailwind classes
*/
className?: string;
}With Role Information
<ReviewCard
image="/images/users/sarah.jpg"
name="Sarah Johnson"
role="Product Designer"
review="Beautiful component and extremely easy to customize."
/>Without Role Information
<ReviewCard
image="/images/users/alex.jpg"
name="Alex Brown"
review="Setup only took a few minutes and the results were amazing."
/>Custom Star Rating
<ReviewCard
image="/images/users/jane.jpg"
name="Jane Doe"
review="Very useful component."
noOfStars={4}
/>Custom Star Color
<ReviewCard
image="/images/users/jane.jpg"
name="Jane Doe"
review="Excellent experience."
starsColor="text-primary"
/>With Custom Styling
<ReviewCard
className="max-w-md"
image="/images/users/john.jpg"
name="John Doe"
review="Highly recommended."
/>Example Data
{
image: "/images/users/john.jpg",
name: "John Doe",
role: "Founder at Acme",
review:
"This platform helped us launch our product significantly faster.",
noOfStars: 5
}Star Ratings
5 Stars
<ReviewCard
noOfStars={5}
...
/>4 Stars
<ReviewCard
noOfStars={4}
...
/>3 Stars
<ReviewCard
noOfStars={3}
...
/>Best Practices
- Keep reviews between 1 and 3 sentences.
- Use high-quality profile images.
- Keep names concise.
- Use role information for credibility.
- Limit star ratings between
0and5. - Keep testimonials authentic and specific.
- Avoid overly long review text.
- Use consistent avatar dimensions.
Accessibility
- Profile images include descriptive alt text.
- Star ratings include
aria-labelsupport. - Semantic
articleelement improves structure. - Hover effects only enhance presentation.
- Fully responsive across all screen sizes.
Ideal Use Cases
- Customer testimonials
- SaaS landing pages
- Social proof sections
- Marketing websites
- Product pages
- User feedback sections
- Agency websites
- Portfolio websites
- Review carousels
- Case study pages