Skip to content
UniKit

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.

TaperNarrower gaps at the top, widest at the bottom.
Base arrowAdd a row of ▲ underneath as a base.

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

Related tools