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 19096)
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 19096 josm.jnlp josm-tested.jar
Microsoft Store
(see below)

JOSM macOS .zip package
or (homebrew)
see below see below josm:19096
latest 19101 latest.jnlp josm-latest.jar see releases on github see releases on github see below Use snapshots
older download/ see releases on github see releases on github pool/ tested versions

When running scripts please first check on latest, tested or all 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. The default JOSM directories name is set to JOSM.
  • 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.

Both packages provide /etc/default/josm respectively /etc/default/josm-latest as config file for java options.

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.d/josm.list:

sudo editor /etc/apt/sources.list.d/josm.list

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

deb [signed-by=/usr/local/share/keyrings/josm-apt.gpg] oracular universe
deb [signed-by=/usr/local/share/keyrings/josm-apt.gpg] noble universe
deb [signed-by=/usr/local/share/keyrings/josm-apt.gpg] mantic universe
deb [signed-by=/usr/local/share/keyrings/josm-apt.gpg] lunar universe
deb [signed-by=/usr/local/share/keyrings/josm-apt.gpg] jammy universe
deb [signed-by=/usr/local/share/keyrings/josm-apt.gpg] focal universe
deb [signed-by=/usr/local/share/keyrings/josm-apt.gpg] bionic universe

# For other Debian based distributions add:
deb [signed-by=/usr/local/share/keyrings/josm-apt.gpg] alldist universe

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

echo "deb [signed-by=/usr/local/share/keyrings/josm-apt.gpg] $(lsb_release -sc) universe" | sudo tee /etc/apt/sources.list.d/josm.list > /dev/null

or for Linux Mint:

echo "deb [signed-by=/usr/local/share/keyrings/josm-apt.gpg] $(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 the public key:

# Create the directory for manually downloaded keys if it was not already created
sudo mkdir -p /usr/local/share/keyrings
# Download the key
wget -q -O- | sudo gpg --dearmor -o /usr/local/share/keyrings/josm-apt.gpg

In the past, instructions used apt-key. If the key was added to system's keyring, following line will remove it:

sudo apt-key del $(apt-key list | grep -B1  "<>" | sed '$d' | cut -b 48-51,53-57)

Now refresh your sources:

# You may need to install ssl support for apt in advance:
sudo apt-get install apt-transport-https
# Refresh sources
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

Our own Ubuntu packages, above, work on Debian and we recommend to use them. Depending on the setup of sudo, some instruction will not work as "normal" user but only as root.

The tested version of JOSM is available under main in section utils, but the version is usually quite old.
Please, use the backports repository to get a more up-to-date version, see Instructions. This version might still be older than our own packages.

Since Debian 11 (bullseye) the josm-installer is available under main in section utils. It downloads the current .jar file from this site and updates it if necessary.


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

First add as root user in yast or with zypper the repository (for Tumbleweed replace $releasever with openSUSE_Tumbleweed):

zypper ar -f '$releasever' 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 now recommends Azul or Bellsoft Liberica JDK's. Generally speaking, the current Java LTS should be preferred (at time of writing, that would be Java 17), but Java 11 will work. See the README for current recommendations. 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. Please use the 64 bit (x64) version of OpenWebStart if you are on Microsoft Windows. 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.

You may need to update the default application for opening JNLP files if you previously used Oracle WebStart. See jnlp file association for instructions on setting OpenWebStart as the default program for jnlp files.

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. In Debian/Ubuntu you can edit the file /etc/default/josm respectively /etc/default/josm-latest.
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 two executable files JOSM.exe and HWConsole.exe in directory %LOCALAPPDATA%\JOSM
  • Registers JOSM.exe as target for the file extensions *.osm, *.geojson, *.gpx, *.jos and *.joz.
  • Places JOSM shortcut icons on the Desktop and in the Start Menu.
  • Adds uninstall data at the appropriate places.

When starting, JOSM.exe starts JOSM with an embedded version of Java maintained by JOSM developers, based on Azul Zulu. JOSM.exe acts as a wrapper and is portable.

HWConsole.exe is similar to JOSM.exe but start JOSM while keeping open a Windows console displaying JOSM standard output (logs).

JOSM.exe accepts all usual JOSM Program arguments. See example:

# Load OSM data

For giving Java options to the Java VM JOSM.exe uses the configuration file JOSM.cfg in its app sub-directory. In this file each option needs a separate line.


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 4 days ago Last modified on 2024-06-08T14:42:41+02:00

Attachments (2)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.