User Rating 0.0 โ˜…โ˜…โ˜…โ˜…โ˜…
Total Usage 0 times
0 / 5,000
#FFFFFF
Presets:
Preview
Your colored text will appear here...
Is this tool helpful?

Your feedback helps us improve.

โ˜… โ˜… โ˜… โ˜… โ˜…

About

Applying individual colors to each character in a string is a non-trivial formatting task. A naive approach assigns random hues, producing visual noise. This tool distributes colors algorithmically: rainbow mode maps the HSL color wheel across the character count using h = i ร— 360 รท n, gradient mode performs linear RGB interpolation between two endpoints, and custom mode distributes up to 8 color stops with smooth transitions. Each character receives an inline color property via <span> wrapping. The output is valid HTML suitable for embedding in websites, emails, or social media bios. Note: exported PNG renders at 2ร— resolution for retina displays but cannot preserve text selectability. For accessibility-critical contexts, colored text alone should not convey meaning per WCAG 1.4.1.

color text rainbow text gradient text colored letters text styling text formatter colorful text generator

Formulas

Rainbow mode distributes hues evenly across the HSL color wheel for each visible character at index i out of n total visible characters:

hi = i ร— 360n

Gradient mode interpolates linearly between two RGB color endpoints. For each channel c โˆˆ {R, G, B}:

ci = cstart + (cend โˆ’ cstart) ร— in โˆ’ 1

Where hi is the hue in degrees at position i, n is total visible character count (whitespace excluded from coloring but preserved in output), cstart and cend are the RGB channel values of the gradient endpoints. Multi-stop custom gradients use piecewise linear interpolation between adjacent stops, with each segment length proportional to 1k โˆ’ 1 where k is the number of color stops.

Reference Data

Color ModeAlgorithmBest ForColor CountCustomizable
RainbowHSL wheel distributionHeadings, social mediaContinuous spectrumSaturation, Lightness
Gradient (2-color)Linear RGB interpolationBrand text, subtle styling2 endpointsStart & end colors
Custom StopsMulti-stop interpolationComplex palettes2-8 stopsEach stop color
Random PastelCurated palette cyclingPlayful, casual text12 preset huesPalette selection
Monochrome ShadesLightness variationElegant, minimal1 base hueBase color
Warm SpectrumHSL range 0ยฐ - 60ยฐAutumn, fire themesWarm subsetSaturation
Cool SpectrumHSL range 180ยฐ - 270ยฐOcean, winter themesCool subsetSaturation
NeonHigh saturation HSLDark backgroundsContinuousLightness
PastelLow saturation, high lightnessSoft, gentle aestheticsContinuousHue range
Flag StripesBlock color assignmentNational flags, pride3-7 blocksBlock colors
Alternating2-color toggle per charRetro, bold contrast2 colorsBoth colors
WaveSinusoidal HSL modulationAnimated effectsContinuousFrequency, amplitude

Frequently Asked Questions

Whitespace characters (spaces, tabs, newlines) are preserved in the output but excluded from the color index calculation. Only visible characters receive color assignments. This prevents "wasted" hues on invisible characters and ensures the full 360ยฐ spectrum is distributed across characters the user can actually see.
Yes. The export uses inline styles on individual elements with the "color" CSS property, which has near-universal email client support including Gmail, Outlook, and Apple Mail. The tool avoids CSS classes, external stylesheets, and modern properties that email clients strip. However, some clients may collapse adjacent elements - the generated markup accounts for this by including explicit whitespace nodes.
Gradient smoothness depends on character count. With only 5 characters between two colors, you get 5 discrete steps. For smoother transitions, use longer text. The interpolation is linear in RGB space; perceptually uniform gradients would require OKLAB or CIELAB interpolation, which this tool approximates but does not fully implement. For critical color work, export the hex values and verify in a design tool.
Yes. The "Copy CSS" export generates a set of CSS rules using nth-child selectors targeting each by position. Wrap your text in a container, place each character in a , and apply the generated stylesheet. This approach is cleaner for websites but unsuitable for email or platforms that strip
The tool caps input at 5,000 characters. Real-time preview remains smooth up to approximately 2,000 characters on mid-range mobile devices. Beyond that, the DOM node count (one per character) can cause layout reflow delays. The PNG export via Canvas handles up to 5,000 characters without issue since it renders to a bitmap rather than maintaining live DOM nodes.
Animation is preview-only. Exported HTML includes static inline colors at the frame visible at export time. Exported PNG captures the current animation frame. To create animated colored text for a website, use the "Copy CSS Animation" option which generates @keyframes rules cycling hue rotation on each character with staggered delays.