How-To GuidePublished 12 min read

Why Vertical Text Breaks on X, LINE and Instagram — and How to Fix Crooked Columns, Sideways Dashes and Wrapped Lines

You saw a post or profile written vertically in Chinese, Japanese or Korean, tried it yourself, and the columns came out crooked, the long dash stayed horizontal, or the lines wrapped halfway and fell apart. Social apps have no vertical writing mode: the vertical text you see is ordinary horizontal text rearranged one character per line, so it breaks as soon as one of three things is off — character width, screen width or the direction of punctuation. This guide separates those three causes and shows how to fix each one, how line-breaking rules keep punctuation off the top of a column, how much longer a post gets on X once it is vertical (full-width characters count as 2, up to 280), what to watch for on X, LINE and Instagram, and how to post vertical text without losing screen readers and search — with numbers from real conversions.

The short answer: vertical text breaks because of character width, screen width or punctuation direction

X, LINE and Instagram have no vertical writing feature. The vertical text you see on social media is horizontal text rebuilt so that each line holds one character from each column, and the columns are read from right to left. It looks vertical, but underneath it is still a horizontal string, so it breaks whenever one of the following is off.

SymptomCauseFix
Columns bend left or right and look jaggedCharacters of different widths are mixed in: half-width letters and digits, half-width spaces, emojiMake letters and digits full-width (or use Chinese numerals) and use full-width spaces for every gap
Lines wrap partway and the columns fall apartOne line (the number of columns) is wider than the screenUse fewer columns, or remove the space between columns
The long dash ー, brackets and 、。 stay sidewaysHorizontal punctuation is simply stacked verticallyReplace them with vertical forms such as |, ﹁﹂, ︵︶ and ︑︒
Punctuation or small kana lands at the top of a columnLines are wrapped mechanically at a fixed column lengthUse line-breaking rules to push the previous character to the next column
X says the post is too longPadding spaces and line breaks make it about 1.6–2.3 times as long as the horizontal textRemove the space between columns, shorten the text, or post an image

A vertical text converter handles all five at once: it makes characters full-width, replaces punctuation, applies line-breaking rules and shows the X character count. The sections below explain why each problem happens and how to think about it if you fix things by hand.

What social media vertical text really is: horizontal text, one character per line

Take the two lines of Li Bai's poem 床前明月光, and 疑是地上霜。. Written vertically, the first line becomes the right-hand column and the second line the left-hand column, giving 6 lines × 2 columns. The string you actually paste has 疑 床 on the first line, 是 前 on the second, and so on — the left column's character, a full-width space, then the right column's character, side by side.

LineString you actually pasteHow to read it
Line 1疑 床Start at 床 on the right and read down
Line 2是 前床 → 前 → 明 → 月 → 光
Line 3地 明
Line 4上 月
Line 5霜 光
Line 6︒ ︐When the right column ends, move to 疑 at the top of the left column

So whether it looks neatly vertical depends on one thing: does every line have characters of the same width in the same positions? If even one character is a different width, everything after it on that line shifts; if a line is wider than the screen, that line alone wraps. Almost every broken vertical post comes down to one of these two.

  • Where columns are different lengths, fill the empty cells under the short column with full-width spaces
  • The full-width space between columns is optional, but it makes the column breaks easier to see
  • Some people separate columns with a vertical bar | instead, which looks like ruled lines and adds a traditional feel
  • A line break in your text starts a new column. Set a column length to wrap long paragraphs automatically

Cause 1: characters are not all the same width (half-width letters, spaces, emoji)

In Chinese, Japanese and Korean fonts, Han characters, kana, full-width symbols and the full-width space all take the same width — one square cell. Half-width letters, digits and spaces are only about half as wide, and emoji, Hangul and Western symbols vary from device to device and app to app. Mix one of them into vertical text and everything after it on that line slides left, so the column bends.

Character typeExampleWill it shift?How to handle it in vertical text
Han characters, kana, full-width symbols月・光・!NoLeave as is
Full-width spaceU+3000NoUse it for every gap and every empty cell
Half-width digits2026YesMake them full-width (2026) or Chinese numerals (二〇二六)
Half-width Latin lettersSNSYesMake them full-width (SNS); keep long words on a separate horizontal line
Half-width spaceU+0020Shifts or disappearsReplace with a full-width space (some apps trim half-width spaces)
Half-width katakanaU+FF66–FF9FYesConvert to full-width katakana
Emoji🌸 😊Depends on the deviceKeep them out of the vertical block; put them on the first or last line

Even when made full-width, digits stand one per line — 2, 0, 2, 6 — which is hard to read. If you want it to feel like real vertical text, Chinese numerals work best: 2026年10月28日 becomes 2026年10月28日 in full-width digits, or 二〇二六年一〇月二八日 in numerals. Korean has a related quirk: the half-width space between words becomes a full-width space, so each space takes a whole cell in the column.

Cause 2: a line is wider than the screen and wraps partway

The width of each line in vertical text is set by the number of columns. With a full-width space between columns, each line is (columns × 2 − 1) cells wide; with no gap, it is simply the number of columns. When that is wider than the space the app gives you, the app wraps the line on its own, the left-hand columns drop to the next line, and the vertical layout falls apart.

ColumnsLine width (full-width space between columns)Line width (no gap)On a phone
23 cells2 cellsNever wraps
47 cells4 cellsNever wraps
611 cells6 cellsAlmost never wraps
815 cells8 cellsWith gaps, may wrap in LINE bubbles or with large text settings
1019 cells10 cellsWith gaps, wraps on most phones — remove the gaps
1529 cells15 cellsEven without gaps, wraps on narrow screens

How many full-width characters fit on one line in X, LINE or Instagram on a phone depends on screen size and text size settings, but 15–20 is a typical range. It may look fine on your screen and still wrap for someone who uses a larger text size, so keep each line within 15 cells. That means up to 7–8 columns with gaps, or about 15 columns without.

  • If you have many columns, make each column longer so there are fewer of them (tall and narrow)
  • Setting the gap between columns to none roughly halves the line width
  • Split long text into several posts, or turn it into an image
  • Chat bubbles in LINE (and in KakaoTalk or WeChat) are narrower than the screen, so plan for fewer columns than on X or Instagram

Cause 3: the long dash, brackets and punctuation stay sideways

In printed vertical text, the Japanese long vowel mark ー turns into a vertical bar, brackets are rotated 90 degrees, and the ideographic comma and full stop 、。 sit in the upper right of their cell. Social media vertical text simply stacks horizontal characters, so ー stays a horizontal stroke and 「」 stay sideways, which reads oddly. The fix is to swap them for the vertical presentation forms that Unicode provides.

Horizontal characterVertical replacementNotes
ー (Japanese long vowel mark)| (full-width vertical bar)The single most visible improvement
、。,︑︒︐Shifted to the upper right, so punctuation sits naturally in the column
「」『』﹁﹂﹃﹄Vertical corner brackets
()【】︵︶︻︼Brackets that open upward and downward
〈〉《》〔〕︿﹀︽︾︹︺Angle and tortoise-shell brackets have vertical forms too
…︙The ellipsis becomes a vertical dotted line
〜≀The wave dash becomes a vertical wave
→ ←↓ ↑Arrows point along the vertical reading direction

These vertical forms (Unicode U+FE10–U+FE19, U+FE30–U+FE4F and so on) display in the standard fonts of current iPhone, Android, Windows and Mac devices. Very old devices occasionally show them as empty boxes (tofu), so for important announcements it is safer to leave out punctuation and separate phrases with full-width spaces.

Use line-breaking rules when punctuation lands at the top of a column

When you set a column length and wrap a long sentence, punctuation, closing brackets, small kana or the long vowel mark can end up at the very top of a column. CJK typesetting has a rule against this (kinsoku in Japanese, 避头尾 in Chinese): the previous character is pushed to the next column along with it, so every column starts with an ordinary character.

Column lengthWithout line-breaking rules (column by column)With line-breaking rules (column by column)
7今天天气很好︐/我们去公园散步/︒樱花已经盛开/了︐坐在长椅上/看了很久︒今天天气很好︐/我们去公园散/步︒樱花已经盛/开了︐坐在长椅/上看了很久︒
11今天天气很好︐我们去公/园散步︒樱花已经盛开了/︐坐在长椅上看了很久︒今天天气很好︐我们去公/园散步︒樱花已经盛开/了︐坐在长椅上看了很/久︒

With the rules on, a column that gives up a character becomes one or two cells shorter and gets a full-width space at the bottom. That looks slightly uneven, but it reads far more naturally than a column starting with ︒ or ︐. For short-lined text such as poems, where each line break starts a new column, nothing wraps in the first place, so the rules make no difference.

  • Characters kept off the top of a column: 、。,.・:;!?, closing brackets 」』)】, the long vowel mark ー, and small kana
  • At most two characters are pushed. If more would be needed, change the column length instead
  • Set the column length to auto (match the longest line) and columns split only where you pressed Enter, so nothing wraps

Vertical text makes your X character count about 1.6–2.3 times longer

X counts Han characters, kana, Hangul and full-width symbols as 2 and half-width letters, digits and line breaks as 1, and a single post can hold up to 280 (140 full-width characters). Vertical text adds full-width padding spaces (2 each), full-width gaps between columns (2 each) and a line break on every line (1 each), so the same words count for much more than in horizontal form.

TextHorizontalVertical (full-width space between columns)Vertical (no gap)
床前明月光,/疑是地上霜。(12 characters, 2 columns)254129
The full four-line poem (24 characters, 4 columns)518953
가는 말이 고와야/오는 말이 곱다 (2 columns)316244
Stay hungry,/stay foolish. (2 columns)269064
A 33-character Chinese sentence in 10-character columns6614989

With full-width spaces between columns, CJK text grows to about 1.6–2.3 times its horizontal count; with no gap, about 1.0–1.5 times. English grows the most — over 3 times — because every half-width letter (1) becomes a full-width letter (2). For densely packed text, the practical ceiling for one post is about 70 characters with gaps and about 130 without. Text with uneven line lengths, like poetry, grows even more because the short columns are padded with spaces.

What to watch for on X, LINE and Instagram

The same vertical text looks different depending on where you paste it. Here are the weak spots on each platform.

Platform and placeLength limitWhat tends to breakRecommended layout
X post280 (full-width 2, half-width and line breaks 1)Long posts are cut off behind “Show more”Up to 8 columns with gaps; remove gaps if long
X profile bio160 charactersMany line breaks make the bio very tallA short phrase of 4–5 characters × 2–3 columns
Instagram caption2,200 charactersOnly the first few lines show at firstA horizontal line of explanation first, then the vertical text
Instagram bio150 charactersNarrow, and many lines are hard to readA short phrase in 2–3 columns
LINE chatLong messages are fineBubbles are narrower than the screen and wrap easilyUp to 6 columns, no gaps
LINE status messageMeant for a short lineThe friends list shows only the first lineA horizontal one-liner is safer than vertical text
  • X uses different fonts on the web and in the phone app. Check both before pinning a vertical post
  • On Instagram, put a horizontal line such as “written vertically” before the vertical block so the preview tells people what the post is
  • LINE's chat text size setting (small, normal, large, extra large) changes how many characters fit per line. You cannot see the other person's setting, so use fewer columns
  • Every platform may trim half-width spaces at the start or end of a line. Always pad vertical text with full-width spaces

Screen readers, search and translation cannot read vertical text

Read line by line from the top, vertical text is 疑 床, then 是 前, and so on. Phone screen readers (VoiceOver on iPhone, TalkBack on Android) read it in exactly that order, so it becomes a meaningless string of characters. Search and machine translation have the same problem: vertical posts are hard to find by their words and almost impossible to translate.

  • Do not write important announcements vertically. Keep vertical text for short, decorative phrases
  • Add the same text horizontally in a reply or on the last line so it reaches screen readers and search
  • If you post an image, put the horizontal text in the image description (alt text)
  • Keep hashtags horizontal at the end — stacked vertically they do not work as tags

To read or quote vertical text you found on social media, paste it into the converter's Back to horizontal tab, which reads from the right-hand column and turns it into horizontal text. A paragraph that ends exactly at the column length is joined to the next one on a single line, so add line breaks back where needed.

For long text or a polished look, make a vertical image

Vertical text is easy to copy and paste, but you cannot control the font, column count or punctuation shapes precisely. For long poems, letters, greeting-card messages or header images where the look matters, a vertical text image comes out much cleaner.

Vertical textVertical image
Best forShort phrases, a single poem, a profile one-linerLonger poems, message cards, headers
AppearanceDepends on the app's font; punctuation uses vertical-form stand-insChoose serif (Mincho) or sans-serif (Gothic); dashes and brackets are rotated and punctuation placed in the upper right, close to print
Length limit280 on XNone (one image)
Screen readers and searchMostly unreadableReadable if you add the text as alt text
Editing laterEdit the text on the spotNeeds to be remade

The converter's Vertical image tab lets you pick serif or sans-serif type, white, washi paper, night sky or blackboard colours, text size, and a manuscript-paper grid, then save a PNG. The most reliable combination is to make both: post the image, and put the horizontal text in the post body.

Checklist before you post vertical text

  1. 1

    Even out letters, spaces and emoji

    Make half-width letters and digits full-width or use Chinese numerals, turn spaces into full-width spaces, and move emoji outside the vertical block.

  2. 2

    Switch punctuation to vertical forms

    ー → |, 「」 → ﹁﹂, () → ︵︶, 、。 → ︑︒. If old devices matter, use less punctuation.

  3. 3

    Keep each line within 15 cells

    Up to 7–8 columns with gaps, or about 15 without. If you have more, make the columns longer.

  4. 4

    Check the line-breaking

    When wrapping long text, make sure no column starts with punctuation, a closing bracket or small kana.

  5. 5

    Check the X count

    Over 280? Remove the gaps, split the post, or use an image.

  6. 6

    Preview it for real

    Paste it into a draft or notes app and look on a phone for wrapping or drift. Trying a larger text size gives extra peace of mind.

  7. 7

    Add the horizontal text too

    Put the horizontal version in a reply, on the last line or in the image alt text so screen readers, search and translation can reach it.

Vertical text is a way to make a few words stand out. Rather than writing a long explanation vertically, place one phrase or one poem vertically and add the details horizontally — it looks better and gets the message across. For writing the profile line itself, see how to write a social media bio.

FAQ

Why do my vertical text columns shift on X?
The most common reason is characters of a different width mixed in — half-width letters and digits, half-width spaces or emoji. Vertical text places one character from each column side by side on every line, so one odd-width character shifts the rest of that line. Make letters and digits full-width (or use Chinese numerals) and use full-width spaces.
The long dash ー stays horizontal in vertical text. How do I make it vertical?
Social apps have no vertical mode and simply stack the horizontal character. Replace ー with the full-width vertical bar |. Likewise, replace 「」 with ﹁﹂, () with ︵︶ and 、。 with ︑︒, the vertical forms of those symbols.
On my phone the vertical text wraps halfway and falls apart.
Each line (the number of columns) is wider than the screen. With full-width spaces between columns a line is (columns × 2 − 1) cells wide, so 10 columns take 19 cells and wrap on most phones. Keep each line within 15 cells by using fewer columns or removing the gaps.
How much text fits in one vertical post on X?
X allows 280, counting full-width characters as 2 and half-width characters and line breaks as 1. Vertical text adds padding spaces and line breaks, so for densely packed text the ceiling is about 70 characters with gaps and about 130 without. The couplet 床前明月光,/疑是地上霜。 counts 25 horizontally and 41 vertically (29 with no gaps).
Punctuation ends up at the top of a column.
This happens when lines are wrapped mechanically at a fixed column length. Turn on line-breaking rules and punctuation, closing brackets, small kana and the long vowel mark are kept off the top by pushing the previous character to the next column. For poems split by line breaks, set the column length to auto and nothing wraps at all.
Is it OK to write my Instagram bio vertically?
For a short phrase, yes. The bio is limited to 150 characters and displayed in a narrow area, so about 4–5 characters × 2–3 columns is easy to read. Vertical text is hard for search and screen readers, though, so keep your name, role and other key details horizontal.
How do I turn vertical text back into horizontal text?
Read from the top of the right-hand column downward, then move to the next column on the left. If that is tedious, paste it into the converter's Back to horizontal tab. Vertical forms like ︒ and ﹁﹂ are converted back to 。 and 「」 as well.

Tools in this article

Related articles

How It Works12 min read

Ski DIN Setting Chart by Weight and Height | How Skier Type, Age and Boot Sole Length Change Your Release Value

Every ski binding has a release setting — the DIN value — that decides how hard a fall has to be before the ski comes off. Shops and rental forms ask for your weight, height and skier type to set it, but few people ever explain what a normal number looks like or what changes between Type 2 and Type 3. Using the table in the international standard ISO 11088, this guide gives a DIN chart by weight and height, explains how the skier code is chosen, why skier type, age and boot sole length move the value, typical settings for children and skiers aged 50 and over, what happens when the setting is too high or too low, how to read a binding's range, and what to tell the shop before the season — all with worked examples.

Read article →
How It Works13 min read

How to Calculate Your One Rep Max (1RM) | 100 kg for 10 Reps Is What Max? 7 Formulas Compared, Charts, Rep Max Table, %1RM and Training Loads by Goal

“I benched 80 kg for 8 reps, so what is my max?” “My 1RM is 100 kg, so what should I load for sets of 10?” You don’t have to attempt a true max to know your one rep max (1RM): you can estimate it from a weight you lifted and how many reps you got. This guide covers the most common formula, Epley (1RM = weight × (1 + reps ÷ 30)), how the seven well-known formulas (Brzycki, O’Conner and others) and the NSCA chart differ, why they drift apart as reps go up, a weight × reps chart, a rep max table that works backward from your 1RM, how to adjust with RIR and RPE when you didn’t go to failure, loads for strength, hypertrophy and endurance, and how to warm up and load the bar when you test a real max. Every number was calculated, not copied.

Read article →
How It Works12 min read

How to Calculate a JAN / EAN-13 Barcode Check Digit | Multiply by 3 and 1, Then Add — Worked Example, Excel Formula, ITF-14 and ISBN

The last digit of a JAN code (the Japanese name for EAN-13) is the “check digit”, a verification number calculated from the first 12 digits. Being able to work it out yourself helps when you only know 12 digits for a product listing, or when you want to confirm that a 13-digit code from a supplier is correct. This guide walks through the calculation — multiply from the right by 3, 1, 3, 1…, add, then subtract the last digit of the total from 10 — one digit at a time on a real 13-digit code. It also covers what the 13 digits mean (the 45/49 prefix, company prefix and item reference), how the same method works for 8-digit EAN-8, UPC-A, ITF-14 case codes, Japanese book barcodes and in-store codes, why ISBN-10 divides by 11 and uses X, Excel and Google Sheets formulas, which errors a check digit can and cannot catch, and the most common calculation mistakes.

Read article →