Guide
Why RTL Design Is Not Just Mirroring an English Layout
The most common way Arabic versions go wrong is not bad translation. It is a team applying direction: rtl, watching the layout flip, and concluding the job is done. Direction is not a visual setting, it changes how a person reads a screen, which means it changes what belongs where. Here is what actually differs, why mirroring alone produces a product that feels translated, and how to build both directions from one system instead of maintaining two diverging designs.
Mirroring solves geometry, not comprehension
Flipping a layout answers one question: which side is which. It does not answer the questions that determine whether a screen is understandable, what the eye reaches first, what an arrow means, how a form behaves as it is filled in, or whether the typography is readable at the size it was designed at. Those are all decisions, and mirroring makes none of them. This is why a mirrored Arabic version usually looks correct in a screenshot and feels wrong in use.
What genuinely changes in RTL
- Scanning order. Arabic readers start on the right, so the visually dominant position moves. The element you most want seen has to move with it, not simply be mirrored into a corner.
- Navigation and progress. Breadcrumbs, steppers, carousels, pagination and progress bars must advance with the language. A progress bar filling left to right in Arabic reads as counting down.
- Icon meaning. Directional icons flip: back, next, arrows, chevrons, send, undo. Non-directional ones must not: logos, clocks, checkmarks, media play buttons, and most brand marks look broken when mirrored.
- Forms and inputs. Label alignment, field order, validation placement, and mixed-direction content, since emails, URLs, phone numbers and card numbers stay LTR inside an RTL form.
- Numbers, currency, dates and times. These do not simply mirror, and mixing numeral systems inconsistently across a product is one of the fastest ways to look careless.
- Typography. Arabic needs different sizing, line height and weight balance than Latin text. Arabic set at the Latin size and line height is technically legible and genuinely tiring to read.
- Layout density. The same sentence rarely occupies the same width in both languages, so fixed-width components that fit in English will overflow or leave gaps in Arabic.
The mistakes that give it away
- A mirrored logo or a mirrored play button, the single fastest tell
- Arabic text set in a Latin font that has no real Arabic glyphs, so it falls back inconsistently
- A language switcher that always returns the user to the homepage instead of the equivalent page
- Left-aligned Arabic body text inside an otherwise RTL layout
- Truncated Arabic labels in buttons and tabs sized for shorter English words
- A booking or checkout flow that is RTL on step one and quietly LTR by step three
- Only one language indexed by search engines, because both versions share a single URL
Build direction into the system, not into a second stylesheet
The maintainable approach is to set direction in the HTML and use logical CSS properties, margin-inline-start rather than margin-left, padding-inline-end rather than padding-right, so components adapt by rule instead of being overridden. Write components direction-aware once and every new screen inherits correct behaviour for free. The alternative, a mirrored override stylesheet, means every future feature needs a second RTL pass, and eventually someone forgets one.
The structural side: URLs, hreflang and canonicals
- Each language needs its own crawlable URL, not a client-side toggle on one URL
- Every language version needs a self-referencing canonical
- hreflang must pair equivalent pages in both directions, with an x-default defined
- The language switch should land on the equivalent page, not always the homepage
- Metadata, Open Graph and structured data need to exist per language and match the visible content
When to decide
The cheapest moment to handle RTL is during design, before any component exists. The second cheapest is during the front-end build. The most expensive by a wide margin is after launch, in a codebase full of hardcoded left and right values, where retrofitting can genuinely cost more than rebuilding the front-end. If Arabic is on the roadmap at all, design both directions now even if you ship English first.
Frequently asked questions
Can we just apply direction: rtl and be finished?
No. That flips the geometry and nothing else. Icon meaning, scanning priority, form behaviour, number and date handling, typography sizing and component widths all still need decisions. A product that only flips reads as translated rather than designed.
Should all icons be mirrored in RTL?
Only directional ones: back, next, arrows, chevrons, send, undo, and progress indicators. Logos, clocks, checkmarks, media play buttons and most brand marks must never be mirrored, and doing so is the most visible sign that nobody reviewed the Arabic version.
Does adding Arabic double the project cost?
No. Product direction, user flows, the design system and the technical structure are shared. Arabic adds direction-specific design decisions, content, and testing, not a second product. It is far cheaper planned from the start than retrofitted later.
How should Arabic and English URLs be structured?
Give each language its own crawlable path, for example the English version at the root and Arabic under an /ar/ prefix, with self-referencing canonicals and hreflang pairing equivalent pages. A switcher that keeps one URL leaves search systems with a single indexable version and effectively hides the other language.
Can Arabic be added to an existing product?
Often yes, if the front-end supports separate language routes and direction-aware styling. If it was built LTR-only with hardcoded left and right values, retrofitting can cost more than rebuilding the front-end properly. An audit answers which case applies before you commit budget.
Need an Arabic product that reads as designed, not translated?
Send the product and the languages it must serve. You get an honest read on adapting versus rebuilding, and a starting range.