ASCII to Color Converter
Convert ASCII text into colored SVG circles based on phonemic mapping. Each character becomes a unique colored dot with linguistic organization.
About
This tool converts ASCII text into sequences of colored SVG circles following a phonemic-linguistic color mapping system. Each letter, digit, and punctuation mark maps to a circle with a specific fill color, border color, and inner accent. The mapping is not arbitrary. Consonants are organized by place of articulation (POA), manner, and voicing: voiced consonants receive a red border (border = #E74C3C), vowels carry yellow borders, and bilabial sounds use a dark blue center. Digits 0 - 4 mirror digits 5 - 9 with inverted palettes. Grouping characters like parentheses and brackets follow symmetrical color patterns. This mapping originated from the Color Text Chrome Extension project.
The converter handles uppercase and lowercase letters, digits, common punctuation, and whitespace. Unsupported characters render as gray circles. Spaces render as gaps. Line breaks are preserved. The output is valid SVG that can be copied, downloaded, or embedded directly into HTML. Note: because English letters do not fully correspond to single phonemes, the phonemic color organization is approximate. Characters like c and x represent multiple phonemes and receive compromise mappings.
Formulas
Each character c in the input string maps to a triple of colors through a lookup function:
The SVG output for each character is a group of three concentric circles at position x = i × spacing, where i is the character index within its line:
Fill circle: rfill = 8px
Inner circle: rinner = 4px
The digit mirroring rule inverts fill and inner colors: for digit d where 5 ≤ d ≤ 9, its colors equal the swapped palette of digit (9 − d). Border color for voiced consonants is fixed at #E74C3C (red). Border color for vowels is fixed at #FFC107 (yellow). Where fill is the main circle body color, border is the outermost ring indicating voicing or vowel status, and inner is the small central dot indicating place of articulation.
Reference Data
| Character | Fill | Border | Inner | Category |
|---|---|---|---|---|
| A / a | #FFEB3B | #FFC107 | #FFF9C4 | Vowel (open front) |
| B / b | #1565C0 | #E74C3C | #0D47A1 | Voiced bilabial stop |
| C / c | #26A69A | #4DB6AC | #00897B | Voiceless velar/alveolar |
| D / d | #42A5F5 | #E74C3C | #1E88E5 | Voiced alveolar stop |
| E / e | #FFF176 | #FFC107 | #FFF9C4 | Vowel (close-mid front) |
| F / f | #90CAF9 | #64B5F6 | #42A5F5 | Voiceless labiodental |
| G / g | #66BB6A | #E74C3C | #43A047 | Voiced velar stop |
| H / h | #BDBDBD | #9E9E9E | #E0E0E0 | Voiceless glottal |
| I / i | #FFD54F | #FFC107 | #FFF8E1 | Vowel (close front) |
| J / j | #7E57C2 | #E74C3C | #5E35B1 | Voiced palatal |
| K / k | #66BB6A | #388E3C | #2E7D32 | Voiceless velar stop |
| L / l | #29B6F6 | #E74C3C | #0288D1 | Voiced alveolar lateral |
| M / m | #1E88E5 | #E74C3C | #0D47A1 | Voiced bilabial nasal |
| N / n | #42A5F5 | #E74C3C | #1565C0 | Voiced alveolar nasal |
| O / o | #FFE082 | #FFC107 | #FFF8E1 | Vowel (close-mid back) |
| P / p | #1565C0 | #1976D2 | #0D47A1 | Voiceless bilabial stop |
| Q / q | #66BB6A | #4CAF50 | #388E3C | Voiceless velar (digraph) |
| R / r | #EF5350 | #E74C3C | #C62828 | Voiced alveolar approx. |
| S / s | #26C6DA | #00ACC1 | #00838F | Voiceless alveolar fric. |
| T / t | #42A5F5 | #1976D2 | #1565C0 | Voiceless alveolar stop |
| U / u | #FFE0B2 | #FFC107 | #FFF3E0 | Vowel (close back) |
| V / v | #90CAF9 | #E74C3C | #42A5F5 | Voiced labiodental |
| W / w | #1E88E5 | #E74C3C | #1565C0 | Voiced labial-velar |
| X / x | #26A69A | #00897B | #004D40 | Voiceless velar cluster |
| Y / y | #FFCC80 | #FFC107 | #FFE0B2 | Palatal approx./vowel |
| Z / z | #26C6DA | #E74C3C | #00838F | Voiced alveolar fric. |
| 0 | #EEEEEE | #BDBDBD | #F5F5F5 | Digit (zero) |
| 1 | #E57373 | #EF5350 | #FFCDD2 | Digit (low) |
| 2 | #FFB74D | #FFA726 | #FFE0B2 | Digit (low) |
| 3 | #FFF176 | #FFEE58 | #FFF9C4 | Digit (low) |
| 4 | #81C784 | #66BB6A | #C8E6C9 | Digit (low) |
| 5 | #C8E6C9 | #66BB6A | #81C784 | Digit (high, mirror 4) |
| 6 | #FFF9C4 | #FFEE58 | #FFF176 | Digit (high, mirror 3) |
| 7 | #FFE0B2 | #FFA726 | #FFB74D | Digit (high, mirror 2) |
| 8 | #FFCDD2 | #EF5350 | #E57373 | Digit (high, mirror 1) |
| 9 | #F5F5F5 | #BDBDBD | #EEEEEE | Digit (high, mirror 0) |