Help us translate

This document is translated by the community. You can contribute on Crowdin. We appreciate your cooperation 🙏.

MFM

MFM, short for Markup language For Misskey, is a proprietary markup language that can be used in various locations in Misskey.

Tips

Some of its syntax is compatible with Markdown and HTML.

Examples of places where MFM can be used

  • The text of a note
  • Content warning annotation
  • Names of users
  • User bios

Syntax

Mentions

@ + username can be used to display a specific user.

Tips

For more information about mentions, see here.

@ai
Preview
@[email protected]

Hashtags

# + tag can be used to display a hashtag.

Tips

For more information about hashtags, see here.

#misskey
Preview

URL

URLs can be displayed.

https://example.com

Specific parts of text can be displayed as a URL.

[example link](https://example.com)
Tips

You can hide the link preview by prefixing the link text with ? .

?[example link](https://example.com)

Custom Emoji

Custom emoji can be displayed by surrounding the emoji name with colons.

Tips

For more information about custom emoji, see here.

:misskey:
Preview
:misskey:

Bold

Bolds text for emphasis.

**太字**
Preview
太字

Shrink

Displays content smaller and thinner.

<small>MisskeyでFediverseの世界が広がります</small>
Preview
MisskeyでFediverseの世界が広がります

Quote

Displays content as a quote.

> MisskeyでFediverseの世界が広がります
Preview
MisskeyでFediverseの世界が広がります

Center align

Displays content centered.

<center>MisskeyでFediverseの世界が広がります</center>
Preview
MisskeyでFediverseの世界が広がります

Yomigana (Ruby characters)

Yomigana can be attached to text.

$[ruby Misskey ミスキー] 
Preview
Misskeyミスキー

Code (Inline)

Displays syntax highlighting for code from programs inline.

`<: "Hello, world!"`

Code (Block)

Displays multi-line syntax highlighting for code from programs in a block.

~ (#i, 100) {
    <: ? ((i % 15) = 0) "FizzBuzz"
        .? ((i % 3) = 0) "Fizz"
        .? ((i % 5) = 0) "Buzz"
        . i
}

Flip

Flips content horizontally or vertically.

$[flip MisskeyでFediverseの世界が広がります]
$[flip.v MisskeyでFediverseの世界が広がります]
$[flip.h,v MisskeyでFediverseの世界が広がります]
Preview
MisskeyでFediverseの世界が広がります
MisskeyでFediverseの世界が広がります
MisskeyでFediverseの世界が広がります

Font

Sets the font to display content in.

$[font.serif MisskeyでFediverseの世界が広がります]
$[font.monospace MisskeyでFediverseの世界が広がります]
$[font.cursive MisskeyでFediverseの世界が広がります]
$[font.fantasy MisskeyでFediverseの世界が広がります]
Preview
MisskeyでFediverseの世界が広がります
MisskeyでFediverseの世界が広がります
MisskeyでFediverseの世界が広がります
MisskeyでFediverseの世界が広がります

Blur

Content can be blurred.When hovering the mouse over the content, it will be displayed clearly.

$[blur MisskeyでFediverseの世界が広がります]
Preview
MisskeyでFediverseの世界が広がります

A search box can be displayed.

misskey 検索
Preview

Foreground and Background Color

The color of the foreground and background can be changed.

Colors are expressed using 3, 4, or 6 digit color codes.

$[fg.color=f00 赤字]
$[bg.color=ff0 黄背景]
Preview
赤字
黄背景

Border

Content can be surrounded borders.The borders can have various styles.

$[border.style=solid,width=4 Default]

$[border.style=hidden No border]

$[border.style=dotted,width=2 Dotted]
$[border.style=dashed,width=2 Dashed]
$[border.style=double,width=4 Double]

$[border.style=groove,width=4 Embossed A]
$[border.style=ridge,width=4 Embossed B]

$[border.style=inset,width=4 Inset A]
$[border.style=outset,width=4 Inset B]

$[border.color=d00 Border color]
$[border.width=5 Border width]

$[border.radius=6,width=2 Border radius]

$[border.radius=5,width=2,color=888 $[position.x=1.5 CSS]
$[position.x=1.5 完全に理解した]]

$[border.radius=5,width=2,color=888,noclip $[position.x=1.5 CSS]
$[position.x=1.5 完全に理解した]]
Preview
Default

No border

Dotted

Dashed

Double

Embossed A

Embossed B

Inset A

Inset B

Border color

Border width

Border radius

CSS
完全に理解した


CSS
完全に理解した

Rotate

Rotate by a specified angle.

$[rotate.deg=30 misskey]
Preview
misskey

Shift Position

The position can be shifted.

😏$[position.x=0.8,y=0.5 🍮]😀
Preview

Expand

Displays enlarged text.

$[scale.x=4,y=2 🍮]
Preview
$[x2 x2]
$[x3 x3]
$[x4 x4]
Preview
x2
x3
x4

Animation (Jelly)

$[jelly 🍮] $[jelly.speed=5s 🍮]
Preview

Animation (Tada)

$[tada 🍮] $[tada.speed=5s 🍮]
Preview

Animation (Jump)

$[jump 🍮] $[jump.speed=5s 🍮]
Preview

Animation (Bounce)

$[bounce 🍮] $[bounce.speed=5s 🍮]
Preview

Animation (Spin)

$[spin 🍮] $[spin.left 🍮] $[spin.alternate 🍮]
$[spin.x 🍮] $[spin.x,left 🍮] $[spin.x,alternate 🍮]
$[spin.y 🍮] $[spin.y,left 🍮] $[spin.y,alternate 🍮]

$[spin.speed=5s 🍮]
Preview



Animation (Shake)

$[shake 🍮] $[shake.speed=5s 🍮]
Preview

Animation (Twitch)

$[twitch 🍮] $[twitch.speed=5s 🍮]
Preview

Rainbow

$[rainbow 🍮] $[rainbow.speed=5s 🍮]
$[rainbow 色なし文字]
$[rainbow $[fg.color=f0f 色付き文字]]
Preview

色なし文字
色付き文字

Sparkle

$[sparkle 🍮]
Preview

Plain Text

Disable formatting of content.

<plain>**bold** @mention #hashtag `code` $[x2 🍮]</plain>
Preview
**bold** @mention #hashtag `code` $[x2 🍮]

Information for developers

MFM parsing and rendering implementations are published as libraries, making it easy to incorporate MFM into clients.