Home / Typography / Vertical Text

Vertical Text CSS Template, Free with Live Demo

Free vertical text website template for a Japanese tea house. Top to bottom writing with CSS writing-mode, vertical labels and a red stamp. Live demo. The example is Kumo, a Japanese tea house.

Open live demoDownload HTML fileView code on GitHub
Vertical Text CSS template example: Kumo, a Japanese tea house

What is vertical text?

Vertical text runs from top to bottom instead of left to right. In Japanese and Chinese it is a traditional way to write, and on the web it adds a calm, poster like feel to a layout.

CSS writing-mode: vertical-rl turns any element vertical. Japanese characters stand upright on their own, and English stays readable too. It is real text, so it can be selected, translated and searched.

Good for

  • Japanese, Chinese and Korean brands
  • Tea houses, restaurants and ryokans
  • Fashion and editorial layouts
  • Side labels and section markers

What you get in this template

The key CSS

This is the part that makes the vertical text look work. Copy it into your own project.

.v {
  writing-mode: vertical-rl;
  text-orientation: mixed;
}
.jp {
  font-family: "Noto Serif JP", serif;
  font-size: clamp(3.4rem, 8vw, 6.4rem);
  letter-spacing: .1em;
}

How to use it

  1. Click Download HTML file above.
  2. Open the file in any code editor, like VS Code.
  3. Change the text, colors and links to match your project. Colors are at the top of the style tag.
  4. Upload it to any host, such as GitHub Pages, Netlify or your own server. It is one file with no build step.

Questions people ask

How do you make vertical text in CSS?

Use writing-mode: vertical-rl on the element. Lines then run top to bottom and stack from right to left.

What is the difference between writing-mode and rotate?

Rotating turns the whole box sideways. writing-mode changes how text flows, so CJK characters stay upright and layout works properly.

Is vertical text accessible?

Yes. It is real text, and screen readers read it normally. Add the right lang attribute so it is pronounced correctly.

More Typography designs