#10002B
#3C096C
#9D4EDD
Halloween Witching Hour is a cool and dark 3-colour linear gradient that runs from deep purple (#10002B) through deep purple (#3C096C) to purple (#9D4EDD) at 160°. It suits dashboards and SaaS landing pages and dark-mode interfaces and footers. White text reads best on it, at a contrast ratio of 11.7:1 against the gradient’s average colour (AAA). Check every point, not just the average →
background: linear-gradient(160deg, #10002B, #3C096C, #9D4EDD);
bg-[linear-gradient(160deg,#10002B,#3C096C,#9D4EDD)]
{
"halloween-witching-hour": {
"value": "linear-gradient(160deg, #10002B 0%, #3C096C 50%, #9D4EDD 100%)",
"type": "color"
}
}
The same gradient, same direction, ready for your app or design system.
let halloweenWitchingHourGradient = LinearGradient(
colors: [
Color(red: 0.063, green: 0, blue: 0.169),
Color(red: 0.235, green: 0.035, blue: 0.424),
Color(red: 0.616, green: 0.306, blue: 0.867)
],
startPoint: UnitPoint(x: 0.318, y: 0),
endPoint: UnitPoint(x: 0.682, y: 1)
)
// Usage
Rectangle().fill(halloweenWitchingHourGradient)val halloweenWitchingHourColors = listOf(Color(0xFF10002B), Color(0xFF3C096C), Color(0xFF9D4EDD))
Modifier.drawBehind {
drawRect(
Brush.linearGradient(
colors = halloweenWitchingHourColors,
start = Offset(size.width * 0.318f, size.height * 0f),
end = Offset(size.width * 0.682f, size.height * 1f)
)
)
}<!-- res/drawable/halloween-witching-hour_gradient.xml -->
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:angle="270"
android:startColor="#10002B"
android:centerColor="#3C096C"
android:endColor="#9D4EDD"
android:type="linear" />
</shape>
<!-- Android only takes multiples of 45°: 160deg in CSS is 290°, rounded to 270°. -->const halloweenWitchingHourGradient = LinearGradient(
begin: Alignment(-0.364, -1),
end: Alignment(0.364, 1),
colors: [Color(0xFF10002B), Color(0xFF3C096C), Color(0xFF9D4EDD)],
);
// Usage
Container(decoration: const BoxDecoration(gradient: halloweenWitchingHourGradient))import { LinearGradient } from 'expo-linear-gradient';
<LinearGradient
colors={['#10002B', '#3C096C', '#9D4EDD']}
start={{ x: 0.318, y: 0 }}
end={{ x: 0.682, y: 1 }}
style={{ flex: 1 }}
/><svg xmlns="http://www.w3.org/2000/svg" width="1200" height="630" viewBox="0 0 1200 630">
<defs>
<linearGradient id="halloween-witching-hour" x1="0.318" y1="0" x2="0.682" y2="1">
<stop offset="0%" stop-color="#10002B" />
<stop offset="50%" stop-color="#3C096C" />
<stop offset="100%" stop-color="#9D4EDD" />
</linearGradient>
</defs>
<rect width="100%" height="100%" fill="url(#halloween-witching-hour)" />
</svg>:root {
--halloween-witching-hour-1: #10002B;
--halloween-witching-hour-2: #3C096C;
--halloween-witching-hour-3: #9D4EDD;
--halloween-witching-hour-angle: 160deg;
--halloween-witching-hour: linear-gradient(var(--halloween-witching-hour-angle), var(--halloween-witching-hour-1), var(--halloween-witching-hour-2), var(--halloween-witching-hour-3));
}
.hero {
background: var(--halloween-witching-hour);
}$halloween-witching-hour-1: #10002B;
$halloween-witching-hour-2: #3C096C;
$halloween-witching-hour-3: #9D4EDD;
$halloween-witching-hour: linear-gradient(160deg, $halloween-witching-hour-1, $halloween-witching-hour-2, $halloween-witching-hour-3);
@mixin halloween-witching-hour-bg {
background: $halloween-witching-hour-1;
background: $halloween-witching-hour;
}| Stop | Name | HEX | RGB | HSL |
|---|---|---|---|---|
| 1 | Deep purple | #10002B | rgb(16, 0, 43) | hsl(262, 100%, 8%) |
| 2 | Deep purple | #3C096C | rgb(60, 9, 108) | hsl(271, 85%, 23%) |
| 3 | Purple | #9D4EDD | rgb(157, 78, 221) | hsl(273, 68%, 59%) |
Free PNG wallpapers and backgrounds, drawn in your browser at full resolution.
The Halloween Witching Hour gradient uses 3 colours: #10002B, #3C096C and #9D4EDD, at an angle of 160°.
Paste background: linear-gradient(160deg, #10002B, #3C096C, #9D4EDD); into any element’s styles. For Tailwind, use the class list in the Tailwind block above.
White text has the best contrast, at 11.7:1 against the gradient’s average colour, which is AAA. Check the lightest and darkest ends too if text spans the whole gradient.