---
name: "freebsd-version"
section: "1"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["freebsd"]
url: "https://new.carta.tech/freebsd-version"
---

# freebsd-version(1)

print the version and patch level of the installed system

## NAME

**freebsd-version** – print the version and patch level of the installed system

## SYNOPSIS

**freebsd-version** \[**-kru**\] \[**-j** *jail*\]

## DESCRIPTION

The **freebsd-version** utility makes a best effort to determine the version and patch level of the installed kernel and / or userland.

The following options are available:

- **-k**

  Print the version and patch level of the installed kernel. Unlike [uname(1)](/uname/1.md), if a new kernel has been installed but the system has not yet rebooted, **freebsd-version** will print the version and patch level of the new kernel.

- **-r**

  Print the version and patch level of the running kernel. Unlike [uname(1)](/uname/1.md), this is unaffected by environment variables.

- **-u**

  Print the version and patch level of the installed userland. These are hardcoded into **freebsd-version** during the build.

- **-j** *jail*

  Print the version and patch level of the installed userland in the given jail specified by *jid* or *name*. This option can be specified multiple times.

If several of the above options are specified, **freebsd-version** will print the installed kernel version first, then the running kernel version, next the userland version, and finally the userland version of the specified jails, on separate lines. If no option is specified, it will print the userland version only.

## IMPLEMENTATION NOTES

The **freebsd-version** utility should provide the correct answer in the vast majority of cases, including on systems kept up-to-date using [freebsd-update(8)](/freebsd-update/8.md), which does not update the kernel version unless the kernel itself was affected by the latest patch.

To determine the name (and hence the location) of a custom kernel, the **freebsd-version** utility will attempt to parse */boot/defaults/loader.conf* and */boot/loader.conf*, looking for definitions of the *kernel* and *bootfile* variables, both with a default value of “kernel”. It may however fail to locate the correct kernel if either or both of these variables are defined in a non-standard location, such as in */boot/loader.rc*.

## ENVIRONMENT

- ROOT

  Path to the root of the filesystem in which to look for *loader.conf* and the kernel.

## EXAMPLES

To determine the version of the currently running userland:

```
/bin/freebsd-version -u
```

To inspect a system being repaired using a live system:

```
mount -rt ufs /dev/ada0p2 /mnt
env ROOT=/mnt /mnt/bin/freebsd-version -ku
```

## SEE ALSO

[uname(1)](/uname/1.md), [loader.conf(5)](/loader.conf/5.md)

## HISTORY

The **freebsd-version** command appeared in FreeBSD 10.0.

## AUTHORS

The **freebsd-version** utility and this manual page were written by Dag-Erling Smørgrav ⟨*des@FreeBSD.org*⟩.
