Design & UX

Designing Right-to-Left Websites for Arabic and Persian Audiences

Right-to-left design is much more than flipping a layout. This guide covers mirroring, typography, numerals, forms, icons and bilingual structure for Arabic and Persian websites.

Illustration of two mirrored website layouts side by side, one in English left-to-right and one in Arabic right-to-left, with arrows showing reading direction

A large share of the Middle East's online audience reads from right to left. For companies selling into the Gulf, or serving Persian-speaking customers in Iran and around the world, the Arabic or Persian version of the website is often the one that matters most. Yet it is frequently the weakest: a mirrored copy of the English site with awkward fonts, broken icons and forms that reject local input. RTL website design done properly is a design discipline in its own right. This guide covers what changes when direction flips, what must not flip, and how to structure a bilingual site that feels native in both directions.

Why RTL needs its own design attention

Right-to-left languages change more than text alignment. Reading direction affects how people scan a page, where they expect navigation, which way a "next" arrow points and how a progress bar fills. When those expectations are not met, the site feels foreign, and in competitive markets like the UAE that sense of foreignness erodes trust quickly.

Teams we work with on both Persian and Arabic platforms tend to underestimate three things: typography, mixed-direction content, and forms. We will cover each.

RTL website design mechanics: direction and logical properties

The foundation is technical and straightforward:

  • Set lang and dir="rtl" on the html element for RTL pages.
  • Use CSS logical properties (margin-inline-start, padding-inline-end, inset-inline-start, text-align: start) instead of left and right.
  • Prefer flexbox and grid layouts, which follow the document direction automatically.
  • Avoid absolute positioning tied to physical sides wherever possible.

When the codebase is built this way from the start, most layout mirroring happens without a separate stylesheet. This is one of the reasons we build all our engines direction-aware from the core; retrofitting is always more expensive.

What to mirror and what not to

Not everything should flip. A simple rule: mirror things that represent direction or sequence; keep things that represent real-world objects or universal conventions.

Element Mirror in RTL? Notes
Overall layout, sidebars, navigation order Yes Primary navigation starts from the right
Back and forward arrows, chevrons in breadcrumbs Yes "Next" points left
Progress bars and step indicators Yes Progress fills from right to left
Carousels and sliders Yes Next item comes from the left
Icons of physical objects (phone, camera, cart) Usually no A shopping cart icon is fine as is
Media playback controls No Play and fast-forward follow a global convention
Clocks, charts with time axes Context-dependent Test with users; many dashboards keep left-to-right time axes
Logos, product photos No Never mirror brand marks or product images
Checkmarks No Mirroring makes them look wrong

Review every icon in your set rather than flipping them all with a single CSS transform.

Typography for Arabic and Persian

Typography is where many RTL sites fall down. Arabic script is cursive and connected, with letterforms that change based on position, and it has different proportions from Latin text.

Choosing fonts

  • Choose a font family that explicitly supports the languages you need. Persian requires letters such as پ, چ, ژ and گ, and its own forms of some characters, which not every Arabic font handles well.
  • Check that the font includes the weights you use. Many Arabic fonts have fewer weights than their Latin counterparts.
  • Pair the Arabic or Persian font with your Latin font so they look balanced at the same nominal size. Arabic often needs a slightly larger size or adjusted line height to read comfortably.
  • Self-host fonts and subset them where licensing allows, to keep pages fast.

Text styling rules that change

  • No letter spacing on Arabic text. Adding tracking breaks the connections between letters.
  • Be careful with all-caps styles: Arabic has no case, so headings that rely on uppercase for emphasis need a different treatment, such as weight or size.
  • Avoid italics for emphasis; most Arabic fonts do not have a true italic, and synthesized slanting looks wrong.
  • Increase line height: Arabic letterforms have tall ascenders and deep descenders and diacritics that need space.

Numbers, dates and mixed-direction text

Bidirectional (bidi) text is where subtle bugs live. A sentence in Arabic that contains a product code, an English brand name, a phone number or a price will mix directions, and the browser's bidi algorithm does not always place things where you expect.

Practical rules:

  1. Wrap embedded opposite-direction content, like product codes or email addresses, in elements with their own dir or use the bdi element.
  2. Decide on a numeral policy. Western digits, Arabic-Indic digits and Persian digits are all in use depending on audience. Be consistent across the site.
  3. Display phone numbers, prices and codes so they read correctly, and test them with real content.
  4. Localize date formats, and consider whether your audience uses the Gregorian, Hijri or Solar Hijri calendar for particular contexts.
  5. Test punctuation at the start and end of mixed strings, which is the most common source of misplaced characters.

Forms in RTL

Forms deserve their own review because they combine direction, input and validation:

  • Labels and help text align to the right; error messages appear in the expected position.
  • Fields such as email, URL and phone often need dir="ltr" for input, even on an RTL page, so the text the user types displays correctly.
  • Validation must accept the digits users actually type. A phone field that rejects Persian or Arabic-Indic digits will lose leads. Normalize digits on the server rather than rejecting them.
  • Name fields should allow the full range of characters, and should not assume a Western first-name and last-name structure is always meaningful.
  • Placeholder examples should be localized, not just translated.

For broader advice, see our guide to form design that gets completed.

Key takeaway: Good RTL design mirrors direction and sequence, not everything. Build with logical properties, choose fonts that genuinely support the language, handle mixed-direction content deliberately, and make sure forms accept local input.

Imagery, colour and cultural fit

Direction is only one layer of localization. The visual content of an RTL site should also feel right for its audience:

  • Choose photography that reflects the people, settings and dress of the region you are addressing, rather than reusing imagery shot for a North American or European audience.
  • Avoid images with embedded English text; they cannot be translated or mirrored.
  • Check that hand gestures, symbols and colour associations carry the meaning you intend in the target market.
  • If a diagram shows a process flowing left to right, redraw it for the RTL version rather than mirroring the exported image.

None of this requires a separate brand. It requires the same care for the Arabic or Persian audience that went into the original.

Bilingual structure and SEO

Most RTL sites are bilingual. The structural decisions affect both usability and search:

  • Give each language its own URL, usually a subfolder like /ar/ or /fa/, and connect equivalents with hreflang tags.
  • Make the language switcher obvious and keep users on the equivalent page when they switch.
  • Translate metadata, image alt text, URLs where appropriate, and structured data, not just body text.
  • Use native-language copywriting for headlines and calls to action. Literal translation of marketing copy rarely reads well.

Our article on multilingual website development covers architecture and translation workflow in more depth, and the GCC localization guide addresses regional content expectations.

Testing checklist

Before launch, check each RTL template with real content:

  1. Layout mirrors correctly at mobile, tablet and desktop widths.
  2. Icons and arrows point the right way.
  3. Fonts render cleanly with diacritics and long words.
  4. Mixed English and Arabic or Persian strings display in the right order.
  5. Forms accept local digits and display LTR fields correctly.
  6. Third-party widgets such as maps, chat and payment pages support RTL or at least do not break.
  7. Emails and PDFs generated by the site also respect direction.

Next steps

DigiVort builds bilingual and RTL platforms for companies in the GCC and for Persian-speaking audiences, with direction-aware design systems from the first wireframe. If you need an Arabic or Persian version that feels native rather than translated, see our UI/UX design service or tell us about your markets through the project wizard.

Frequently asked questions

Is it enough to add dir="rtl" to make a site right-to-left?

Setting the direction attribute is the essential first step, and with modern CSS logical properties it handles much of the layout. But typography, icons, numerals, mixed-direction text, form behaviour and third-party components all need deliberate attention. Without that review, RTL versions usually feel like an afterthought.

Should Arabic and Persian sites use the same font?

They share the Arabic script, but Persian uses some additional letters and different numeral forms, and not every Arabic font supports Persian fully. Choose fonts that explicitly support the languages you need, test real content in them, and check that weights and sizes pair well with your Latin font.

Which numerals should we use on an Arabic or Persian website?

It depends on audience and context. Many Gulf websites use Western digits widely, especially for prices and phone numbers, while Persian sites commonly use Persian digits in running text. Whatever you choose, be consistent and make sure forms accept the digits users actually type.

Should the RTL version be on a separate domain or a subfolder?

Both can work. Subfolders such as /ar/ or /fa/ on one domain are simpler to manage and consolidate authority, while country-code domains signal local presence. The important part is consistent hreflang tags, a clear language switcher and genuinely equivalent content.

Can a design built for English be converted to RTL later?

Yes, but the cost depends on how it was built. Designs and code that use logical properties, flexible layouts and direction-aware components convert cleanly. Sites with hard-coded left and right positioning, text baked into images and fixed-width elements need significant rework.