ASCII to Lowercase Converter
Convert ASCII uppercase characters to lowercase instantly. Handles mixed text, preserves non-alpha characters, and provides conversion statistics.
About
ASCII uppercase-to-lowercase conversion maps each character in the range A - Z (decimal 65 - 90) to its lowercase counterpart a - z (decimal 97 - 122) by adding an offset of +32 to the code point. This tool processes raw ASCII and extended character sequences. It preserves digits, punctuation, whitespace, and all non-alphabetic code points without modification. Incorrect case handling in data pipelines causes silent failures: duplicate database keys, broken string comparisons, and mismatched API parameters that return empty results instead of errors.
This converter operates entirely in-browser with zero server round-trips. It reports exact conversion statistics so you can verify how many characters were actually transformed. Note: this tool targets the ASCII subset. Characters outside the Basic Latin block (accented letters like Γ or Γ) are passed through unchanged. For full Unicode case folding, a locale-aware implementation using ICU rules would be required.
Formulas
The ASCII lowercase conversion applies a fixed arithmetic offset to each uppercase character code point:
The conditional rule governing the transformation:
Where c is the decimal ASCII code point of the input character. The offset 32 equals 0x20 in hexadecimal, which is the fixed distance between uppercase and lowercase Latin letters in the ASCII table. This is equivalent to setting bit 5 (zero-indexed) of the byte: clower = cupper | 0x20. The bitwise OR approach works because uppercase ASCII letters have bit 5 cleared and lowercase letters have it set.
Reference Data
| Character | Uppercase Code | Lowercase | Lowercase Code | Offset |
|---|---|---|---|---|
| A β a | 65 | a | 97 | +32 |
| B β b | 66 | b | 98 | +32 |
| C β c | 67 | c | 99 | +32 |
| D β d | 68 | d | 100 | +32 |
| E β e | 69 | e | 101 | +32 |
| F β f | 70 | f | 102 | +32 |
| G β g | 71 | g | 103 | +32 |
| H β h | 72 | h | 104 | +32 |
| I β i | 73 | i | 105 | +32 |
| J β j | 74 | j | 106 | +32 |
| K β k | 75 | k | 107 | +32 |
| L β l | 76 | l | 108 | +32 |
| M β m | 77 | m | 109 | +32 |
| N β n | 78 | n | 110 | +32 |
| O β o | 79 | o | 111 | +32 |
| P β p | 80 | p | 112 | +32 |
| Q β q | 81 | q | 113 | +32 |
| R β r | 82 | r | 114 | +32 |
| S β s | 83 | s | 115 | +32 |
| T β t | 84 | t | 116 | +32 |
| U β u | 85 | u | 117 | +32 |
| V β v | 86 | v | 118 | +32 |
| W β w | 87 | w | 119 | +32 |
| X β x | 88 | x | 120 | +32 |
| Y β y | 89 | y | 121 | +32 |
| Z β z | 90 | z | 122 | +32 |
| 0-9 | 48 - 57 | 0-9 | 48 - 57 | 0 |
| Space | 32 | Space | 32 | 0 |
| ! @ # $ % | 33 - 37 | ! @ # $ % | 33 - 37 | 0 |
| Newline (LF) | 10 | Newline | 10 | 0 |