Testimonial Slider Generator
Create beautiful testimonial carousels with star ratings, auto-play, navigation arrows, and dots. Showcase your customer reviews with style.
Live Preview
★★★★★
“This tool saved me hours of work. Incredibly easy to use and the results look professional!”
Sarah Johnson
Marketing Manager
Generated Code
<style>
.ts-container {
position: relative;
max-width: 600px;
margin: 0 auto;
background: #f8fafc;
padding: 24px;
border-radius: 12px;
font-family: system-ui, sans-serif;
}
.ts-card { display: none; }
.ts-card.active { display: block; }
.ts-stars { color: #f59e0b; font-size: 19px; margin-bottom: 12px; }
.ts-quote {
font-size: 15px;
color: #1e293b;
line-height: 1.6;
margin: 0 0 16px;
font-style: italic;
}
.ts-author { display: flex; align-items: center; gap: 12px; }
.ts-avatar { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; }
.ts-name { font-size: 14px; font-weight: 600; color: #1e293b; }
.ts-role { font-size: 12px; color: #1e293b; opacity: 0.6; }
.ts-nav { display: flex; justify-content: center; gap: 8px; margin-top: 16px; }
.ts-dot {
width: 8px; height: 8px; border-radius: 50%; border: none;
background: #1e293b30; cursor: pointer; padding: 0;
}
.ts-dot.active { background: #f59e0b; }
.ts-arrows { display: flex; justify-content: space-between; position: absolute; top: 50%; left: 8px; right: 8px; transform: translateY(-50%); pointer-events: none; }
.ts-arrow {
background: #ffffff; border: 1px solid #1e293b20; border-radius: 50%;
width: 32px; height: 32px; display: flex; align-items: center; justify-content: center;
cursor: pointer; pointer-events: auto; font-size: 14px; color: #1e293b;
}
</style>
<div class="ts-container">
<div class="ts-card active">
<div class="ts-stars">★★★★★</div>
<p class="ts-quote">“This tool saved me hours of work. Incredibly easy to use and the results look professional!”</p>
<div class="ts-author">
<div>
<div class="ts-name">Sarah Johnson</div>
<div class="ts-role">Marketing Manager</div>
</div>
</div>
</div>
<div class="ts-card">
<div class="ts-stars">★★★★★</div>
<p class="ts-quote">“I love how customizable everything is. Perfect for my client websites.”</p>
<div class="ts-author">
<div>
<div class="ts-name">Mike Chen</div>
<div class="ts-role">Web Developer</div>
</div>
</div>
</div>
<div class="ts-card">
<div class="ts-stars">★★★★☆</div>
<p class="ts-quote">“The best free tool I've found for creating testimonial sections. Highly recommended!”</p>
<div class="ts-author">
<div>
<div class="ts-name">Emily Davis</div>
<div class="ts-role">Small Business Owner</div>
</div>
</div>
</div>
<div class="ts-nav">
<button class="ts-dot active"></button>
<button class="ts-dot"></button>
<button class="ts-dot"></button>
</div>
<div class="ts-arrows">
<button class="ts-arrow ts-prev">❮</button>
<button class="ts-arrow ts-next">❯</button>
</div>
</div>
<script>
(function(){
const cards = document.querySelectorAll(".ts-card");
const dots = document.querySelectorAll(".ts-dot");
let cur = 0;
function show(i) {
cards.forEach(c => c.classList.remove("active"));
dots.forEach(d => d.classList.remove("active"));
cur = (i + cards.length) % cards.length;
cards[cur].classList.add("active");
if(dots[cur]) dots[cur].classList.add("active");
}
document.querySelector(".ts-prev").addEventListener("click",()=>show(cur-1));
document.querySelector(".ts-next").addEventListener("click",()=>show(cur+1));
dots.forEach((d,i)=>d.addEventListener("click",()=>show(i)));
setInterval(()=>show(cur+1),5000);
})();
</script>Testimonials
#1
#2
#3