---
name: "modulemd-validator"
section: "1"
platform: "linux"
package: "libmodulemd"
version: "2.15.3-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/modulemd-validator"
---

# modulemd-validator(1)

validate modulemd documents

## NAME

modulemd-validator - validate modulemd documents

## SYNOPSIS

**modulemd-validator** \[**--quiet**\|**--verbose**\|**--debug**\] *FILE*...

**modulemd-validator** \[**--quiet**\|**--verbose**\|**--debug**\] **--type**=*TYPE* *FILE*

**modulemd-validator** {**--version**\|**--help**}

## DESCRIPTION

This tool validates modulemd documents specified with the positional arguments using a libmodulemd parser.

Without a **--type** option, all document types which can be found in a YUM repository will be recognized. In this case each *FILE* can contain multiple modulemd documents.

Otherwise, exactly one *FILE* containing exactly one modulemd document must be provided and the document will be validated against the given *TYPE*.

## OPTIONS

- **--type**=*TYPE*

  Constrain a document type. The recognized types are:

  - **modulemd-v1**

    An obsolete format used for building and installing modules.

  - **modulemd-v2**

    A deprecated format for building modules and a contemporary format for built modules which can be placed into a YUM repository and installed by a package manager.

  - **modulemd-defaults-v1**

    A format for defining default streams and default profiles of a module. Found in YUM repositories.

  - **modulemd-obsoletes-v1**

    A format for defining streams which reach or will reach its end of life. It can also recommend a new stream which obsoleted the old one. Found in YUM repositories.

  - **modulemd-packager-v2**

    An obsolete format for building modules.

  - **modulemd-packager-v3**

    A contemporary format for building modules.

  - **modulemd-translations-v1**

    A contemporary format for delivering localized human-oriented texts (e.g. a description or a summary) associated with a module. Found in YUM repositories.

-

  Only single-document files are supported. For compatibility, if this options is not provided, any document type loadable into a modulemd index (i.e. those intended for YUM repositories) is acceptable.

- **--debug**

  Output debugging messages.

- **-q**, **--quiet**

  Print no output.

- **-v**, **--verbose**

  Be verbose.

- **-h**, **--help**

  Print a usage text and then exit.

- **-V**, **--version**

  Print a version number and then exit.

## EXIT CODE

If the supplied documents are valid (and satisfy the **--type** constrain), zero exit code will be returned.  Otherwise a non-zero code will be emitted.

## REPORTING BUGS

Bugs and feature requests can be reported at the libmodulemd home page ⟨https\\://github.com/fedora-modularity/libmodulemd⟩.

## SEE ALSO

Specification of the modulemd documents is available in a **yaml\_spec** directory at the libmodulemd home page.
