This page provides basic JOSM installation steps and troubleshooting information. To start working with JOSM please see the Introduction and the Help pages. And for very complex issues see Installation Notes.

Recommended options

source:trunk/resources/images/openlocation.svg Start josm.jnlp (newest tested version)
Recommended version, all platforms, automatic update to the newest tested version monthly (how to start).

source:trunk/resources/images/download.svg Download josm-tested.jar (tested version 18193)
All platforms (how to run).

All download options

Every month the team of JOSM releases a tested version for download. The MS Windows and Apple macOS variants are built on this tested version. When you click on josm.jnlp to launch JOSM you will always get the newest tested version. Java's Web Start is the mechanism behind this.

Every night the build systems generate a latest version. These versions might have severe errors. But mostly they work well, too. For the latest version is also a Web Start variant available.

For all operating systems Development
Version  Web Start  Download Windows Apple macOS Ubuntu, Debian… openSUSE Jar / Javadoc / Source
tested 18193 josm.jnlp josm-tested.jar
(see below)

JOSM macOS .zip package
or (homebrew)
see below see below josm:18193
latest 18225 latest.jnlp josm-latest.jar see below Use snapshots
older download/ automatic builds dists/ tested versions

When running scripts please first check on latest, tested or both to reduce download bandwidth.

Strip translations
If download size is an issue, smaller files of the tested version are available. For downloads containing only English append ?lang=en to the URL. To include one translation replace en with the language code you want (lowercase first character, supported languages only). You can further reduce the file size by stripping the signing information off with appending ?unsigned=1.

Linux Repositories

JOSM's Debian based mainly for Ubuntu

This is our own package repository primarily for Ubuntu. It should also work with other Debian based (especially Ubuntu based) distributions, but we do not actively test and maintain any distributions other than Ubuntu.

The repository contains two packages:

  • josm – Provides the tested version (stable). Replaces the package from the official repository of your distribution.
  • josm-latest – The latest version (nightly). Can be installed in parallel to the josm package, therefore the default JOSM directories name is set to JOSM-latest.

In addition to the regular procedure described below, older DEBs can be manually downloaded from the archives.


Edit the package resource list /etc/apt/sources.list:

sudo editor /etc/apt/sources.list

and add one of the following lines according to your Ubuntu-Version:

deb hirsute universe
deb groovy universe
deb focal universe
deb eoan universe
deb disco universe
deb bionic universe

# For other Debian based distributions add:
deb alldist universe

Alternatively, this can be done with the following one-liner in Ubuntu (not for Ubuntu based distributions like Linux Mint):

echo deb $(lsb_release -sc) universe | sudo tee /etc/apt/sources.list.d/josm.list > /dev/null

or for Linux Mint:

echo deb $(grep ^DISTRIB_CODENAME= /etc/upstream-release/lsb-release| awk -F = '{print $(2)}') universe | sudo tee /etc/apt/sources.list.d/josm.list > /dev/null

Download and register the public key:

wget -q -O- | sudo apt-key add -

Now refresh your sources (you may need to install sudo apt-get install apt-transport-https)

sudo apt-get update

and install:

# You can skip this first line if these packages were not installed before.
sudo apt-get remove josm josm-plugins

# For the tested version
sudo apt-get install josm
# for the development version
sudo apt-get install josm-latest

GNU Debian

The tested version of JOSM is available under main in section utils.

Please, use the backports repository to get the up to date version, see Instructions.

Alternatively, our own Ubuntu packages, above, work on Debian. Depending on the setup of sudo, some instruction will not work as "normal" user but only as root.

Since Debian 11 (bullseye), josm-installer which downloads the .jar file from this site is an additional option for an up-to-date JOSM.


The tested version of JOSM is available in the Application:Geo repository.

First add as root user in yast or with zypper the repository (replace the version in the URL with the one you are using):

zypper ar -f Application:Geo

Then simply install josm and josm-fonts package.



When you double-click on a jar file and nothing happens in most cases this means Java isn't installed.

JOSM is tested with Oracles variant, so we recommend to get Java from their pages for manual downloads or intermediate versions. But first give the Java already distributed with the operating system a try, for example.

When choosing a download keep in mind:

  • A Java Plug-in for web browsers is not needed to run JOSM. Therefore results from pages like are not relevant.
  • A Java variant with 64 bit is recommended for JOSM. The operating systems architecture is important for deciding between 32 bit Java or 64 bit Java. Because JOSM is not affected by the web browsers architecture most recommendations on this page are not relevant.
  • Avoid pages like which intent to place Java Plug-ins in web browsers. And this is not important for JOSM.

For further information visit the Installation Notes and troubleshooting pages. Java in this section means a JRE (Java Runtime Engine) which provides a JVM (Java Virtual Machine) to run JOSM, a Java program that is developed using JDK (Java Development Kit) and sometimes launched with the JNLP (Java Network Launch Protocol aka Web Start and successor of Java Plug-ins).

Testing Java

Checks if Java is installed and why JOSM does not start (example mainly for MS Windows).

  1. Download josm-tested.jar to your desktop.
  2. Open a Command Prompt aka Terminal
  3. Type cd %homepath%⏎ and type cd Desktop
  4. Type java -version ⏎ Three lines with the version data should appear. If you see something else then Java is not properly installed.
  5. Type java -jar josm-tested.jar⏎. Now JOSM should run, started from the Command Line.
  6. Quit JOSM.
  7. Type josm-tested.jar⏎. If JOSM starts again, the Windows Explorer is ready for double clicks on jar files.

Web Start

You need to install OpenWebStart first. It will download and run Java by itself. The transition from Oracle WebStart to OpenWebStart is still in progress, so in case of issue please create a new ticket or post a comment to #17858.

Testing Web Start

  1. Download josm.jnlp to your desktop.
  2. Open a Terminal and move to the Desktop as above
  3. Type javaws josm.jnlp⏎. This should initially download JOSM, show a security dialog and then launch JOSM.
  4. If that fails, then type javaws -verbose josm.jnlp⏎. This should first show a dialog with information about the JVM and then launch JOSM.

Virtual Machine

Out of memory

Nowadays manually controlling Javas memory is seldom needed because available RAM on computers has grown. Wrongly chosen values can decrease JOSM performance.

For some tasks, JOSM has a large appetite for memory. On the one hand, it may be necessary to configure a memory size that supports more plugins and features. On the other hand can slow machines be stabilized by restricting Javas memory use. If needed, use the command line to set the Java Option -Xmx…m, for example -Xmx512m or -Xmx1536m. Formerly older java programs accepted -Xmx=512m or even -Xmx 512m. Now those malformed arguments throw error messages.

VM selection

On current versions of MS Windows by default Java is installed mainly in the C:\Program Files\Java\ directory. Additional parts are placed in C:\Program Files\Oracle\Java\. There is a .\javapath\ directory as target for the PATH environment variable. It is the home for the three virtual files java.exe, javaw.exe and javaws.exe. This files are symbolic links form the current Java installations.

On older versions of 64 bit Windows sometimes the 32 bit mode JRE was additionally installed. Also some browsers brought their own JVM with limited capabilities. In those cases a Web Start from the browser would not use your Java installation but that from the browser.

Check that there's no other javawebstart in \Windows\SysWow64. The Java control panel will not detect it and you can safely delete it. Perform cleanup and only keep the latest versions of each JRE (One or the 32-bit mode, another one for the 64-bit mode).

For shortcuts created on the desktop for JNLP and running the Javawebstart launcher , make sure to pass VM parameters prefixed with -J and no intermediate space before the VM option. If you have installed both the 32-bit and 64-bit version, you should pass the option "-d64" if you want to select the preferred 64-bit VM. Note that some Oracle documentation pages indicate the option "-D64" with the incorrect capitalization!)

Example of an edited command line for a shortcut on the windows desktop:

javaws.exe -J-d64 -J-Xmx2048m  josm.jnlp 

Windows josm.exe

Using josm-setup.exe for installation on Microsoft Windows does the following:

  • Puts the files josm-tested.jar and josm.exe in directory chosen by the user, default is C:\Program Files (86)\JOSM\
  • Suggests to register josm.exe as target for the file extensions *.osm and *.gpx.
  • Suggests to place JOSM shortcut icons on the Desktop and in the Start Menu (Currently they are placed for an admin only and can be copied from there, #11398).
  • Asks if the Plug-Ins Imagery offset database and Turn restrictions should be provided.
  • Adds uninstall data at the appropriate places.

When starting, josm.exe searches its directory for the jar file and runs the command \path\to\javaw.exe -Xms128m -Xmx1024m -jar \path\to\josm-tested.jar. Josm.exe acts as a wrapper and is portable.

When josm.exe finds the argument --l4j-debug, it writes the log file launch4j.log into the current directory if that is writeable. Some other options are possible and all usual JOSM Program arguments too. See example:

# Write a log while starting JOSM and load OSM data
josm.exe --l4j-debug

For giving Java options to the Java VM josm.exe uses the optional file josm.l4j.ini in its directory. In this file each option needs a separate line and comments are possible, see Additional JVM options.

While being a 32-bit program, josm.exe needs a 64-bit Java on a 64-bit Windows. Currently josm.exe is configured to search for java in the registry only and to prefer JRE's.


Using brew

macOS users may use the homebrew package manager to install and update their JOSM instance.

In Terminal, run the brew install --cask josm to install or brew upgrade --cask josm to upgrade to the current tested version of JOSM.

Known issues

Not closed issues about …:

Last modified 12 days ago Last modified on 2021-09-06T02:29:20+02:00

Attachments (2)

Download all attachments as: .zip