Substack Gradient is a warm and bold 2-colour linear gradient that runs from orange (#FF6719) to red (#CF2D18) at 135°. It is inspired by Substack’s brand colours, a reference point for media interfaces. Black text reads best on it, at a contrast ratio of 5.4:1 against the gradient’s average colour (AA). Check every point, not just the average →
Unofficial reference: inspired by Substack’s brand colours, which may differ from its official guidelines. The Gradients is not affiliated with or endorsed by Substack. Substack is a trademark of its owner. The CSS is free to use, but don’t use these colours to make your own product look like Substack’s. Terms
background: linear-gradient(135deg, #FF6719, #CF2D18);
bg-gradient-to-br from-[#FF6719] to-[#CF2D18]
{
"substack": {
"value": "linear-gradient(135deg, #FF6719 0%, #CF2D18 100%)",
"type": "color"
}
}
The same gradient, same direction, ready for your app or design system.
let substackGradient = LinearGradient(
colors: [
Color(red: 1, green: 0.404, blue: 0.098),
Color(red: 0.812, green: 0.176, blue: 0.094)
],
startPoint: UnitPoint(x: 0, y: 0),
endPoint: UnitPoint(x: 1, y: 1)
)
// Usage
Rectangle().fill(substackGradient)val substackColors = listOf(Color(0xFFFF6719), Color(0xFFCF2D18))
Modifier.drawBehind {
drawRect(
Brush.linearGradient(
colors = substackColors,
start = Offset(size.width * 0f, size.height * 0f),
end = Offset(size.width * 1f, size.height * 1f)
)
)
}<!-- res/drawable/substack_gradient.xml -->
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:angle="315"
android:startColor="#FF6719"
android:endColor="#CF2D18"
android:type="linear" />
</shape>const substackGradient = LinearGradient(
begin: Alignment(-1, -1),
end: Alignment(1, 1),
colors: [Color(0xFFFF6719), Color(0xFFCF2D18)],
);
// Usage
Container(decoration: const BoxDecoration(gradient: substackGradient))import { LinearGradient } from 'expo-linear-gradient';
<LinearGradient
colors={['#FF6719', '#CF2D18']}
start={{ x: 0, y: 0 }}
end={{ x: 1, 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="substack" x1="0" y1="0" x2="1" y2="1">
<stop offset="0%" stop-color="#FF6719" />
<stop offset="100%" stop-color="#CF2D18" />
</linearGradient>
</defs>
<rect width="100%" height="100%" fill="url(#substack)" />
</svg>:root {
--substack-1: #FF6719;
--substack-2: #CF2D18;
--substack-angle: 135deg;
--substack: linear-gradient(var(--substack-angle), var(--substack-1), var(--substack-2));
}
.hero {
background: var(--substack);
}$substack-1: #FF6719;
$substack-2: #CF2D18;
$substack: linear-gradient(135deg, $substack-1, $substack-2);
@mixin substack-bg {
background: $substack-1;
background: $substack;
}| Stop | Name | HEX | RGB | HSL |
|---|---|---|---|---|
| 1 | Orange | #FF6719 | rgb(255, 103, 25) | hsl(20, 100%, 55%) |
| 2 | Red | #CF2D18 | rgb(207, 45, 24) | hsl(7, 79%, 45%) |
Free PNG wallpapers and backgrounds, drawn in your browser at full resolution.
The Substack Gradient uses 2 colours: #FF6719 and #CF2D18, at an angle of 135°.
Paste background: linear-gradient(135deg, #FF6719, #CF2D18); into any element’s styles. For Tailwind, use the class list in the Tailwind block above.
Black text has the best contrast, at 5.4:1 against the gradient’s average colour, which is AA. Check the lightest and darkest ends too if text spans the whole gradient.