Persian Keyboard

In case you are wondering which is THE official standard keyboard for typing Persian, it is called the Iranian Standard Persian Keyboard (ISIRI 9147) currently available as version 2.0. This was formerly called the Persian Experimental Standard Keyboard. Besides the name change, this one has a few technical improvements so it is recommended you upgrade now. If your current keyboard does not type Persian numbers in Persian, you will solve that problem by getting this, the ISIRI 9147 Keyboard. This page is for Windows.  If you use Mac, see Mac. If you use Linux, see Linux. If you're looking for fonts, see fonts.

  Please note: This keyboard is completely optional.  Your Windows computer already has a Persian keyboard (and Persian fonts) which will suffice just fine for casual users and it is not necessary to use this new and improved keyboard at all.  However, you can do Persian a big favor by using this keyboard because it will aid you in NOT typing non-standard characters. It is based on Iranian Standard ISIRI 9147. See, Institute of Standard and Industrial Research of Iran

Quicklinks to information on this page:

Download and Installation Tutorial for Iranian Standard Persian Keyboard (ISIRI 9147)
Try before you download: online keyboard simulator
Lab and Library Users Needing to Enable Persian Language and the Standard Keyboard
Often mis-typed characters: Yeh, ZWNJ, Hamza Above Heh, Quotes, Comma
Persian Thousands Separator and Decimal Separator
Technical Enhancements to the Iranian Standard Persian Keyboard (ISIRI 9147)
Bits of History of the Iranian Standard Persian Keyboard (ISIRI 9147)
You don't need stickers, learn the layout!
Charts (PDF) showing the keyboard layout
Where all the keys are located: Microsoft On-Screen Keyboard
Ehsan Akhgari's Work-around to get the ZWNJ on shift space
A few "Arabic" characters which are a bit rare in Persian nowadays
Characters on AltGr keys
The "Kashida" character: How cool people type pa-na-pa: پـَـَـ نــه پـَـَــ
How to Uninstall an Unwanted Keyboard
The Enhanced Microsoft Keyboard
Secret Location of ZWNJ on the Microsoft Persian Keyboard
How to Set Up the Iranian Standard Persian Keyboard (ISIRI 9147) on Linux
Controversies concerning the ISIRI 9147 Keyboard
"Persian Experimental Standard" - Win2000 and WinXP only version (Now Deprecated and Out-of-Date)
Persian Standard Keyboard aka "Persian Experimental Standard" - Vista (and now Windows 7) version (Now deprecated and Out-of-Date)

Iranian Standard Persian Keyboard (ISIRI 9147). Released on Aug 10, 2011.

Download and Installation Tutorial for Iranian Standard Persian Keyboard (ISIRI 9147). (For Windows 2000 through Windows 7.)

Step-by-Step Illustrated Instructions.

If you prefer, skip this tutorial and get the keyboard directly from Thanks to Behnam Esfahbod for making this keyboard!

This tutorial will help both those who have already enabled their computer to type Persian and already have some other keyboard and who just want the new keyboard as well as those who have not yet typed Persian at all on their computer. Some people incorrectly think that just by getting a Persian font, they will be able to type Persian. Actually, it's all about the keyboard. Your Windows computer comes with Persian fonts but they won't do you much good without an input method such as a keyboard. The keyboard is really what you need to type Persian.

New feature of the Iranian Standard Persian Keyboard (ISIRI 9147): Once you have downloaded and installed this keyboard, you're ready to type. Previous keyboards required you to go to the Control Panel but that is no longer necessary.

This tutorial was made on a Windows 7 computer.

Step 1. Before proceeding, take a look at the bottom portion of your screen. The "task bar" runs along the bottom edge. Look on the right side of the task bar where the date and time and a few icons are shown. If you have not added any additional languages or keyboards yet, you won't see any language abbreviations or keyboard icons. But that is about to change!

The right side of the task bar before adding languages and keyboards


Step 2. Download this zipped (compressed) file to your desktop:

The file named "Iranian_Standard_Persian_Keyboard_(ISIRI_9147)_(Version_2.0).zip" will appear on your desktop. If you don't see the file extension ".zip" at the end of the file name, don't worry. The file will look like this with a zipper on it:

picture of the zipped file on your desktop

Step 3. Double-click on this zipped folder to unzip it. (No need to download special programs to unzip unless you have an older computer, i.e. pre-Vista era.) The folder now opens containing the unzipped version of the same folder.

Picture showing the "Extract all files" button

Step 4. To unzip, click once on the text which says "Extract all files." "Extract" is the same thing as "unzip." Then, when the new folder window opens, hit the "Extract" button at the bottom.

Click on Extract

Step 5. Now you should have two folder windows open. The folder in back is the zipped file. Do you see how it has a zipper on the icon? It is circled in red in the picture below. The folder in front is the unzipped folder. The icon is shown as an open folder with no zipper. It is circled in black in the picture below. From now on, ignore the zipped folder. (If you get interrupted or distracted at this stage and get confused as to which is the zipped folder and which is the unzipped folder, better start over. You can't use the zipped folder even though the files look the same!)

Be careful to distinguish the zipped and unzipped folders

Step 6. Now click on the unzipped folder named "Iranian Standard Persian Keyboard (ISIRI 9147) (Version 2.0)"

Click on "Iranian Standard Persian Keyboard (ISIRI 9147)


Step 7. When the folder opens, you'll see a lot of sub-folders and files. Double-click on "setup.exe". (If you don't see the file extension ".exe", don't worry about it, just double-click on "setup" in your case.) Again, if something is going wrong at this point, it's probably because you're trying to click on the zipped folder. If so, just move all your files to the recycle bin and start over!

click on setup.exe

Step 7. When the "Open File - Security Warning" window opens, click on "Run".

Click on "Run"

Step 8. Click "ok" if you get any security warnings about the "Unknown Publisher". If all goes well, the next window that pops up will tell you that the installation has been a success and you can click on "Close".

Installation Complete. Click on "Close."

Step 9. Now look at the right-hand side of your task bar again. If it wasn't there before, you should now see EN (for ENglish) or whatever the default language is for your computer. If you depress EN, you'll now see FA Persian. In the case of those who already had FA Persian enabled because you were using the keyboard that ships from the factory in all versions of Windows through Windows 7, you should now see a little keyboard icon when you're in FA mode. When you depress this keyboard, you'll now see two keyboard choices, "Persian" and now "Iranian Standard Persian." Since it is a bit cumbersome having to keep selecting keyboards for the same language, you may want to go to the Control Panel and remove the  "Persian" keyboard.

Once you have downloaded and installed the Iranian Standard Persian Keyboard (ISIRI 9147), you're ready to type. Just open Notepad or Word to get started. Previous keyboards required you to go to the Control Panel but that is no longer necessary. This keyboard will take care of enabling Persian without your having to bother.

In some cases such as libraries or computer labs, the system administrator may have already downloaded and installed this keyboard but then disabled it allowing the users to enable it again as needed. For such cases, here are directions for re-enabling the keyboard.

go back up

Try the Keyboard Online before Downloading

Before downloading the Iranian Standard Persian Keyboard (ISIRI 9147), you can try it out first using this online virtual simulator (aka Behdad's Editor.) If you like it, follow the instructions above and install it on your own computer. (Watch out though, you need to actually type the letters in the simulator, you can't click on the pictures!)

go back up

Lab and Library Users Needing to Enable Persian Language and the Standard Keyboard

One new feature of the Iranian Standard Persian Keyboard (ISIRI 9147) is that as soon as you have installed it, you can start typing Persian right away, no need to visit the Control Panel and enable the language or keyboard. However, if you are in a lab or library where the system administrator has downloaded and installed the keyboard for potential Persian users, then you will need to enable it.

Please follow these directions which were made on a Windows 7 computer.

Open the Control Panel and find "Region and Language":

"Region and Language" in the Control Panel

Double-click on "Region and Language" and find the "Keyboards and Languages" tab:

"Keyboards and Languages" under "Region and Language" in the Control Panel

Click on the "Keyboards and Languages" tab and then find the "Change keyboards..." button:

Click on the "Change Keyboards" button

When the "Text Services and Input Languages" window opens, find the "Add" button:

The "Add" button under "Text Services and Input languages"

When the "Add Input Language" window opens, scroll down to "Persian" then expand "Keyboard" and tick the "Iranian Standard Persian" box. Then click "OK". If you don't see "Iranian Standard Persian", your system administrator has not downloaded and installed it for you on the system image. In case you're wondering, the keyboard called "Persian" is the one which Microsoft has shipped with all versions of Windows through Windows 7. The "Enhanced Microsoft Persian" keyboard is similar to the "Persian" keyboard with a more user-friendly "ZWNJ" key. We recommend you choose "Iranian Standard Persian" which is the ISIRI 9147 official keyboard.

Tick the box for "Iranian Standard Persian"

After hitting "OK", you will be sent back to "Text Services and Input Languages" where you will now see you have enabled Persian language with the "Iranian Standard Persian" keyboard. Click on "Apply" and "OK":

When this Window closes, you will need to click on "OK" again and then you are ready to type!

Much thanks to David Pham, systems specialist at Suzzallo Library, University of Washington for pushing the envelope with Persian keyboards in the academic environment.

go back up

Often Mis-typed characters

As you will see, some of the characters you can now properly type include:

**Persian Ye (on the d key). You will notice, no more 2 dots on the final Ye or the Ezāfe which is the unfortunate result of people typing the Arabic Ye (or worse, Alef Maqsura) instead of the Persian Ye.

     Arabic Ye: صداي خوبي  Persian Ye: صدای خوبی

(Don't worry, if you need it, Arabic Yā' is still available, just a little out-of-reach on shift d.)

ZWNJ (on Shift Space (yes, we mean the Space bar!) and also on shift b) is also known as nim-fāsele or half-space more info here: With ZWNJ, you can now type


instead of using a full word space and incorrectly typing

       بچّه ها

**Small hamze/ye above he for ezāfe (located on shift n) so you can now type

        گربههٔ کوچک

instead of this one-glyph / one-keystroke variant:

گربۀ کوچک

or this "tah marbuta" variant which arises from using non-standard fonts:

        گربة کوچک

Again, to be standards-compliant, you must not use the deprecated one-glyph variant which had the he and the small hamze/ye as one unit. This is completely non-standard. On the ISIRI 9147 keyboard there is no single key for the ligature U+06C0  ۀ and that is deliberate to prevent you from typing it. Do not use this character, no matter how much prettier you may think it looks!! Instead, you should type He (on the "i" key and then the "Hamza Above" (on the "Shift-n" key) whenever you want to type the ezāfe in Persian in this way. More info here on he + hamze. Please look at this picture of the ISIRI 9147 keyboard with the "He" and the "Hamza Above" characters clearly marked:

This is a picture showing the Heh (on the "i" key) and the "Hamza Above" on the "Shift n" key. You must type both these characters to properly type خانهٔ من . You should not type the Tah Marbuta as a substitute for this even though the hack font makers have made that very convenient.

**Quotation marks (on shift l and shift k) so you can now type

       «شهر هرت»

instead of

       "شهر هرت"

**Persian comma (on the shift 7 key, Please do NOT use the character on the shift 2 key), so you can now type

تهران، شیراز، یزد                         

instead of

تهران , شیراز , یزد 

go back up

Persian Thousands Separator and Decimal Separator

Persian thousands separator and decimal separator

This is a picture showing the Persian thousands separator and decimal separator.

The decimal separator (U+066B) is like a forward slash, but almost two-thirds the size and moved half its height lower. It appears in some fonts as a comma because that is how many Arabic locales specify it. This should not be substituted for the Persian comma which is on Shift 7.
The thousands separator (U+066C) is apostrophe-like or tick-like, but may take different shapes based on the style of the writer or font.

If you are looking for fonts which contain these two characters, please download any of Behnam Rassi's fonts from the IRMUG site. Directions are given in #1 at the top of the fonts page.

This is a picture of the top, left side of the ISIRI 9147 keyboard with the thousands separator (on Shift 2) and the decimal separator (on Shift 3) marked.

Courtesy: FarsiWeb.

go back up

Technical Enhancements to the Iranian Standard Persian Keyboard (ISIRI 9147)

* Supports Windows versions: XP, Windows Server 2003, Vista, Windows 7, Windows Server 2008
* Supports all platforms: i386, amd64, ia64, wow64
* Fixed the conflict with Microsoft Persian (usually happened in
Vista, 7, Server 2008)
* Layout will be activated automatically after installation

Please note: This does NOT work on Windows Phone.

Courtesy of Behnam Esfahbod

go back up

Bits of History of the Iranian Standard Persian Keyboard (ISIRI 9147).

P-C Persian Computing Iranian Standard Persian Keyboard (ISIRI 9147) (Version 2.0) for Windows Aug 10, 2010

P-C Persian Computing Renaming the "Persian Experimental Standard" Keyboard  Sep 4, 2009

P-C Persian Computing Standard Keyboard Layout List Dec 7, 2009

[PersianComputing] Just released: MS Keyboard Layout Creator Mon, 09 Jun 2003

[PersianComputing] New keyboard layout Sat, 07 Jun 2003

go back up

Don't think you need to buy stickers!

Please don't think you need to buy stickers to label your keys! You can learn the layout in just a few hours. Here are two charts below to get started. Pick whichever you like!

For your convenience, here is a nice, user-friendly chart sent in by Cyrus Adam. (It has been modified a bit over the years but we're still grateful for this gift!)

And  here is a chart (PDF file) made by Farsiweb.

Note: ZWNJ is to be found on both the shift b key and the shift space key.

If you find the keyboard doesn't type Persian characters, you may, ahem,  wish to make sure the little box down in the right, bottom corner of the screen says FA because you may be typing in ENglish or something else.

go back up

Where all the keys are located: Microsoft On-Screen Keyboard

A lot of people end up on this page who have no interest in Persian but have enabled some keyboard for some language on their Windows machine and are in a big hurry to find out where the keys are located. If so, you need the in-built Microsoft On-Screen Keyboard. For Windows 7, go: Start >>  All Programs >> Accessories >> Ease of Access >> On-Screen Keyboard. Open this and you'll see all the keys of whatever keyboard you currently have running. One tricky thing about the On-Screen Keyboard is that it likes to slip back to the English Keyboard (or whatever your default language is) so make sure you are actually typing in the new language and the On-Screen Keyboard will dynamically change to display that language. Please note, there is only ONE On-Screen Keyboard. It is smart and switches to whatever language you are using. It is not the case that there is a different On-Screen Keyboard for each language.

go back up

Ehsan Akhgari's fix for shift-space

ZWNJ is now on both shift b and shift space. This situation has come about because Microsoft believes that only true spacing characters should be allowed on the space bar and ZWNJ is not, technically speaking a spacing character. Ehsan Akhgari figured out a work-around for this and it has been incorporated into the ISIRI 9147 and Enhanced Microsoft keyboards above. See,  Ehsan Akhgari's Standard Persian Keyboard For Windows. ZWNJ has also been left (thank you Behnam Esfahbod!) on shift b for those who became habituated to typing it that way.

go back up

If you have a need to type Arabic characters ...

Tah Marbuta (on shift j)

Dagger Alif (on shift v)

There are some which are available on this keyboard which are kept in somewhat hard-to-reach places so you don't use them as default:

Arabic Yeh (on shift d)

Arabic Kaf (on shift z)

go back up

Characters on AltGr keys

The Persian Experimental Standard keyboard contains some letters which require the AltGr key which is the right alt key:

Unicode Character 'RIGHT-TO-LEFT MARK' (U+200F)

Unicode Character 'RIGHT-TO-LEFT EMBEDDING' (U+202B)

Unicode Character 'RIGHT-TO-LEFT OVERRIDE' (U+202E)

These characters are handy in forcing the direction of the cursor to right-to-left within a left-to-right environment. If you've ever tried to, for example, insert a line of Persian text into your English Hotmail message where there is no control over cursor direction and the exclamation point or period jumps to the wrong end of the line, you know what this is all about.  If you are attempting the perilous task of typing an ISBN, run of telephone numbers, page numbers or anything else including both numerals and hyphens, you'll also need these characters.

go back up

The "Kashida" character: How cool people type pa-na-pa: پـَـَـ نــه پـَـَــ

If you need to manually type a kashida, look no further than Shift Dash. Actually, you need to type three of them in a row for pa-na-pa. All your Facebook friends will surely be impressed!

This picture shows the top, right portion of the ISIRI 9147 keyboard. Kashida is on Shift Dash.

Some hilarious sentence examples with pa-na-pa using various spelling variants, including kashida.

By the way, if you are looking for "Kashida" as a way of text justification to make lines of poetry have the same length, that is here.

go back up

How to Uninstall an Unwanted Keyboard

Start >> Control Panel >> Region and Language >> Keyboards and Languages >> Change Keyboards >> [Select the unwanted keyboard as shown in the picture below] >> Remove >> Apply >> OK

Select the Unwanted "Persian" keyboard and hit REMOVE

go back up

The Enhanced Microsoft Keyboard

Are you an old dog who can't learn new tricks? Did you get habituated to Microsoft's default Persian keyboard and don't feel like learning the  new layout in the Iranian Standard Persian Keyboard (ISIRI 9147)? No problem! But please consider getting this "enhanced" version which is exactly the same as what you're used to with just the addition of ZWNJ in two convenient places, either shift-space or shift b.

You can also get this directly from the source which comes to you courtesy of Behnam Esfahbod.

go back up

Secret Location of ZWNJ on the Microsoft Persian Keyboard

At one point, we did find out--and it was actually Behnam Esfahbod who accidentally came upon this while playing around on WinXp--Microsoft DID put ZWNJ and other characters on the keyboard. Unfortunately, no one knew about them because they are so well hidden, even Microsoft forgot where they had put them. Just for the sake of completeness, they are as follows:

Ctrl Shift 1 = ZWJ

Ctrl Shift 2 = ZWNJ

Ctrl Shift 3 = LRM

Ctrl Shift 4 = RLM

go back up

How to Set Up the Iranian Standard Persian Keyboard (ISIRI 9147) on Linux

All versions of Linux already come with the Iranian Standard Persian Keyboard (ISIRI 9147) installed so you don't have to worry about downloading anything. Just enable the keyboard:


Gnome 2 (e.g. Ubuntu, Fedora 14 and before)

System >> Preferences >> Keyboard Preferences >> Layout tab >> Add >> ‌By language tab >> language: Persian >> Add

Gnome 3 (e.g. Fedora 15)

System Settings (click on the username on top right/left) -> Region and Language -> Layouts -> + -> Persian


System Settings, Regional and Language Section, Keyboard Layout

Courtesy Milad Khajavi, Hedayat Vatankhah, Behnam Esfahbod

go back up

Controversies concerning the ISIRI 9147 Keyboard

Persian Numerals

With the release of the ISIRI 9147 Keyboard (or actually, with its predecessor, the Persian Experimental Standard Keyboard) came the ability to easily input Persian numbers. For many, this is the single greatest achievement of this keyboard.

For some, however, the ability to type Persian numbers is not welcome. For example, Firefox still (October 2011) cannot display numbers properly and "2011" on a webpage in Persian numerals may look like "1102" in the Firefox browser so web designers may prefer to "solve" the problem by avoiding Persian numbers altogether.

A few others feel that the way the Microsoft "Persian" keyboard handles the numbers is actually the preferred way. They think numbers should only be converted into Persian AFTER input according to context as specified by the user. (Go: Control Panel >> Region and Language >> Additional Settings >> Numbers >> Use Native Digits >> Context.) Of course, users on a public computer (e.g., at the library or internet cafe) cannot always easily change display settings. The way numbers are handled is considered a localization issue so it is not included in the Unicode Standard. Those handling localization issues in Persian generally feel that adoption of the ISIRI 9147 keyboard is the best solution. They feel that it is up to software designers and programmers to ensure numbers are displayed correctly. After all, just a few years ago, the world's software had to be completely re-written to handle Unicode, something which, at the time, was met with great resistance but which we mostly take for granted today. Time will tell how this current issue in Persian computing gets solved and we record it here lest it be forgotten once solved.

go back up

1) Persian Standard Keyboard aka "Persian Experimental Standard" - Win2000 and WinXP only version (Now Deprecated and Out-of-Date, Get the ISIRI 9147 keyboard above instead!)

If you're tired of not being able to type Persian numbers in Persian, definitely get this keyboard!

To get the Persian keyboard (zipped), here are directions. Note: this is for Win2000 & WinXP only. 

Download this package from one of the locations given:

Click on the downloaded file to unzip.

Drag the two files in the zip folder ("Persian.dll" "Persian.msi")  out of the zip folder and onto the desktop.  Close your zip folder -- you're done with that.  Somewhere on the desktop, right click >>new >>folder and create a new folder called i386. Drag Persian.dll into i386. Now you're done with downloading and it's time to install.

To install: Double-click the file called "Persian.msi" making sure you leave the other file called "Persian.dll" in i386. (In case you try to put them both in the same folder, the installer won't "see" Persian.dll)


Now, the rest of the keyboard installation instructions will only apply if you have already enabled FA on your computer.  If you have not yet enabled FA, it won't understand why you want to install a keyboard on a language you don't use!

Go Start > Settings > Control Panel > Regional and Language Options and open. Then

Languages > Text Services and input languages > Details and then add the Persian Experimental Keyboard (you should see it under Farsi if you were successful with the download and installation) and hit Apply and OK as shown here:

You may need to restart to see the changes. You will definitely need to close out of Word and open again.

This picture is on a WinXP.

go back up

1) Persian Standard Keyboard aka "Persian Experimental Standard" - Vista (and now Windows 7) version (Now Deprecated and Out-of-Date, Get the ISIRI 9147 keyboard above instead!)

The Vista version of the above keyboard is available here. The installation is extremely easy and there is almost nothing to do. The only tricky thing is that after unzipping all the files to one location or folder, don't mistakenly think you need to put any files into any folders, in other words, don't change the arrangement of all the files. All you need to do after unzipping is click on the setup.exe file. It will prompt you to click OK so you know it installed  itself properly. Then you may need to restart your computer. That's it. After that, you don't need to even do anything in the Control Panel (unless you want to disable the other FA keyboard so as to not have to toggle between two FA keyboards. To disable a keyboard, see the above section with the screen shots from WinXP and do the reverse process and REMOVE the FA keyboard rather than ADD it.) Whenever you have more than one keyboard enabled for any given language, if you look on your task bar (next to the clock), you'll see that next to the language, such as FA, there's a little keyboard symbol which you may depress in order to choose which of the FA keyboards you want to use. Again, in the list of keyboards, this one is called, "Persian Experimental Keyboard". Again, since it is a hassle to constantly have to toggle between keyboards for one language, if you DO want to disable the MS keyboard for Persian (FA) that ships with Windows, just look above to the previous explanation for WinXP and go into the control panel and perform roughly the reverse operation to remove the old keyboard.

go back up

The ISIRI 9147 keyboard and its precursor, the Persian Experimental keyboard were designed by the Farsiweb Project

The ISIRI 9147 layout is used for alphabet exercises for beginning students of Persian in hopes they will pick up typing skills at the same time they are learning the Persian alphabet.

go back up


This page was updated on Sept 19, 2011