# @tonaljs/roman-numeral

> Parse and properties of roman numeral strings

Latest version **4.9.3** (published 2026-10-14) · MIT license · 0 weekly downloads

## Install

```sh
npm install @tonaljs/roman-numeral
pnpm add @tonaljs/roman-numeral
yarn add @tonaljs/roman-numeral
bun add @tonaljs/roman-numeral
```

## Health

**Score 65/100 (B)** — status: active.

Positive: has types; esm support; no vulnerabilities; recently updated; high maintenance score.

Warnings: low downloads.

## Facts

| | |
|---|---|
| Version | 4.9.3 |
| Published | 2026-10-14 |
| First published | 2019-06-30 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 3 |
| Unpacked size | 21 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | danigb@gmail.com |
| Maintainers | danigb |
| Keywords | roman-numeral, music, analysis, theory, music-theory |

## Links

- npm: https://www.npmjs.com/package/@tonaljs/roman-numeral
- npm.io page: https://npm.io/package/@tonaljs/roman-numeral

## Dependencies (3)

- [@tonaljs/pitch](https://npm.io/package/@tonaljs/pitch.md) 5.0.3
- [@tonaljs/pitch-note](https://npm.io/package/@tonaljs/pitch-note.md) 6.1.2
- [@tonaljs/pitch-interval](https://npm.io/package/@tonaljs/pitch-interval.md) 6.1.2

## Recent versions

- 4.9.3 (latest) — 2026-10-14
- 4.9.2 — 2026-09-28
- 4.9.1 — 2025-01-03
- 4.9.0 — 2024-07-23
- 4.8.3 — 2024-02-03
- 4.8.2 — 2024-02-03
- 4.8.1 — 2024-01-04
- 4.8.0 — 2022-11-29
- 4.7.3 — 2022-11-29
- 4.7.2 — 2022-11-29
- 4.7.1 — 2022-11-29
- 4.7.0 — 2022-11-28
- 4.6.10 — 2022-11-18
- 4.6.5 — 2021-09-05
- 4.6.2 — 2021-07-12
- … 15 more at https://npm.io/package/@tonaljs/roman-numeral/versions

## README

# @tonaljs/roman-numeral ![tonal](https://img.shields.io/badge/@tonaljs-roman_numeral-yellow.svg?style=flat-square) [![npm version](https://img.shields.io/npm/v/@tonaljs/roman-numeral.svg?style=flat-square)](https://www.npmjs.com/package/@tonaljs/roman-numeral)

> Functions to parse roman numeral strings (like the ones used for chord analysis)

A roman numeral symbol is a string like `"bVIImaj7"` that can be used to represent chords in an abstract tonality.

## Usage

ES6:

```js
import { RomanNumeral } from "tonal";
```

node:

```js
const { RomanNumeral } = require("tonal");
```

## API

### `RomanNumeral.get(src: string | Pitch): => RomanNumeral`

Get the properties of a roman numeral:

Example:

```js
RomanNumeral.get("bVIIMaj7");
// =>
// {
//   empty: false,
//   name: "bVIIMaj7",
//   roman: "VII",
//   acc: "b",
//   chordType: "Maj7",
//   alt: -1,
//   step: 6,
//   major: true,
//   oct: 0
// }
```

## FAQ

#### How do I get a roman numeral from an interval

`romanNumeral` function accepts a `Pitch` as argument:

```js
import { Interval, RomanNumeral } from "tonal";

RomanNumeral.get(Interval.get("3m")).name; // => "bIII"
```

## Want more?

Take a look to [@tonal/progression](https://github.com/tonaljs/tonal/tree/master/packages/progression) or [@tonal/key](https://github.com/tonaljs/tonal/tree/master/packages/key)

---
_Source: https://npm.io/package/@tonaljs/roman-numeral · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
