Proj4JS is an open source JavaScript library that transforms map coordinates between different coordinate systems and projections.
Described as being a JavaScript port of the popular Proj.4 C library, in reality Proj4JS is only a loose port. It is a little easier to use, but can use the same specifications (eg. abbreviations for specific projections).
Due to its use as a client JavaScript lbirary, Proj4JS is much more lightweight. Whilst Proj.4 supports all but the most esoteric continuous map projections, Proj4JS only supports a subset of the most popular. Similarly, Proj.4 can be loaded with databases of various coordinate systems (eg. EPSG codes) but Proj4JS is usually only loaded with a handful of those used at runtime.
Further information and source code can be found here: