Introduction

To support the nRF54L series (and the future chipsets), Nordic Semiconductor has released a new universal command-line tool: nRF Util. This guide focuses on installing and using it to flash Nordic Semiconductor devices.

nRF Util is a unified command-line utility designed to flash, recover, and manage the entire Nordic product portfolio. It serves as a replacement for the legacy nrfjprog tool.

This document will help you to install nrfutil and also to migrate from nrfjprog.

Compatibility

Radio profile

Stack compatibility

Mesh Sub-GHz

N/A

Mesh 2.4 GHz

All

5G Mesh (NR+)

All

Prerequisites

Step-by-step overview

  1. Download and install nRF Util for your operating system

  2. Configure nrfutil

  3. Migrate from nrfjprog to nrfutil

Steps details

Step 1: Installing nrfutil

The first step is to download and install nRf Util. It can be downloaded from Nordic Semiconductor’s website then placed in the system’s PATH.

Linux and macOS users also need to set the execution permissions thanks to chmod +x nrfutil.

Warning

nRF Util has several dependencies:

  • SEGGER J-Link utility (All OS)

  • libusb and custom udev rules (Linux)

See Nordic’s documentation for complete installation instructions.

Step 2: Configuration

It will not be ready to be used right after installation: you will need to download the extension device to be able to flash your MCU.

To do so, open a command-line console and run nrfutil:

~$ nrfutil search

Command            Installed  Latest  Status
91                            0.5.0   Not installed
ble-sniffer                   0.16.2  Not installed
completion                    1.5.0   Not installed
core                          8.0.0   Not installed
device                        2.12.1  Not installed
npm                           0.3.0   Not installed
nrf5sdk-tools                 1.1.0   Not installed
sdk-manager                   1.3.0   Not installed
suit                          0.9.0   Not installed
toolchain-manager             0.15.0  Not installed
trace                         4.0.1   Not installed

From the list, we recommend you to install at least device and completion:

nrfutil install completion device
nrfutil device --version # to check if install is successful

Step 3: Migrate from nrfjprog to nrfutil

If you used nrfjprog before, there are a few changes to be aware of:

Preparing the device

With nrfjprog, these commands are used: .. code-block:: bash

nrfjprog –pinreset # For nRF52 devices nrfjprog –recover

With nrfutil, the equivalent command are: .. code-block:: bash

nrfutil device recover nrfutil device reset

Erasing old content of the flash

The command to use with nrfjprog is nrfjprog --erasepage 0. With nrfutil, it is nrfutil device erase --all

Flashing and verifying a binary

With nrfjprog, it is done with nrfjprog --program path/to/the/binary.hex --verify With nrfutil, it is done with nrfutil device program --firmware "path/to/the/binary.hex" --options verify=VERIFY_READ

Note: When flashing a binary, the flash is erased by default (chip_erase_mode=ERASE_ALL). If you want to not erase the flash (e.g. when flashing persistent settings and then the firmware), you will need to add the option chip_erase_mode=ERASE_NONE when flashing the second binaries.

If there are several options to add, each of them is separated with commas (e.g. nrfutil device program --firmware "path/to/the/binary.hex" --options verify=VERIFY_READ,chip_erase_mode=ERASE_NONE)

Specifying a device

If there are multiple devices connected, with nrfutil, you must add the argument --serial-number [device_id] to flash the desired device. The equivalent argument with nrfjprog is -s [device_id] where device_id is the J-Link debugger serial numbers (it is usually printed on the development boards).

Troubleshooting

How to add nrfutil to the PATH

It depends on the operating system used: - On Linux, you can install it in /usr/local/bin. Otherwise, you can install the utility in a custom folder and add it to your PATH. To do so, edit the ~/.bashrc file and add this line: export PATH="$PATH:/path/to/custom/folder" - On Windows, you can change it by going to Windows Settings > System > About > Advanced system settings. A new window will open. Then, go to Advanced tab > Environment Variables and edit the Path line by adding the path where nrfutil is.

How to upgrade nrfutil packets

You can update packets by running nrfutil upgrade: the outdated packages will be upgraded. In this example, the device packet will be upgraded.

~$ nrfutil list --outdated
Command      Version  Latest  Description
device       2.15.2   2.15.6  Device discovery, programming, and operations such as erase, reset, and recovery.

-$ nrfutil list --outdated
Found 0 upgradeable command(s)

To upgrade nRF Util, you can run nrfutil self-upgrade.

Going further

Revision History

Date

Version

Notes

14/11/2025

v1.0

Initial version

Confidentiality: public