Best Practices for Modern Persian Web Development: A Practical Guide
Source: Dev.to
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.
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). Avoid manual hacks with dozens of CSS overrides.
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.
Implement the Jalali (Shamsi) Calendar Correctly
Dates are essential in Persian UX. Users expect:
- Jalali dates everywhere
- Consistent formatting (e.g.,
1403/12/07or۷ اسفند ۱۴۰۳) - 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.).
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.