How to fiddle with Firefox .jar files relatively easily

November 22, 2005

A lot of Firefox's code is actually written in various interpreted languages, especially JavaScript, and Firefox extensions are pretty much all interpreted. This means that you can do a lot of Firefox and extension hacking without ever having to rebuild from source; you just zap the interpreted files in place in your installed copy.

Firefox doesn't leave all of these files sitting around for you to edit; it bundles them up in various .jar files (pretty much all in the chrome/ subdirectory). Fortunately .jar files are just ZIP archives. The easy way to modify files in them is:

  1. unzip the relevant jarfile somewhere (I usually use chrome/ itself, but I live dangerously)
  2. edit the unpacked files to taste
  3. run 'zip -f .../<whatever>.jar' in the root of where you unpacked the jarfile to 'freshen' it with your changes
  4. restart Firefox to test things.

(There are recipes for running Firefox from unpacked versions of the .jar files, but they require some black magic.)

(Figuring out which is the relevant jarfile (and the relevant source files) is beyond the scope of this entry; I suggest unpacking jarfiles and poking around. Also, see the Mozilla knowledge base at

Written on 22 November 2005.
« Why I don't write 'if (NULL == foo)' in C code
A quick outline of Firefox extension structure »

Page tools: View Source, Add Comment.
Login: Password:
Atom Syndication: Recent Comments.

Last modified: Tue Nov 22 02:27:23 2005
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.