Pie charts are circular charts divided into slices to illustrate numerical proportions. Each slice represents a part of a whole — commonly used to visualize data distribution (e.g., market share, budget percentage, survey results).
Even though CSS is not designed primarily for data visualization, you can create pie-chart-like shapes using just CSS — mainly by leveraging borders, clip-path, and conic-gradient.
A pie chart:
Example:
| Category | Percentage |
|---|---|
| A | 40% |
| B | 30% |
| C | 20% |
| D | 10% |
conic-gradient() (Modern & Simple)This is the easiest and most modern way to create a pie chart.
<div class="pie"></div>
<style>
.pie {
width: 200px;
height: 200px;
border-radius: 50%;
background: conic-gradient(
#4caf50 0 40%, /* 40% */ #2196f3 40% 70%,/* next 30% */ #ff9800 70% 90%,/* next 20% */ #f44336 90% 100% /* last 10% */ );
}
</style>
✔️ Best method
✔️ Pure CSS
✔️ Easy to adjust slices
❌ Not supported in very old browsers
clip-pathYou can manually build slices and rotate them.
<div class="chart">
<div class="slice slice1"></div>
<div class="slice slice2"></div>
</div>
<style>
.chart {
width: 200px;
height: 200px;
border-radius: 50%;
position: relative;
overflow: hidden;
}
.slice {
position: absolute;
width: 100%;
height: 100%;
clip-path: polygon(50% 50%, 100% 0, 100% 100%);
}
.slice1 {
background: orange;
transform: rotate(0deg);
}
.slice2 {
background: blue;
transform: rotate(120deg);
}
</style> ✔️ Works without gradients
❌ Hard to calculate angles manually
Uses thick borders to simulate pie slices. Rarely used now but good to know:
<div class="pie"></div>
<style>
.pie {
width: 0;
height: 0;
border: 100px solid;
border-color: #4caf50 #2196f3 transparent transparent;
border-radius: 50%;
}
</style> ✔️ Legacy technique
❌ Limited slices
❌ Hard to customize
| Method | Best Use Case |
|---|---|
conic-gradient() | Real pie charts, dashboards, modern apps |
clip-path | Controlled custom slices, animations |
| Border trick | Learning / old browsers / simple shapes |
| Approach | Ease | Notes |
|---|---|---|
conic-gradient | ⭐⭐⭐⭐⭐ | Best & easiest |
clip-path | ⭐⭐⭐⭐ | More control |
| Border hack | ⭐⭐⭐ | Old method |
Latest tech news and coding tips.
Why borrowing code is a skill—when you understand what you're copying. For years, "copy-paste developer"…
Interactive forms rarely keep every field active all the time. Sometimes an input should only…
A modern JavaScript API for working with dates, times, time zones, and calendars without the…
Understanding What Happens Behind the Scenes Node.js looks simple from the outside—you write JavaScript, call…
The need for absolute certainty is the greatest disease the engineering mind faces. The moment…
The software industry is one of the most competitive places to build a career. Every…