Keywords Meta Tag Generator
Hermetic Systems
There are two versions of this software: basic (KWG) and advanced (KWGA).  The difference is that KWG acts only on single HTML (and PHP) files, whereas KWGA acts on multiple files in a single operation (but does not act on PHP files). If you need to do only a dozen or so web pages then KWG is sufficient. If you have many pages then you need KWGA. (This link takes you to the KWGA page.) There is no limit on the size of the input file or the number of words in the file.

Download the
trial version
a user license
Translate to:

  Working with:

Don't be misled by claims for "free keywords meta tag generators". These require you to select keywords, and simply output a meta tag containing those keywords. The software described here actually scans any specified HTML or PHP document on your PC and extracts the most frequent and emphasized words, which are then used to create a meta tag to be inserted into that document.

This program does not act directly on files located on your web server. It acts on files located on a PC. After the keywords meta tag has been created and inserted into your HTML or PHP document, that document must be uploaded to your web server.

There is disagreement as to how important it is to include a keywords meta tag. Even if it is not, this program can be useful, because it generates a list of the most frequently used words in your HTML document together with their keyword densities. This can tell you if certain words are over-used, or if a particularly important word is under-used. In addition, such a list can be a big help in composing a suitable description meta tag.


Compatible with Windows 7 As every HTML author knows, an HTML document has two parts, the header, between <HEAD> and </HEAD>, and the body, between <BODY> and </BODY>. Within the header there may be so-called META tags. One of these is the KEYWORDS meta tag.

The keywords meta tag is intended to provide search engines, when spidering a web page, with a list of words (called "keywords") which assist in retrieving the web page when someone searches the web using one or more of those keywords. (Keywords are also used by web services other than search engines, e.g., shareware sites.) However it is tedious to create a keywords meta tag by hand, especially for a large document, since you have to think of what keywords best characterize the web page. Keywords Meta Tag Generator assists in search engine optimization by automating the creation of a keywords meta tag based on the words most often used in the page and the way they are used (in bold, etc.). But the process of selecting keywords automatically requires more fine-tuning than simply identifying the most-commonly occurring words, which in any case are likely to be irrelevant words such as "for", "the" and "of".

Here is a typical screenshot:


Search engines follow links from one web page to another, indexing content as they go. If you want the search engines to know what a particular page is about, and rank it appropriately, you must include keywords in your text. This establishes your site's relevance for words that searchers use when they're looking for your product or service.

This program also provides the keyword density for the words found (this is the number of occurrences of a keyword divided by the total number of words in the document; see below for an example). This is useful information because if an important keyword has a keyword density of less than 1% it is less likely to be noticed by a search engine spider, whereas a word with a keyword density of more than 4% might seem suspicious.

How the Program Works

Keywords Meta Tag Generator works basically by counting the number of occurrences of words in your HTML document and building the keywords meta tag from the most-frequently used words (ignoring common words such as "the" and "which"). Thus the meta tag helps search engines by including the most commonly used words on your web page.

The program handles text in languages other than English (more on this below). It does not, however, just use word frequencies, but assigns more (or less or no) importance to words which occur:

Of course, the HTML tags do not have to be in upper case, as above; they can also be in lower case (as in XHTML-compliant pages).

The program allows you to specify the weight (or emphasis) given to words occurring in these contexts. You can either just accept the default values (this generally produces good results) or you can fine-tune the weighting as follows:

The program automatically adjusts the weight given to words in <Hn> and <FONT> tags as follows:

Keywords Meta Tag Generator ignores anything in the body of the document which is within HTML tags, within comments or within <SCRIPT ... /SCRIPT> or <STYLE ... /STYLE> so it can be used with HTML documents which use cascading style sheets, have lots of embedded javascript or were generated by some WYSIWYG web page creator. Following the usual practice with search engines, no distinction is made between singular and plural forms of words (usually).

Pronouns, conjunctions, prepositions and number words are ignored. Unlikely keywords such as gerunds (e.g., "bringing") are also ignored (except where these are nouns in common use, such as "training").

It is advisable to run an HTML validation utility on your HTML document before using this software because an error such as a missing ">", as in:

<td><img src="line.gif"</td>

may cause some text to be missed or may even cause the program to cease counting words at the point where the unterminated tag occurs.

Adjusting Operation

As noted above, this program does not act directly on files located on your web server. It acts on files located on a PC. After the keywords meta tag has been created and inserted into your HTML document, that document must be uploaded to your web server.

The input file (the file which is acted on) must have a name with an extension which is either php or includes (but is not limited to) htm, e.g., html and shtml. (See more on PHP files below.) It is selected (by clicking on Input file) in the usual way.

If the document already has a keywords meta tag then you can display it by clicking on Show existing keywords, etc.. This also shows any existing title and description.

You can tell the program to ignore:

You can require that only words which occur a specified minimum number of times should be considered for inclusion in the keywords meta tag. This does not apply to words within the <TITLE> tag or words within the description or the existing keywords meta tag. Thus you can require that words in the body of the document must occur at least twice, yet words in the title, etc., will still be candidates for the meta tag even if they occur there only once.

You can specify the maximum number of keywords in the meta tag (30 is recommended) and the maximum length in bytes of the meta tag (as shown in the screenshot above).

After you have specified the input file and the controlling parameters you can either:

  1. click on List words to get a list of the words satisfying the selection criteria, together with their keyword values, frequencies and densities, as at right (the highest value is always 100) or

  2. click on Generate/show keywords meta tag to get the meta tag.

If you want some words to be included as phrases you can type them into the Begin meta tag with textbox. Then pressing Generate/show keywords meta tag gives the revised meta tag.

You can edit the keywords meta tag directly in the text box and then copy it to the clipboard, then paste it into the header section of your HTML document. Or first copy the meta tag to the clipboard, paste it into your HTML document and edit it there.

If Keep upper/lower case in keywords is checked then the software conflates the values for any two words which are in lower case except perhaps for the first letter and which are the same except for the case of the first letter, and it treats the combined values as those for the word in lower case. For example, if the program finds 10 instances of "Tower" and 20 instances of "tower" then it will treat these as 30 instances of "tower" and no instances of "Tower".

If you wish to see the words which are found by the program as it is scanning the file then check the relevant textbox. Display of the words causes the program to run more slowly. It will run about three times as fast if the words are not shown.

After the keywords meta tag has been generated you can tell the program to insert it into the HTML document (any existing keywords meta tag will be replaced). The meta tag will be inserted at the end of the header section, just before </head>. Optionally you can tell the software to make a backup copy of the original file before the insertion (in case you don't trust the program to insert the meta tag correctly).

Title and Description Tags

Different search engines may or may not pay attention to the keywords meta tag when ranking a page, but they all regard the title tag as important and sometimes display the description tag in the search result. So you can use the keywords generated by this software as a guide to writing your title and description tags. It is reported that some search engines currently display the description tag when all of the search terms occur in the page's title tag. Thus if you use a title tag containing your most important keywords then a search on those keywords, if it results in an entry in the search results, may also cause your description tag to be displayed.

The value specified for "Minimum frequency for word" (in order to be considered for inclusion in the meta tag) does not apply to words in titles or descriptions. Thus a word may occur once in the title and never in the text and still appear in the meta tag.

Working with non-English Files

Keywords Meta Tag Generator works with HTML documents in languages other than English, more exactly, in any language which can be encoded in WinLatin1 (a.k.a. the Windows 1252 character set), which includes most European languages. Here is a screenshot showing the result of generating a keywords meta tag for an HTML file in German:

In the case of German the Keep upper/lower case in keywords should always be checked.

Here is the keywords meta tag generated for an HTML document in French:

For a document in one of the six languages English, French, German, Italian, Portuguese and Spanish select the language of the file containing common words which is used by the program (as shown in the screenshot above) and check the Ignore common words in checkbox.

You have to do this only if the program does not automatically detect a language specification in the input file. Six files are provided with common words in these six languages. The files are in the application folder (a subfolder of the Program files folder or the Program files (x86) folder), and are named:

Language English French German Italian Portuguese Spanish
File name cwds_en.txt cwds_fr.txt cwds_de.txt cwds_it.txt cwds_pt.txt cwds_es.txt

These files can be edited to remove or add common words. The words do not have to be in alphabetical order.

You can also choose to ignore common words in all six languages. The file for this is cwds_en_de_es_pt_it_fr.txt.


For text to be represented by a sequence of bytes in a file, it must be encoded in some way. The usual (and default) encoding is called ANSI, and consists of over 200 single bytes each associated with a particular character (letters, punctuation marks, etc.). ANSI is not itself an encoding; it is the default encoding on your computer. The character set (200 or so bytes) used on most PCs in Western countries is the encoding known as the Windows-1252 character set, which can encode text in English, German, Spanish, etc.

Text such as English, German, etc., which can be encoded via ANSI can also be encoded in other ways. Often it is encoded using the method known as UTF-8 (where "UTF" = "Unicode Transformation Format"). HTML files need not use UTF-8 encoding, but they often do. Keywords Meta Tag Generator can be applied to HTML files which are UTF-8 encoded, provided that the text (or more exactly, all the words in the text) could also be encoded via Windows-1252.

If the text in the HTML file is UTF-8 encoded, and you tell the program to insert the meta tag in the HTML file, then the meta tag will be UTF-8 encoded before insertion into the file. If the HTML file is ANSI-encoded then the inserted meta tag will also be in ANSI.

Unix-type Files

It may happen that an HTML document is created on a computer running Unix or Linux and then sent to a computer running Windows. Such a file can be uploaded to a server and browsers will display it correctly, but some utility programs written to run under Windows may not be able to function with it. This is because Unix/Linux text files use different bytes to mark ends of lines than are used in DOS/Windows text files.

Keywords Meta Tag Generator is not intended to work with such files, but if it is applied to such a file the program will detect that it is a Unix/Linux-type file and will display a notice of such. The program can still process such files but the speed of operation is slower (and is slower in proportion to the size of the file).

If you find that a file is a Unix/Linux-type file then you can use a free program called Notepad++ to convert the line endings to DOS/Windows type (select Edit | EOL conversion).

PHP Files

Keywords Meta Tag Generator works not only with HTML files but also with PHP files. It skips over all PHP sections, that is, code within <? and ?>. (Thus PHP sections can begin not only with <?php but also with <?=, as in <?=$s?>.) This implies that displayed text which is output using echo will not be scanned. Also text contained within PHP arrays will not be scanned. In other words, with PHP files this program scans only text which is outside a PHP section. Thus it should be used only with PHP files whose displayable text is mostly of this kind.

The only difference in the functioning of the program for HTML files and PHP files is that, in the latter case, insertion of the generated keywords meta tag into the document will always be accompanied by the creation of a backup copy of the original file. This is because, since the structure of the PHP file is unknown, it is too risky to insert the meta tag without making a backup.

For a version of this software which acts on multiple files in multiple folders in a single operation see Keywords Meta Tag Generator Advanced Version.

For a description of more general word-counting software (not specialized for producing keywords meta tags) see Hermetic Word Frequency Counter.

How to obtain the software: A copy of the Keywords Meta Tag Generator software can be downloaded from this website. Click on the link below to go to a web page with further information:

Download Keywords Meta Tag Generator ...

Click here to see prices.
Price and ordering: A single-user license for the fully-functional software is available for a period of 3 months, 1 year or with no time limit (a 'perpetual' license). Prices for each type of license are given at Purchase a User License. An activation key is required in order to make the trial version permanently fully functional. An activation key can be obtained immediately if you purchase a user license via PayPal.

Refund: A refund will be provided promptly up to 30 days after purchase if the software does not perform satisfactorily.

Updates: Purchasers of a user license for this software are entitled to an update to any later version at no additional cost.

Hermetic Systems Home Page