Skip to main content

Block and inline tags

Overview

JSDoc supports two different kinds of tags:

  • Block tags, which are at the top level of a JSDoc comment.
  • Inline tags, which are within the text of a block tag or a description.

Block tags usually provide detailed information about your code, such as the parameters that a function accepts. Inline tags usually link to other parts of the documentation, similar to the anchor tag (<a>) in HTML.

Block tags always begin with an at sign (@). Each block tag must be followed by a line break, with the exception of the last block tag in a JSDoc comment.

Inline tags also begin with an at sign. However, inline tags and their text must be enclosed in curly braces ({ and }). The { denotes the start of the inline tag, and the } denotes the end of the inline tag. If your tag's text includes a closing curly brace (}), you must escape it with a leading backslash (\). You do not need to use a line break after inline tags.

Most JSDoc tags are block tags. In general, when this site refers to "JSDoc tags," we really mean "block tags."

Examples

In the following example, @param is a block tag, and @link is an inline tag:

Block and inline tags in JSDoc comments

/**
* Set the shoe's color. Use {@link Shoe#setSize} to set the shoe size.
*
* @param {string} color - The shoe's color.
*/
Shoe.prototype.setColor = function (color) {
// ...
}

You can use inline tags within a description, as shown above, or within a block tag, as shown below:

Inline tag used within a block tag

/**
* Set the shoe's color.
*
* @param {SHOE_COLORS} color - The shoe color. Must be an enumerated
* value of {@link SHOE_COLORS}.
*/
Shoe.prototype.setColor = function (color) {
// ...
}

When you use multiple block tags in a JSDoc comment, they must be separated by line breaks:

Multiple block tags separated by line breaks

/**
* Set the color and type of the shoelaces.
*
* @param {LACE_COLORS} color - The shoelace color.
* @param {LACE_TYPES} type - The type of shoelace.
*/
Shoe.prototype.setLaceType = function (color, type) {
// ...
}