Jet text generator
Turn a line of text into a vertical jet of characters: each character repeats into a column, CJK and Latin stay aligned by East Asian width, and you can tune the height (3–40), column gap and row gap plus a tapered outline and a base arrow.
Runs in your browserEvery computation happens in your browser — your data never leaves this device.
Each line becomes its own jet; up to 5 lines and 60 characters in total. Full-width characters count as two columns.
Jet text
View and copy it in a monospace font; the trailing spaces keep the columns aligned.
Enter text to see the jet effect
Total lines
0
Columns
0
Max display width
0
Characters
0
What this tool does
- Render a word as a vertical jet of characters you can paste straight into chat, comments or a terminal
- Mixed CJK and Latin text stays aligned because every character is padded to a uniform East Asian width (full-width 2 columns, half-width 1)
- Tune the height, column gap and row gap, and switch on the tapered outline and the base arrow for a real jet shape
Example
Input
Hi
Output
H i H i H i
This is the preset behind the “Example” button: height 3, column gap 1, no base arrow. Every character is padded to the widest cell, so the columns line up in a monospace font.
Frequently asked questions
How does mixed CJK and Latin text stay aligned?
Widths follow East Asian Width: CJK, kana and full-width punctuation (W/F) take 2 columns, ASCII takes 1 and combining or zero-width characters take 0. Each character is padded with spaces to the same cell width, so every output line has an identical total width in a monospace font.
Are there exceptions?
Yes. Symbols with EastAsianWidth=Ambiguous (▲, ±, ★ …) may render 1 or 2 columns wide depending on the terminal, and this tool always counts them as 1. Emoji ZWJ sequences, variation selectors and regional indicators cannot be described by a single code point either, so they are measured per code point. Paste the result into a monospace font and check visually when you use those characters.
Can I delete the trailing spaces?
Better not. The trailing spaces pad the last cell to the common width; removing them looks fine in an editor but makes the line widths differ, and the art skews wherever you paste it.
What are the input limits?
At most 5 lines and 60 characters, a jet height of 3–40 and column/row gaps of 0–10. Going past them throws input-too-long, too-many-lines, invalid-height and friends instead of generating tens of thousands of lines and freezing the tab.
How do taper and the base arrow work?
Taper: the first row uses your column gap and every following row adds one more space, so the top is narrowest and the bottom widest. The base arrow appends a row of ▲ (padded to the same cell width) underneath; with taper on, that row uses the widest bottom gap.
Keywords:喷射文字生成竖直文字字符画文字竖排ASCII 艺术jet text generatorvertical text arteast asian widthtxt-jet