You are here: Home > General Resources > Developing Punjabi Web Sites

Developing Punjabi Web Sites

Creating a Punjabi languages web site is easy! This guide is designed for users already familiar with creating web sites.

You can only create Punjabi web sites using Unicode on Windows XP and newer, Mac OS 10.2 and newer or a compatible Linux distribution running a Unicode aware desktop manager such as Gnome.

Unicode Awareness

The first step towards creating a Punjabi web site is to ensure that the web browser knows how to read the pages. There are a couple of methods that can be employed to ensure this happens. First though, you have to decide whether you are going to use UTF-8 or UTF-16. UTF-8 is an 8 bit transformation format for Unicode and UTF-16 is a 16 bit transformation format for Unicode. If your web site is going to have lots of Punjabi text, you should set the encoding to UTF-16 because this will actually save space. However, if your web site only has a little bit of text or is mainly in English, select UTF-8.

Note: Programs such as Macromedia Dreamweaver do not support Gurmukhi and therefore you should use a program like Notepad if you are familiar with HTML.

To save a page in Notepad in your preferred format, click 'File' > 'Save As...' and then select the drop-down list labelled 'Encoding'. To save in UTF-16 format select 'Unicode' and for UTF-8 select 'UTF-8'.

If you are creating an XHTML page and you have included an XML declaration, ensure that it has the appropriate encoding listed:

<?xml version="1.0" encoding="utf-8"?>


<?xml version="1.0" encoding="utf-16"?>

You only need to do this if you already have a declaration and you are using XHTML. The XML declaration is known to cause problems with Internet Explorer when used with XHTML 1.1. It's not required for plain HTML.

For all sites, whether they have been created in XHTML or plain HTML*, you should include the following line inside the <head> tags:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />


<meta http-equiv="Content-Type" content="text/html; charset=utf-16" />

*If you are using HTML, ensure that the tag ends with > only and not />.

Punjabi Awareness

Now that you have made your browser aware of the fact that you have created a Unicode web page, the next step is to make it aware that it is in Punjabi! This is quite simple although differs slightly between plain HTML, XHTML 1.0 and XHTML 1.1. The method involves adding an attribute to the <html> tag so that it looks something like this:


<html lang="pa-IN">


<html xmlns="" 
     lang="pa-IN" xml:lang="pa-IN">

XHTML 1.1 and above

<html xmlns="" xml:lang="pa-IN">

Browser Compatibility

Unfortunately, not all browsers support Gurmukhi. If using Internet Explorer 6 and above with appropriate fonts, users on all versions of Windows should be able to view the web page correctly. This covers the vast majority of internet users.

The newest versions of both Opera and Safari support Gurmukhi with correct operating system support.

Mozilla (including Netscape) and Mozilla Firefox support Gurmukhi if the underlying operating system supports it (Windows XP and above). Issues with Gurmukhi rendering on Mozilla products using Linux still remain.


In addition to this introduction, we also provide some very basic templates to get you started. These templates validate correctly using the W3C Validator.

HTML 4.0 Transitional


XHTML 1.0 Transitional

UTF-8 (with XML declaration)
UTF-16 (with XML declaration)


UTF-8 (with XML declaration)
UTF-16 (with XML declaration)