Languages:
Table of Contents
Download
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
Start josm.jnlp (newest tested version)
Recommended version, all platforms, automatic update to the newest tested version monthly (how to start).
Download josm-tested.jar (tested version 19265)
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 19265 | josm.jnlp | josm-tested.jar | josm-setup.exe josm-setup.msi Microsoft Store (see below) | JOSM macOS .zip package or (homebrew) | see below | see below | josm:19265 |
latest 19265 | 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.
Installation
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] https://josm.openstreetmap.de/apt plucky universe deb [signed-by=/usr/local/share/keyrings/josm-apt.gpg] https://josm.openstreetmap.de/apt oracular universe deb [signed-by=/usr/local/share/keyrings/josm-apt.gpg] https://josm.openstreetmap.de/apt noble universe deb [signed-by=/usr/local/share/keyrings/josm-apt.gpg] https://josm.openstreetmap.de/apt jammy universe deb [signed-by=/usr/local/share/keyrings/josm-apt.gpg] https://josm.openstreetmap.de/apt focal universe deb [signed-by=/usr/local/share/keyrings/josm-apt.gpg] https://josm.openstreetmap.de/apt bionic universe # For other Debian based distributions add: deb [signed-by=/usr/local/share/keyrings/josm-apt.gpg] https://josm.openstreetmap.de/apt 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] https://josm.openstreetmap.de/apt $(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] https://josm.openstreetmap.de/apt $(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 https://josm.openstreetmap.de/josm-apt.key -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 "<josm-dev@openstreetmap.org>" | 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.
openSUSE
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 'https://download.opensuse.org/repositories/Application:/Geo/$releasever' Application:Geo
Then simply install josm and josm-fonts package.
Troubleshooting
Java
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 www.java.com/en/download/installed8.jsp 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 www.java.com/en/download/faq/java_win64bit.xml are not relevant.
- Avoid pages like www.java.com/en/download 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).
- Download josm-tested.jar to your desktop.
- Open a Command Prompt aka Terminal
- Type
cd %homepath%
⏎ and typecd Desktop
⏎ - Type
java -version
⏎ Three lines with the version data should appear. If you see something else then Java is not properly installed. - Type
java -jar josm-tested.jar
⏎. Now JOSM should run, started from the Command Line. - Quit JOSM.
- 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
- Download josm.jnlp to your desktop.
- Open a Terminal and move to the Desktop as above
- Type
javaws josm.jnlp
⏎. This should initially download JOSM, show a security dialog and then launch JOSM. - 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
Microsoft Windows
josm.exe
Using josm-setup.exe for installation on Microsoft Windows does the following:
- Puts two executable files
JOSM.exe
andHWConsole.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
josm.exe https://www.osm.org/way/476702262
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 must be on a separate line.
For example, to change memory allocation, open %LOCALAPPDATA%\JOSM\app\JOSM.cfg
and add java-options=-Xmx8192m
(for 8 GB) to a new line under the [JavaOptions]
header.
Graphics
Some Windows installations have graphics driver issues (see #23784 for an example). This may exhibit symptoms such as:
- Black bars in JOSM toolbars
- Flickering
- Other unexpected user interface issues
- Download and install Display Driver Uninstaller (DDU, source) from the official mirror => https://www.wagnardsoft.com/display-driver-uninstaller-DDU-
- From the "Device Type" drop-down on the right, select "GPU". DDU will automatically detect the GPU you're using.
- Click on "Clean and Restart" at the top. This will uninstall the graphics drivers and restart your PC.
- Reinstall the drivers.
WARNING: Create a backup of your PC before using DDU. Although it creates a recovery point by itself, it's ideal to make one yourself just in case.
macOS
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.
Linux
Arch Linux
Using AUR you can install openwebstart-bin.
If you use icedtea-web instead of the recommended openwebstart you will get an error with the newest java. java-17-openjdk is known to work, but java-22-openjdk do not.
Known issues
Not closed issues about …:
Attachments (2)
-
SecurityPrivacy.png
(86.7 KB
) - added by 7 years ago.
Security & Privacy settings
-
josm_1st_run.png
(204.6 KB
) - added by 6 years ago.
Dialog for granting access to run JOSM
Download all attachments as: .zip