ASCII art file sizes: TXT versus PNG
Nine real exports from three original test images at 40, 80 and 120 columns. Download the files and check every byte count.
Original measurements recorded 8 November 2026. This is a bounded experiment, not a survey of users or a market statistic.
TXT was smaller in these nine exports
For our three synthetic images at three output widths, the PNG files used 16.6 to 42.7 times the bytes of their matching TXT files. This range is calculated from the recorded byte counts, not a universal compression ratio. These fixtures are a gradient, a checkerboard and a disk, not a sample of photographs or user uploads.
| Source | Columns / rows | TXT bytes | PNG bytes | PNG pixels | Files |
|---|---|---|---|---|---|
| gradient | 40 / 12 | 491 | 15,601 | 349 × 242 | TXT / PNG |
| gradient | 80 / 25 | 2,024 | 86,516 | 657 × 461 | TXT / PNG |
| gradient | 120 / 37 | 4,476 | 170,140 | 965 × 662 | TXT / PNG |
| checkerboard | 40 / 12 | 491 | 15,951 | 350 × 242 | TXT / PNG |
| checkerboard | 80 / 25 | 2,024 | 52,123 | 658 × 461 | TXT / PNG |
| checkerboard | 120 / 37 | 4,476 | 120,244 | 965 × 662 | TXT / PNG |
| disk | 40 / 12 | 491 | 9,856 | 348 × 242 | TXT / PNG |
| disk | 80 / 25 | 2,024 | 40,628 | 656 × 461 | TXT / PNG |
| disk | 120 / 37 | 4,476 | 74,256 | 964 × 662 | TXT / PNG |
At the same column count, all three TXT files have the same byte length in this experiment. Each cell is one printable ASCII character and each line separator is a single LF. The contents differ, but the grid dimensions determine their uncompressed text length here. The PNG sizes differ even at the same grid size; the saved files let you inspect that difference directly.
The original inputs are public too
Try a source in the image converter. Upload its downloaded PNG, select Standard mode, use the Standard ramp and neutral image adjustments, then compare widths 40, 80 and 120. Choose Monospace for the PNG display font. Your browser's rasterization, fonts and PNG encoder can produce different bytes.
Method: actual browser files, not size estimates
The fixture generator creates three opaque grayscale 320 × 180 PNGs: a left-to-right linear gradient, alternating 20-pixel squares, and a black disk with radius 70 pixels on white. No third-party artwork or uploaded user data enters this experiment.
We recorded the run at . The browser reported Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36. We used the production image converter with ramp @%#*+=-:. (including the final space), brightness/contrast/saturation 1, hue/sepia 0, no inversion and no dithering. Its 0.55 row geometry produced the row counts in the table.
TXT is UTF-8, with no BOM and no appended final LF. Its byte length is columns × rows + rows − 1 for these ASCII grids. PNG uses the production canvas layout and encoder: 14px text, requested monospace, 20px padding, black text on white. We counted actual encoded PNG bytes; Canvas toBlob creates the image file.
Download the browser measurement source and its self-contained compiled module. The JSON includes source, resampled-raster, TXT and PNG SHA-256 hashes. Verification rerenders the recorded RGBA samples with Standard mode and checks the saved file lengths and PNG dimensions. A different browser, installed font, encoder, crop, ramp, color mode or image can change the result.
Which format should you choose?
Choose TXT when you need editable characters and the destination preserves whitespace. Choose PNG when you need to preserve a checked rendered appearance. It is not equivalent to editable text and does not automatically repair an uneven grid. The ASCII-to-PNG tool exports pasted supported text; the width measurements show why a display font needs separate checking.


