# Right-to-left banner design for Arabic, Hebrew, Persian and Urdu

> What to mirror and what to leave alone in a right-to-left banner, how numbers and Latin text behave, and a checklist you can run without reading Arabic.

By The BannerTranslate team. Published 2026-11-13.
Web page: https://bannertranslate.com/resources/right-to-left-banner-design

A right-to-left banner is read from the top right, so its text is right-aligned and its composition and directional arrows usually mirror. Logos, photographs, digits, phone numbers, URLs and Latin brand names do not: they keep their normal form inside the mirrored layout. Arabic, Persian and Urdu letters must stay joined, Hebrew letters stand apart, and you can check most of this without reading a word of the language. This guide shows what to flip, what to leave alone and how to run that check.

## Which languages are written right to left

Direction belongs to the script, not the language. As the W3C Internationalization group puts it, "Languages don't have a direction." Azeri, its example, runs left to right in Latin or Cyrillic letters and right to left in the Arabic script.

The W3C's table of modern right-to-left scripts, built from a 2022 Ethnologue snapshot, lists 13 scripts and 216 languages, 189 of them written in the Arabic script. This guide concentrates on four.

| Language | Script | Direction | Digits you are likely to see | Worth knowing |
| --- | --- | --- | --- | --- |
| Arabic | Arabic | Right to left | 0123456789 or ٠١٢٣٤٥٦٧٨٩, depending on the country | Letters join |
| Hebrew | Hebrew | Right to left | 0123456789 | Letters do not join |
| Persian | Arabic | Right to left | ۰۱۲۳۴۵۶۷۸۹ in Iran and Afghanistan | Letters join; 4, 5 and 6 are drawn differently from the Arabic set |
| Urdu | Arabic, usually in the Nastaliq style | Right to left | The same extended set as Persian in Unicode, with different shapes for 4, 6 and 7 | Letters join; Nastaliq needs extra height |

The same W3C table also lists Pashto, Sindhi, Uyghur and Central Kurdish in the Arabic script, Yiddish in the Hebrew script and Dhivehi in the Thaana script.

## What mirrors and what does not

The clearest published rules come from Google's Material Design and Apple's Human Interface Guidelines. Both were written for app interfaces, not adverts, but your audience brings the same reading habits to a banner. Material's summary is that a right-to-left layout is the mirror image of a left-to-right one.

| Element | In a right-to-left banner | Why, and who says so |
| --- | --- | --- |
| Overall layout | Mirror it | Reading starts at the right (Material) |
| Text alignment | Right-align | Lines start at the right edge (Material, Apple, W3C) |
| Arrows that mean "forward" | Mirror them | Forward points left (Material) |
| Steps, timelines, before and after | Reverse the order | The first item sits on the right (Material, Apple) |
| Logos | Never mirror | A flipped logo confuses people and can have legal repercussions (Apple) |
| Photographs and illustrations | Do not flip | Flipping often changes an image's meaning (Apple) |
| Numbers and phone numbers | Keep the digit order | The digits of a number always appear in the same order (Material, Apple) |
| URLs and untranslated Latin words | Keep left to right | Text runs in its own language's direction (Material) |
| Clocks and clockwise arrows | Do not mirror | Clocks turn clockwise everywhere (Material, Apple) |
| Play buttons and media progress bars | Do not mirror | They show the direction of the tape, not of time (Material) |
| Charts and graphs | Do not mirror | Listed by Material among items that stay as they are |

The working rule is to mirror the arrangement, not the artwork. Move the product photograph from the right side to the left, but do not flip the photograph itself, and never flip anything with lettering in it.

If you [translate a banner](https://bannertranslate.com/app) with BannerTranslate, which includes Arabic, Hebrew, Persian and Urdu among its 46 languages, each version keeps the banner's own pixel size, imagery, logos, colours and layout, and only the words change. A mirrored composition is therefore something to prepare in your own design file first, if your layout needs one.

## How mixed right-to-left and left-to-right text behaves

Almost every banner mixes directions: an Arabic sentence with a Latin brand name, a price and a URL. Software handles this with the Unicode Bidirectional Algorithm, specified in Unicode Standard Annex #9, and the W3C's introduction to it comes down to four ideas.

- **Text is stored in the order it is typed**, then rearranged for display.
- **Letters have a strong direction.** Latin letters run left to right and Arabic or Hebrew letters run right to left wherever they appear. Neighbours with the same direction form a run.
- **Spaces and punctuation are neutral.** Inside a run they follow it. On the boundary between runs they follow the base direction of the whole line.
- **Digits are weak.** A number reads left to right, but it does not break the right-to-left run around it, and a currency symbol beside it counts as part of the number.

The base direction is the part that goes wrong. It decides the order of the runs and the side on which punctuation lands, and the W3C notes that most applications treat text as left to right unless told otherwise.

Take an Arabic line meaning "Order Acme Pro today for 49 dollars." Acme Pro is a made-up brand and the sentence is our own example. Set correctly, the pieces sit in this order, starting from the right edge.

| Position | What you see | How it reads |
| --- | --- | --- |
| 1, far right | اطلب | "Order", right to left |
| 2 | Acme Pro | The brand, left to right as normal, with the A on its left |
| 3 | اليوم بسعر | "today for", right to left |
| 4 | 49 | Left to right, 4 before 9 |
| 5, far left | دولارًا | "dollars", right to left, with the full stop after it at the far left |

I have split the sentence into pieces deliberately. A mixed sentence dropped into a left-to-right page like this one can come out in the wrong order, which is exactly the fault being described.

With the wrong base direction the same characters rearrange themselves. The opening word lands on the far left, the full stop on the far right, and the reader meets the price before the verb.

## Typography: joined letters, no capitals, more height

**Arabic, Persian and Urdu letters join.** The W3C's Arabic layout requirements describe the script as cursive: the letters of a word join whenever they can, and a letter takes an isolated, initial, medial or final shape depending on its neighbours. When software fails to pick those shapes you get a row of isolated letters, which reads about as well as a word spelled out one letter at a time.

**Never letter-space a joined script.** The CSS Text specification says cursive scripts do not admit gaps between their letters, and MDN warns that letter spacing can leave Arabic text looking broken. When Arabic needs to be wider, in a heading for example, the join itself is stretched, a technique called kashida. That is a job for a typographer, not a tracking slider.

**Hebrew is the exception.** Hebrew letters stand apart, and Hebrew is not on the CSS specification's list of cursive scripts.

**There are no capitals.** Apple points out that Arabic and Hebrew have no uppercase letters, so an all-caps English headline has no direct equivalent. It suggests raising the right-to-left font size by about 2 points when Arabic or Hebrew sits beside uppercased Latin text.

**Slanting is not neutral.** A Latin italic leans in the direction of reading. The W3C records that some users of Arabic, Persian and Hebrew prefer slanted text to lean left for the same reason, so a right-leaning fake italic is a poor default.

**Leave more height.** Material Design places Arabic, Persian and Urdu in its "tall" category, which needs extra line height, and treats Hebrew as English-like. The W3C singles out Arabic in Nastaliq fonts, the style preferred for Urdu in Pakistan, as needing much more vertical room. Our guide to [text expansion in translation](https://bannertranslate.com/resources/text-expansion-in-translation) covers the width side of the same problem.

## Numerals: Western or Eastern Arabic digits?

Three sets of digits are in use, according to the W3C's Arabic layout requirements.

- **European digits (0123456789)**, used in western Arabic-speaking countries such as Algeria and Morocco. Apple says Hebrew text uses them too.
- **Arabic-Indic digits (٠١٢٣٤٥٦٧٨٩)**, used in eastern Arabic-speaking countries such as Egypt, Saudi Arabia and Iraq.
- **Eastern Arabic-Indic digits (۰۱۲۳۴۵۶۷۸۹)**, used in Iran and Afghanistan. Unicode notes that this set also serves Urdu and Sindhi, with different shapes for some digits.

Apple is frank about how local this is. It says the choice between Western and Eastern Arabic numerals differs from one country or region to the next, and sometimes within one. The decision therefore depends on the market, not the language, and it belongs to your in-market reviewer.

Whichever set you use, digits are written with the highest value on the left, exactly as in English, even inside right-to-left text. A number is never reversed: Apple's examples are 541, a phone number and a credit card number, which always appear in the same order.

Separators move too. The W3C shows 1.234,5 for western regions and 1,234.5 for eastern ones, so do not guess.

BannerTranslate keeps brand names, URLs, prices and numbers as they are when it translates, so digits stay in the form your original uses. If a market expects a different set, make that change deliberately with your reviewer.

## A checklist you can run without reading the language

1. **Ask for a reference.** Get the approved translation as text, plus a screenshot of how each line should look. Everything below compares shapes against that picture.
2. **Check the alignment.** Text blocks should be flush right with a ragged left edge.
3. **Check the joins in Arabic, Persian and Urdu.** Each word should look like flowing handwriting. Small breaks inside a word are normal, because some letters only join to the letter before them, but a word in which every letter stands alone is broken. In Hebrew, separate letters are correct.
4. **Check where each line starts.** The first word of the translator's text should sit at the right-hand end of the line. If it sits at the left, the order has been reversed.
5. **Check Latin words and numbers.** Brand names, URLs, prices and phone numbers should match your source banner character for character. "emcA" or "94" means something was reversed.
6. **Check the punctuation side.** The full stop or exclamation mark that ends a sentence belongs at the left end of the line. In Arabic-script text, look for the Arabic comma (،) and question mark (؟), which Unicode encodes separately from the Latin ones.
7. **Check the flips.** The logo, photographs and any packaging with lettering should not be mirrored, while a "forward" arrow on the call to action should point left.
8. **Send it to a native reader.** This checklist catches mechanical faults. It cannot tell you whether the words are right, natural or appropriate.

Step 8 is not optional. A translated banner from BannerTranslate is a flat image drawn by an AI image model, not editable layers, so every right-to-left version should be checked by someone who reads the language before it is published.

## Common mistakes in right-to-left banners

- **Reversed letter order.** If the software ignores the bidirectional algorithm, the characters are laid out left to right in typing order and the phrase reads backwards, like printing "won pohS".
- **Disconnected letters.** The joining shapes were never applied, so each letter appears in its isolated form.
- **Mirrored logos and photographs.** Somebody flipped the whole canvas instead of rearranging it.
- **Tracking applied to Arabic.** Letter spacing copied from the English headline pulls the joins apart.
- **Stranded punctuation.** A full stop at the right-hand end of a line is the signature of a wrong base direction.

For the wider process, see [how to translate a banner](https://bannertranslate.com/resources/how-to-translate-a-banner), the [banner localization guide](https://bannertranslate.com/resources/banner-localization-guide) and [running a multilingual banner campaign](https://bannertranslate.com/resources/multilingual-ad-campaign-workflow), or browse the [resources](https://bannertranslate.com/resources) hub.

## FAQ

### Which languages are written right to left?

Arabic, Hebrew, Persian and Urdu are the four this guide covers, and the W3C lists many more, including Pashto, Sindhi, Uyghur and Yiddish. Direction comes from the script, so a language written in more than one script can run both ways.

### Do I have to mirror the whole banner for Arabic or Hebrew?

Mirror the arrangement, so that reading starts at the right, and right-align the text. Do not mirror logos, photographs, numbers, URLs, clocks or media controls.

### Do numbers run right to left in Arabic?

No. The digits of a number read left to right in all three numeral systems, with the highest value on the left. Only the position of the whole number within the sentence follows the right-to-left flow.

### Should an Arabic banner use Western digits or Arabic-Indic digits?

It depends on the market. The W3C associates European digits with western Arabic-speaking countries such as Morocco and Arabic-Indic digits with eastern ones such as Egypt and Saudi Arabia, and Apple notes that usage varies even within a country. Ask a reviewer in the market you are advertising to.

### Why do the Arabic letters in my banner look disconnected?

Either the software that drew them did not apply Arabic shaping, or letter spacing was added. Arabic, Persian and Urdu letters must join within a word, although a few small breaks are normal.

### Is Hebrew handled the same way as Arabic?

The direction, mirroring and number rules are the same. The differences are that Hebrew letters do not join, Hebrew text uses Western digits according to Apple, and Material Design treats Hebrew as an English-like script for line height.

## Sources

- [W3C Internationalization, Languages using right-to-left scripts](https://www.w3.org/International/questions/qa-scripts) – which scripts and languages are right to left, and the counts of 13 scripts and 216 languages.
- [W3C Internationalization, Unicode Bidirectional Algorithm basics](https://www.w3.org/International/articles/inline-bidi-markup/uba-basics) – strong, neutral and weak characters, base direction and how numbers behave.
- [Unicode Standard Annex #9, Unicode Bidirectional Algorithm](https://www.unicode.org/reports/tr9/) – the formal specification of the algorithm and its logical storage order.
- [Material Design, Bidirectionality](https://m2.material.io/design/usability/bidirectionality.html) – what to mirror and what not to mirror, including numbers, clocks, media controls and charts.
- [Material Design, Language support](https://m2.material.io/design/typography/language-support.html) – tall and English-like script categories and line height.
- [Apple Human Interface Guidelines, Right to left](https://developer.apple.com/design/human-interface-guidelines/right-to-left) – numerals by language, never reversing digits, not flipping logos or photographs, and balancing text against uppercase Latin.
- [W3C, Arabic and Persian Layout Requirements](https://www.w3.org/TR/alreq/) – joining forms and rules, the three families of numerals and their regions, number formatting, kashida and Nastaliq.
- [W3C, CSS Text Module Level 3](https://www.w3.org/TR/css-text-3/) – cursive scripts not admitting gaps between letters, and the list of cursive scripts.
- [MDN Web Docs, letter-spacing](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/letter-spacing) – letter spacing making Arabic text look broken.
- [W3C, Hebrew Gap Analysis](https://www.w3.org/TR/hebr-gap/) – the preference for left-leaning slanted text in Arabic, Persian and Hebrew.
- [W3C Internationalization, Text size in translation](https://www.w3.org/International/articles/article-text-size) – Arabic in Nastaliq fonts needing more height.
- [Unicode Character Database, NamesList](https://www.unicode.org/Public/UCD/latest/ucd/NamesList.txt) – the Arabic comma and question mark, and the notes on Arabic-Indic and Eastern Arabic-Indic digits.
