Skip to content

Signature Switch (Legacy Version)



The following refers to the legacy/outdated version of the add-on (which is based on XUL/XPCOM). Meaning it will only work with versions of Thunderbird below 78.

Tired of removing/inserting your signature manually when composing a mail?

Sometimes you don't want specific recipients to see your signature (which may contain "personal" information).
Signature Switch offers removal (and re-insertion) of your signature with just one click of a button.
Moreover you can define different signatures (e.g. for private- or business-use) and easily select them via toolbar button.

But that's not all!
Additional features include the support of "fortune cookie files" and automatic switching based on recipients.
Switching or choosing the signature only affects the currently composed message of course. Your original settings remain untouched.










1.8.2 (2019-09-03)

  • another bugfix in options-menu (saving now works again)

1.8.1 (2019-09-01)

  • bugfix in options-menu

1.8.0 (2019-08-13)

  • necessary code adjustments due to major changes in TB 61+ (see Thunderbird/Add-ons Guide 63)
  • bumped minVersion to 61.*
  • changed default signature-editor for Linux from gedit to xed
  • other minor improvements

1.7.1 (2018-05-31)

  • updated handling of getCharPref() in options-dialog in order to work with TB60
  • bumped maxVersion to 60.*

1.7 (2017-12-03)

  • fixed bug when changing "AutoSwitch Priority" in preferences dialog
  • removed/replaced usage of deprecated interfaces ( and nsISupportsString.{get,set}ComplexValue; see: Thunderbird/Add-ons Guide 57
  • changed maxVersion to 58.*; the minVersion also had to be raised to 55.* due to the changes above
  • some other minor changes/refactorings

1.6.16 (2017-08-12)

  • minor changes to ensure compatibility with upcoming internal API-changes (nsILocalFile --> nsIFile)
  • changed maxVersion to 52.*

1.6.15 (2016-12-10)

  • updated handling for HTML-signatures in order to assure compatibility with upcoming Thunderbird releases
  • changed maxVersion to 45.*

1.6.14 (2015-12-12)

  • added sl-SL locale
  • changed maxVersion to 38.*

1.6.13 (2015-03-04)

  • changed maxVersion to 31.*

1.6.12 (2013-09-08)

  • updated code to comply with TB24
  • changed maxVersion to 24.*

1.6.11 (2012-11-04)

  • changed maxVersion to 16.*

1.6.10 (2011-12-14)

  • changed maxVersion to 8.*

1.6.9 (2011-10-01)

  • changed maxVersion to 7.*

1.6.8 (2011-08-18)

  • changed maxVersion to 6.*

1.6.7 (2011-06-21)

  • reactivated it-IT locale (thanks, Massimo!)
  • changed maxVersion to 5.*

1.6.6 (2010-07-08)

  • necessary adjustments to ensure 3.1-compatibility (chrome.manifest)

1.6.5 (2010-01-24)

  • changed maxVersion to 3.2a1pre
  • updated da-DK locale

1.6.4 (2009-04-28)

  • added da-DK locale
  • fixed a bug in the options-dialog… again ;-)
    (an empty autoswitch-priority-box can't happen anymore now)
  • bumped maxVersion to 3.1a1pre

1.6.3 (2009-01-11)

  • fixed a bug in the options-dialog
  • reactivated pl-PL locale
  • corrections on nb-NO locale

1.6.2 (2008-12-14)

  • reactivated nb-NO locale
  • when using an empty file as signature the sig-separator won't be added automatically anymore
  • (hopefully) fixed incompatibility-issues with some themes
  • bumped maxVersion to 3.0b1

1.6.1 (2008-04-22)

  • reactivated sv-SE locale
  • changed maxVersion to 3.0a1

1.6 (2008-03-06)

  • new: Pre-Load-Executable feature
  • new: the new "cycle-through"-keyboard-shortcut iterates your signatures
  • reorganization of code-structure
  • minor refactoring
  • unfortunately the following locales had to be deactivated due to incompleteness: it-IT, sv-SE, nb-NO, pl-PL;
    if your mother-language is amongst them then please contribute and e-mail me to receive the incomplete locale-files

1.5.4 (2007-09-30)

  • new locale: nb-NO

1.5.3 (2007-09-07)

  • fix: directory-variables didn't work when invoking the external editor

1.5.2 (2007-09-03)

  • reactivated ja-JP locale;
    still missing: be-BY and zh-TW; please contact me if you want to contribute

1.5.1 (2007-09-02)

  • reactivated cs-CZ locale
  • fixed bug in ru-RU locale

1.5 (2007-08-29)

  • new: clicking a button invokes your favourite editor to create/modify the signature
  • new: mailinglists can now also be used for triggering the AutoSwitch
  • new: a listbox in the options-dialog lets you alter the priority (addresses, newsgroups, mailingslists) for AutoSwitch
  • fix: added special treatment for Mac-linebreaks
  • other minor code-improvements
  • reactivated ca-AD locale
  • unfortunately the following locales had to be deactivated due to incompleteness: be-BY, cs-CZ, ja-JP, zh-TW;
    if your mother-language is amongst them then please contribute and e-mail me to receive the incomplete locale-files

1.4.4 (2007-06-08)

  • added sr-YU locale

1.4.3 (2007-04-10)

  • changed maxVersion to 2.0.0.* due to yesterday's release of TB2.0rc1

1.4.2 (2007-02-20)

  • another bugfix concerning replies in HTML-format
  • added "hidden pref" (initdelay)

1.4.1 (2007-01-23)

  • changed maxVersion to 2.0b2

1.4 (2006-11-28)

  • finally, made some crucial improvements concerning signature insertion/removal when composing in HTML-style;
    hopefully this will fix the problems some people had with forwardings
  • also did some corrections regarding the use of "Fortune-Cookies" combined with the "Hybrid-Signatures"-feature
  • added sv-SE and hu-HU locales
  • reactivated the cs-CZ locale
  • deactivated the ca-AD locale due to incompleteness;
    if you want to contribute and complete the missing phrases then please contact me
  • changed maxVersion to 2.0b1
  • other minor code improvements

1.3 (2006-10-06)

  • new feature: "Hybrid-Signatures"
  • enhancement: AutoSwitch now can be used for newsgroups as well
  • fix: auto-switching now also works when recipients get chosen via address-book
  • again: minor improvement on options-dialog
  • reactivated the zh-TW locale
  • deactivated the cs-CZ locale due to incompleteness

1.2.5 (2006-08-23)

  • added ca-AD locale

1.2.4 (2006-07-31)

  • changed maxVersion to 2.0a1
  • minor improvement on options-dialog

1.2.3 (2006-07-13)

  • "cosmetic corrections" for options-dialog

1.2.2 (2006-07-03)

  • reactivated the pt-BR and pl-PL locales

1.2.1 (2006-04-14)

  • corrections on nl-NL-locale

1.2 (2006-04-09)

  • again... due to popular demand:
  • configurable keyboard-shortcuts for each signature
  • AutoSwitch-Option: recipient-based (automatic) switching!
  • bugfix: manually deleting a line within the signature crashed Thunderbird on Windows-systems
    (this was caused by Windows-linebreaks (\r\n) in the signature file; now they get converted)
  • corrections on cs-CZ-locale
  • other minor code-improvements
  • unfortunately the pl-PL, pt-BR and zh-TW locales had to be deactivated for this release since the original translators didn't respond to my translation-request;
    if you want to contribute and complete the missing phrases then please contact me

1.1 (2006-02-24)

  • due to popular demand: fortune-cookie-signatures now can have a "fixed part"
  • corrections on inserting the signature-separator
  • added sk-SK locale
  • other code-improvements

1.0.2 (2006-01-25)

  • changed maxVersion to 1.5.0.*
  • bugfix: account-signatures didn't get shown upon changing the account in composer

1.0.1 (2006-01-11)

  • more exact handling regarding the OS-specific line feeds (Linux: \n; Windows: \r\n);
    this should solve the problems some people had with fortune-cookie-files

1.0 (2005-12-21)

  • new feature: the signature-filepath now can contain certain "directory-variables"
    (this should solve the drive letter problem for people using Portable Thunderbird)
  • added cs-CZ, tr-TR and pt-BR locales
  • changed handling for "fortune-cookie"-files (no extra initial line-breaks get inserted)
  • the character-encoding for loaded signatures can now be changed via options-dialog
  • bugfix: problems when using a default-signature and changing the identity ("From:")
  • bugfix: pressing the contacts-button may have added the default-signature unnecessarily
  • several other code improvements

0.9.5 (2005-11-05)

  • raised maxVersion to 1.5

0.9.4 (2005-10-10)

  • bugfix: inserting a default-signature on forwardings sometimes deleted the complete forwarded text
  • raised maxVersion to 1.4.1 (TB 1.5 Beta 2)

0.9.3 (2005-09-21)

  • added ja-JP locale

0.9.2 (2005-09-17)

  • bugfix: the procedure for localizing the main-description caused problems

0.9.1 (2005-09-15)

  • bugfix for unicode-support

0.9 (2005-09-15)

  • raised maxVersion to 1.4 (TB 1.5 Beta 1)
  • added ru-RU locale
  • improvements for the pl-PL locale
  • UTF-8/Unicode-support
  • new button-images in the options-dialog
  • the extension's main-description is now localized

0.8 (2005-07-20)

  • added pl-PL locale
  • bugfix: switching didn't work after loading a signature that already contained the signature-delimiter (-- \n) in the first line
  • bugfix: switching sometimes accidentally deleted the whole message (only when composing in HTML-style)
  • bugfix: the signature didn't get inserted correctly when composing a new mail which got initiated and prefilled from external applications
  • several improvements regarding "occasionally" inserted CR's before the signature
  • other minor code changes

0.7 (2005-06-04)

  • Signature Switch now recognizes "Fortune Cookie Files" (= files containing many different signatures separated by a percent-char; the extension is randomly choosing one)
  • the path of a signature-file now can contain non-ascii-characters from the system's codepage
  • some corrections on the options-dialog
  • other minor code improvements
  • raised compatibility to Thunderbird 1.0+ ("TB 1.1 Alpha")

0.6 (2005-05-16)

  • due to popular demand: now you can create a set of different signatures which can be easily accessed/switched via toolbar-button or options-menu
  • Signature Switch can now be accessed via right-click context-menu
  • several code changes (code beautifying, performance improvements)
  • fixed: default-removal of the signature didn't work when changing the account in composer-window
  • the extension finally got its own 32x32-icon ;-)

0.5.1 (2005-05-05)

  • HOTFIX: some users had problems with the previous release causing the composer-window to freeze;
    corrected the overlay-sequence (hopefully that solves the problem)

0.5 (2005-05-02)

  • restructured code
  • added Chinese Traditional zh-TW localization

0.4 (2005-04-06)

  • restructured code for better compatibility with other extensions (update recommended!)

0.3.6 (2005-??-??)

  • added localizations: nl-NL, fr-FR

0.3.5 (2005-??-??)

  • spanish language support

0.3.4 (2005-03-31)

  • upgrade for TB 1.0.2
  • small bugfix (the default removal of the signature sometimes only worked once)

0.3.3 (2005-03-30)

  • corrections for the de-DE-localization

0.3.2 (2005-03-29)

  • proper initialization-procedure

0.3.1 (2005-03-29)

  • bugfix (new option from v0.3 didn't work properly)

0.3 (2005-03-29)

  • new option: "Switch signature off by default"

0.2 (2005-03-21)

  • customizable keyboard-shortcut
  • new entry in the options-menu of the composer-window

0.1.1 (2005-03-09)

  • italian language support

0.1 (2005-03-05)

  • initial release


Hidden Prefs

Signature Switch offers settings which are not reachable via GUI but Thunderbird's built-in "config-editor" (about:config).
Usually it shouldn't be necessary to change their default-values; but in some cases adjustments can solve certain problems or change to a preferred behaviour.

Currently these preferences can be set:

Name Default Effect Comment
extensions.signatureswitch.initdelay 1000 This is the time (in milliseconds) that Signature Switch is waiting to take action after opening a new mail-window. These actions include deleting any found signatures and inserting the default-signature. On some slow computers this time seems to be too short (so that other things get interrupted). Try raising this value if you're experiencing empty To:-fields, etc.
extensions.signatureswitch.autoswitchpriorityonnewsgroups false This one determines whether to give e-mail-addresses or newsgroup-addresses priority when using the autoswitch-feature. Obsolete due to the new list-box in the GUI.

HTML Signature

This is what a signature-file should look like when composing in HTML-style:

Achim Seufert<br>
eMail: mozext at achimonline de<br>


Achim Seufert

eMail: mozext at achimonline de

By the way... there's no need to build a complete HTML-file including a header, body, CSS-definitions, etc.
So you should avoid creating your HTML-signature using a WYSIWYG-editor; simply use a normal text-editor and just declare the tags you really need.

Another hint:
If you can't help adding an image-file to your signature, then don't forget using the "file:///"-prefix and the full path.

<img src="file:///c:/Documents%20and%20Settings/Achim/My%20Documents/sig.jpg">

(You also should "escape" the path if you have blanks, etc. in it.)

Also: Please check the "Hybrid Signature"-instructions on this page if you intend to use the same signature-file for composing your mails both in plaintext- and HTML-style.

The contents of a "Fortune Cookie File" with different signatures should look like this:

In the space of one hundred and seventy-six years the Mississippi has
shortened itself two hundred and forty-two miles. Therefore ... in the
Old Silurian Period the Mississippi River was upward of one million
three hundred thousand miles long ... seven hundred and forty-two years
from now the Mississippi will be only a mile and three-quarters long.
... There is something fascinating about science. One gets such
wholesome returns of conjecture out of such a trifling investment of

    -- Mark Twain
In the Top 40, half the songs are secret messages to the teen world to
drop out, turn on, and groove with the chemicals and light shows at

    -- Art Linkletter
In those days he was wiser than he is now -- he used to frequently take
my advice.

    -- Winston Churchill

Note: The first and last line shouldn't contain the %-separator-char.

A nice fortune-cookie program plus some data-files can be found here: Fortune4All, Fortune data

Another hint for people that want to use HTML-formatted-signatures in a fortune-cookie-file:
Make sure you don't put any <br>s (or any other tags, etc.) before or after the %-character!

To achieve HTML-compliant line-breaks in your fc-file, create something like this:

line1 of sig1<br>
line2 of sig1<br>
line3 of sig1
line1 of sig2<br>
line2 of sig2<br>
line3 of sig2
line1 of sig3<br>
line2 of sig3<br>
line3 of sig3


line1 of sig1
line2 of sig1
line3 of sig1
line1 of sig2
line2 of sig2
line3 of sig2
line1 of sig3
line2 of sig3
line3 of sig3

Now... to get you even more confused... there's another "specialty" you can use on fortune-cookie-files.
Let's assume you want to have a random fortune-cookie picked each time, but additionally you want to have a "fixed part" before it; then this is how to do it:

Achim Seufert
Fortune-Cookie #1
Fortune-Cookie #2
Fortune-Cookie #3

Everything above the $-line will be treated as your "fixed part"; below follows the usual fc-file.

Hybrid Signature

This example shows you how to format a signature-file so that it can be used for composing in both plaintext- and HTML-style.

Achim Seufert

eMail: mozext at achimonline de
<font color="blue">Achim Seufert</font><br>
<font color="black">
Website: <i></i><br>
eMail: <i>mozext at achimonline de</i><br>

Note: The =-separator-char must be on a line on its own. It separates the plaintext-signature (above) from the HTML-signature (below).
That way Signature Switch will detect a "hybrid-signature" and choose the appropriate signature depending on what style you're composing the mail.

For those who already use fortune-cookies (see "Fortune Cookie File" on this page) and maybe also the "fixed-part" in their signature-files... check this example on how to use this features together with a hybrid-signature:

line 1 of fixed-part for plain-text
line 2 of fixed-part for plain-text
line 3 of fixed-part for plain-text
line 1 of fixed-part for html<br>
line 2 of fixed-part for html<br>
line 3 of fixed-part for html<br>
line1 of fortune-cookie1 for plain-text
line2 of fortune-cookie1 for plain-text
line3 of fortune-cookie1 for plain-text
line1 of fortune-cookie1 for html<br>
line2 of fortune-cookie1 for html<br>
line3 of fortune-cookie1 for html<br>
line1 of fortune-cookie2 for plain-text
line2 of fortune-cookie2 for plain-text
line3 of fortune-cookie2 for plain-text
line1 of fortune-cookie2 for html<br>
line2 of fortune-cookie2 for html<br>
line3 of fortune-cookie2 for html<br>

Directory Variables

When adding a signature you can use a directory-variable to keep the location of your signature-file flexible. This feature should mostly be interesting for people using Portable Thunderbird who face the problem of having different drive-letters whenever they mount their USB-device.

The variable has to be placed in front of your signature-filename enclosed by %-chars.


In this example the variable %ProfD% will be replaced with the path to your profile-directory.

Here's a list of a few other variables which can be used:

Variable Meaning
ProfD profile directory
DefProfRt user directory (e.g. /home/achim/.thunderbird)
Home OS root (e.g. /home/achim)
TmpD OS tmp (e.g. /tmp)
... ...

Actually you can use any variable-strings defined here:

... but only the ones ending with _DIR of course.

Pre-Load Executable

Using the "Pre-Load Executable"-feature you can launch an external program to do specific tasks which should be done before actually loading the signature-file.

The following items get handed over to the "Pre-Load Executable"-program (in listed order): - the full path of the sig-file to be loaded - the subject of the current message - the from:-email-address - the to:-email-address(es) (if present when switching) - the cc:-email-address(es) (if present when switching) - the bcc:-email-address(es) (if present when switching) - the addressed newsgroups (if present when switching)

When this feature is activated the executable will be launched whenever a signature gets loaded. If you only want to take action on specific signatures then the program has to deal with that itself (see third example below).

Here are some basic usage examples...

Invoking a shell-script that puts your Linux-version and Uptime into the sig-file:

echo    "-- "          > "$1"
echo -n "My Linux: "  >> "$1"
cat  /proc/version    >> "$1"
echo -n "My Uptime: " >> "$1"
uptime                >> "$1"

Check for a certain recipient and add extra information:



echo "-- "                           > "$SIGFILE"
echo "Business Phone Number: 12345" >> "$SIGFILE"

until [ -z "$1" ]

  if [ "$1" == "" ]; then
    echo "Private Phone Number: 67890" >> "$SIGFILE"



Do some manipulation only when a certain signature was selected:


SIGNAME=`basename "$1"`
IPADDRESS=`/sbin/ifconfig eth0 | perl -n -e 'if (m/inet addr:([\d\.]+)/g) { print $1 }'` >> "$1"

if [ "$SIGNAME" == "internal.txt" ]; then
  echo    "-- "              > "$1"
  echo -n "My current IP: " >> "$1"
  echo     $IPADDRESS       >> "$1"


Q: I am able to retrieve the download, but it will not install. Instead, I get the same error message each time: "Signature Switch could not be installed because it is not compatible with Firefox". What's wrong?

A: Nothing. Read closely.
Signature Switch is a Thunderbird-extension, so it won't be installed within Firefox. Here's instructions on how to properly install Thunderbird extensions.

Q: When I insert my signature all of its line-breaks and spaces are gone. What happened?

A: If you compose mails in HTML-style and insert plaintext-files as signatures then all line-breaks will be ignored. (Of course... it's HTML!)
You'll have to use the <br>-tag to do line-breaks.
The same thing with fixed font-width. Set the <pre>-tag around your signature to get a textual predefined signature. Please check the "HTML Signature"-section on this page.

Q: What about the double-dashes/hyphens? Why are they always being added when I insert a signature?

A: The double-dashes/hyphens indicate the beginning of the signature. They're part of the so called signature-separator (-- \n).
Just as Thunderbird's native behaviour Signature Switch will check if that separator is present; if not it will be added.
(Please also check the Wikipedia article regarding the "Signature block".)

Q: My signature doesn't get removed when it is placed before quoted text. Is that a bug?

A: No it isn't.
If your Thunderbird is set to place the signature "below your reply (above the quote)" the removal won't work. That's because Thunderbird then doesn't insert the standard-delimiter (-- \n) before the signature (for a good reason!). And that's what Signature Switch is looking for.
Some people might try to bypass that problem by manually adding the sig-delimiter to their signature file. But that will cause another problem.
The -- \n always marks the very end of a mail-message. Signature Switch assumes that any text placed below the signature-delimiter (including any quoted lines) is part of the signature; and therefore removes everything below the delimiter.
Besides... this option isn't recommended by Thunderbird itself! So please put your signature below your quotings.
(Please also check the Wikipedia article regarding the "Signature block".)

Q: I want to place my signature at any desired position within the message. Could you please implement cursor-point-insertion to Signature Switch?

A: Definitely no. Sorry. (And please don't ask me to reconsider.)
Due to the reasons explained for the previous question I can't offer you this. Besides... something like that wouldn't have anything to do with "signatures" anymore.
If you're looking for an easy way to paste predefined text please check out other extensions especially made for that purpose.

Q: After installing the extension I opened the dialog to customize the toolbar. Unfortunately I can't find the new toolbar-button. Where is it?

A: You're probably trying to customize the main-window's toolbar. Open a new message and customize the toolbar in there.

Q: I've created my signature using Microsoft Word (and saved it as a .doc-file). Unfortunately the result isn't what I was expecting. Only strange characters get shown. What am I doing wrong?

A: Well... of course you can't use any proprietary file-format when adding signatures within Thunderbird. Only plaintext-files can be used. On Windows-systems try using Notepad or some other "real" text-editor.

Q: Does the file-extension (.txt, .sig, etc.) of the signature-file matter?

A: No, it doesn't. Your signature-file can be named anything you like.

Q: I can't select my signatures from the dropdown button (anymore). They're set inactive. What's wrong?

A: If Signature Switch can't find the specific file on your hard drive then the according menu-item will be disabled. Maybe you've entered a wrong filepath or deleted the file?!

Q: How can I make one of my signatures the default?

A: Enter the options-dialog and click inside the "Default"-column.

Q: Can Signature Switch choose a random signature for me whenever I start composing a new message?

A: Yes, it can. Simply create a so called "fortune-cookie file" (see dedicated section on this page) and set it as default-signature.

Q: What does the keyboard shortcut "on/off" exactly do?

A: Actually that's the same as clicking on the toolbar button. SignatureSwitch has its own kind of "clipboard". When there's a signature present in your mail, and you perform a simple click on the toolbar-button (or select the "on/off"-context-entry) then the current signature will be removed and put into that clipboard. Another click simply re-inserts the signature that is currently stored in the clipboard; in other words: Signature on/off.

Q: Clicking on the toolbar-button doesn't insert my signature. I have to choose one from the dropdown-list. What's wrong?

A: Absolutely nothing.
Clicking on the toolbar-button only removes (or re-inserts) an existing signature in your mail-body.
However, if you set up a default-signature and choose to "turn the signature off by default", you can use the button to (re-)insert your signature with a simple click on the toolbar-button.

Q: I'm using Portable Thunderbird on a USB-Stick; so the (absolute) paths to my signature-files are changing. What can I do?

A: You can use "Directory Variables" (see section on this page) to reference to your signature-files.

Q: I've set a keyboard-shortcut for one of my signatures. The shortcut shows up in the context-menu but nothing happens when I use it.

A: Your shortcut seems to be in conflict with an already existing shortcut. Another extension (or Thunderbird itself!) might already be using your combination.
So you should try to find another shortcut-key-combination which is likely to be still available.

Q: When I start writing a new mail my default signature (set via the account-options) appears for about two seconds, and then it gets replaced with a signature I set up in Signature Switch. After that the signature completely disappears. What's happening?

A: Looks like you have chosen a default-signature within Signature Switch (which overrides the one set via account-options) and you have activated the option "switch signature off by default".

Q: How can I get a different random signature than the one that came up?

A: Pick the signature again from the menu. If you're using random signatures, Signature Switch will randomly pick again. This is also a good way to test your signature after editing your signature file.

Q: I sometimes get an empty To:-field when replying to a mail. Is that a bug in your extension?

A: Please check the "Hidden preferences" section on this page; there might be the solution for that problem.

Q: The signature looks completely messed up when using Japanese characters. What can I do?

A: The extension uses UTF-8 when loading the signature-file. This might not be a suitable encoding for Japanese characters. Try changing it to something like Shift_JIS by using the options-dialog.

Q: When I add a signature to my mail it appears in light grey and not in the usual black. Why is that happening and what can I do against it?

A: That behaviour is absolutely normal. Thunderbird automatically detects the signature (by finding the signature-separator) and renders the sig-text in grey. Don't worry. That color-formatting doesn't get applied to your actual signature. It's just the way Thunderbird displays it.