Banner Text Generator
Generate custom text banners with adjustable fonts, colors, gradients, shadows, and sizes. Download as PNG instantly. Free online banner maker.
About
Text banners serve as the primary visual anchor for websites, social media headers, presentation slides, and print materials. A misaligned baseline, poor contrast ratio, or wrong aspect ratio renders the banner unreadable at small viewport sizes. This generator computes word-wrap boundaries by measuring each glyph cluster against the canvas width using the measureText() API, ensuring line breaks occur at whitespace boundaries rather than mid-word. Background gradients are interpolated across n color stops using linear interpolation along the horizontal or vertical axis. The tool targets common banner dimensions: 1200×630 px for Open Graph, 1500×500 px for Twitter headers, and arbitrary custom sizes up to 4096 px.
Limitations apply: the generator uses system-installed and web-safe fonts only. Kerning precision depends on the browser's Canvas text shaping engine. Transparent PNG export is supported, but JPEG fallback discards alpha. Pro tip: for social media, keep critical text within the center 80% of the canvas to avoid cropping on mobile feeds.
Formulas
The generator computes line breaks using a greedy word-wrap algorithm. For a given canvas width W, horizontal padding p, and a text string split into words wi, each line accumulates words until the measured pixel width exceeds the available space:
Vertical centering of n text lines uses the total text block height and canvas height H:
where lineHeight = fontSize × 1.3 (default multiplier). Gradient backgrounds interpolate between color stops c0 and c1 across the canvas diagonal or axis. Text shadow offset is defined by dx, dy in pixels with blur radius r. Outline text uses strokeText rendered before fillText at the same coordinates, with stroke width s.
Reference Data
| Platform / Use Case | Width px | Height px | Aspect Ratio | Max File Size |
|---|---|---|---|---|
| Facebook Cover | 820 | 312 | 2.63:1 | 100 KB |
| Twitter / X Header | 1500 | 500 | 3:1 | 5 MB |
| YouTube Channel Art | 2560 | 1440 | 16:9 | 6 MB |
| LinkedIn Banner | 1584 | 396 | 4:1 | 8 MB |
| Open Graph (OG Image) | 1200 | 630 | 1.91:1 | No strict limit |
| Instagram Story | 1080 | 1920 | 9:16 | 30 MB |
| Email Header | 600 | 200 | 3:1 | 200 KB |
| Blog Post Header | 1200 | 400 | 3:1 | Varies |
| Twitch Banner | 1200 | 480 | 2.5:1 | 10 MB |
| Discord Server Banner | 960 | 540 | 16:9 | 10 MB |
| Pinterest Pin | 1000 | 1500 | 2:3 | 20 MB |
| Etsy Shop Banner | 1200 | 300 | 4:1 | 2 MB |
| Presentation Slide (16:9) | 1920 | 1080 | 16:9 | N/A |
| Print Banner (A4 Landscape) | 3508 | 2480 | 1.41:1 | N/A (300 DPI) |
| Custom / Freeform | User-defined | User-defined | Any | Browser limit |