This document summarizes Apple's developer guide for designing right-to-left (RTL) interfaces for users of RTL languages like Arabic and Hebrew. While system UI frameworks automatically support RTL in most cases, fine-tuning is needed for text alignment, numerals and symbols, controls, images, and icons. Each section provides concrete examples and images to clearly explain correct implementation and common pitfalls.


1. Basic Principles of RTL Language Support

Users of RTL languages expect the interface to naturally adapt to their language's reading direction when they choose a device or app language. Apple's system UI frameworks support RTL by default -- using standard UI elements and layouts will automatically provide a mirrored interface without additional modifications.

However, if you want to fine-tune specific layouts or handle localization details like currencies, numerals, and mathematical symbols, additional guidelines must be followed.

"People expect the interface to adapt in various ways when they choose a language for their device or app."


2. Text Alignment and Paragraph Layout

2.1 Aligning Text to Interface Direction

When the system doesn't handle it automatically, text alignment must match the interface direction. For example, in an LTR (left-to-right) environment, text is left-aligned, but in an RTL environment, it should be right-aligned.

Left-aligned text in LTR environment

Right-aligned text in RTL environment

2.2 Language-Based Paragraph Alignment

Paragraphs (three or more lines) should be aligned based on language, not just the current interface direction, to maintain readability. For example, in an RTL environment, English paragraphs should still be left-aligned, while Arabic paragraphs should be right-aligned.

Correct paragraph alignment: Arabic right-aligned, English left-aligned Correct

Incorrect paragraph alignment: both right-aligned Incorrect

"Paragraph alignment should follow the language, not just the current context, as forcing alignment to the interface direction can hurt readability."

2.3 Consistent Text Alignment in Lists

All items in a list must share the same alignment direction. Even when different scripts (e.g., English and Arabic) are mixed, the entire list should be right-aligned in an RTL environment.

Correct list alignment Correct

Incorrect list alignment Incorrect


3. Numbers and Characters

RTL languages may use different numeral systems. For example, Hebrew uses Western Arabic numerals, while Arabic may use either Western or Eastern Arabic numerals.

Western Arabic numerals Eastern Arabic numerals

3.1 Preserving Digit Order

Never reverse the order of digits within a number. Numbers like "541," phone numbers, and card numbers must always be displayed in the same order regardless of language.

Latin characters and numerals Hebrew and numerals Arabic (Western numerals) Arabic (Eastern numerals)

"The order of digits within a specific number must always remain the same."

3.2 Arranging Number Sequences by Progression Direction

Number sequences indicating progression (e.g., star ratings, sliders) should be arranged to match the control's direction, but the digits themselves should not be reversed.

LTR star ratings and numerals RTL star ratings with Eastern Arabic numerals RTL star ratings with Western Arabic numerals (Hebrew)


4. Control Design

4.1 Reversing Directional Controls

Sliders, progress bars, and other directional controls must reverse their direction in RTL environments, along with any start/end icons or images.

Directional controls in LTR Directional controls in RTL

4.2 Navigation and Sequential Controls

Previous/next and back buttons -- sequential controls must also reverse direction in RTL. However, controls that indicate a literal direction (e.g., "move right") must always point in that direction.

4.3 Visual Balance Between Latin and RTL Characters

When uppercase Latin characters appear alongside Arabic or Hebrew in buttons, labels, or titles, it's recommended to increase the RTL text's font size by about 2pt for visual balance.

Uneven vertical height Even vertical height


5. Image Handling

5.1 Image Flipping Caution

Photos, illustrations, and general artwork should not be flipped as a rule. Flipping images can alter their meaning and may create copyright issues.

Correct image display Correct

Incorrect flipped image Incorrect

"If the image content is strongly tied to reading direction, create a new version rather than flipping the original."

5.2 Reversing Image Positions for Sequential Content

When images are arranged in a specific order (time, alphabet, favorites, etc.), their positions must be reversed in RTL to preserve meaning.

Item layout in LTR Item layout in RTL


6. Interface Icons

6.1 SF Symbols and Custom Symbols

SF Symbols automatically provide RTL-appropriate variants and localized symbols (Arabic, Hebrew, etc.). When creating custom symbols, directionality must be explicitly specified.

Directional symbols in LTR Directional symbols in RTL

6.2 Flipping Text/Reading Direction Icons

Icons representing text alignment must reverse direction in RTL environments.

LTR text symbols RTL text symbols

6.3 Localizing Icons Containing Text

Icons containing text elements (font sizes, signatures, I-beam cursors, etc.) should ideally have localized versions for each language.

Latin character icon Hebrew icon Arabic icon

6.4 Flipping Progression/Movement Icons

Icons indicating progression (e.g., sound emanating from a speaker, forward movement) must reverse direction in RTL to preserve meaning.

Progression icon in LTR Progression icon in RTL

6.5 Never Flip Logos, Universal Symbols, or Physical Object Icons

Logos, checkmarks, and other universal symbols or physical object icons must never be flipped. Clocks, pencils, game controllers, and similar real-world icons should remain unchanged unless they convey directionality.

Logo example Checkmark example Clock, pencil, game controller icons Pencil icon Game controller icon

"Logos and universal symbols must always be shown in their original form; flipping them can cause confusion."

6.6 Component-Level Flipping for Composite Icons

Complex custom icons require careful per-component decisions about flipping. For example, a slash (prohibition) symbol stays the same in both LTR and RTL, but badges (like a plus sign) may need repositioning for visual balance.

Slash icon in LTR Slash icon in RTL

Cart + badge in LTR Correct Cart + badge RTL (unbalanced) Incorrect Cart + badge RTL (balanced) Correct


7. Platform-Specific Considerations

iOS, iPadOS, macOS, tvOS, visionOS, watchOS -- no additional platform-specific considerations are needed. The same principles apply across all platforms.


8. References and Additional Resources


Conclusion

Supporting right-to-left (RTL) languages requires far more than simply mirroring the UI. Each element -- text, numbers, controls, images, and icons -- must be localized with careful attention to meaning and visual balance, ensuring a natural and consistent user experience. Following the principles in this guide enables the successful design of global apps that serve users across diverse languages and cultures.

Related writing