How are photo pixels translated into text characters?
First, the tool draws the image to a canvas and downsamples it to match your target width while preserving the aspect ratio. Then, for each pixel coordinate, it calculates the **relative luminance** using standard colorimetry formulas: Y = 0.2126R + 0.7152G + 0.0722B. This brightness value (from 0 to 255) is normalized and mapped to the closest matching character in our density sequence, where dense symbols represent dark areas and spaces represent light backdrops.
Why does the plain text look stretched or distorted?
Plain text ASCII art is highly dependent on monospace fonts (like Courier New or Lucida Console) where every symbol occupies the exact same width and height. Additionally, because standard text characters are taller than they are wide (typically a 1:1.6 aspect ratio), our converter automatically applies a height scale correction of **0.55** to squeeze the vertical layout, ensuring the final text art doesn't look stretched when viewed in standard code editors.
Does this support full color output?
Yes, absolutely. By toggling Color Mode to **HTML Color**, the generator creates a sequence of styled `<span>` tags. Each text character is wrapped in a span with a custom color: #hex; styling representing the exact color of the original photo pixel, rendering rich full-color ASCII art on web pages.
Are my photos uploaded to a third-party server?
No. SimplyUtils handles all downsampling and mathematical character mapping entirely within your local browser window context. Your images never travel over the network, guaranteeing absolute data confidentiality.
Strict Local Renders: Because all rendering operations take place completely inside your local browser memory space, your images are never sent over the internet or stored on a server.