DEV Community

Sarah Navin
Sarah Navin

Posted on

Best Practices for Modern Persian Web Development: A Practical Guide

Persian-language websites have grown far beyond simple blogs and news portals. Today, Persian web development powers marketplaces, fintech products, SaaS dashboards, governmental portals, and high-traffic e-commerce sites. Yet building a truly reliable and user-friendly Persian web experience requires a unique set of considerations that many international developers are unfamiliar with.

If you’re planning to build or improve a Persian-language product, this guide covers the best, field-tested practices—from typography and RTL layout to performance, UX, and cultural nuances.

  1. Prioritize True RTL Support (Not Just “direction: rtl;”)

Developers often underestimate how much breaks when switching a UI from LTR to RTL:

  • Icons need mirroring (arrows, chevrons, sidebars)
  • Flexbox and grid alignments behave differently
  • Input fields with mixed content (English + Persian) require careful handling
  • Code editors and markdown areas need logical-direction support

Best practice

Use frameworks with native RTL support (e.g., Tailwind with RTL plugin, MUI RTL, Bootstrap RTL).
Don’t manually hack RTL with dozens of CSS overrides.

  1. Use High-Quality Persian Typography

Typography is a huge part of user trust in Persian interfaces. Poor default fonts can make your site look outdated instantly.

Preferred options include:

  • Vazirmatn (modern, open-source, variable font)
  • IRANSans / IRANYekan (widely used in corporate and fintech apps)
  • Estedad (great for UI elements and dashboards)

Best practice:

Choose a variable font (like Vazirmatn) to reduce file sizes across all weights.

  1. Implement the Jalali (Shamsi) Calendar Correctly

Dates are essential in Persian UX.
Users expect:

  • Jalali dates everywhere
  • Consistent formatting (e.g., 1403/12/07 or ۷ اسفند ۱۴۰۳)
  • Localization of weekdays and months
  • Proper date arithmetic (e.g., leap year handling)

Best practice:

Use well-maintained libraries for Jalali conversion rather than hand-rolled functions.
Also ensure your backend supports Jalali input if your users expect it (common in marketplaces, banking portals, HR dashboards, etc.).

  1. Choose Proper Persian Number Formatting

Persian websites should use:

  • Persian digits (۱۲۳۴۵) in UI text
  • English digits in technical areas (URLs, tracking codes, API keys)

Best practice:

Adopt a unified approach:
Persian digits for UX → English digits for machine context.

Top comments (0)