diff --git a/packages/backend/src/mfm/to-html.ts b/packages/backend/src/mfm/to-html.ts
index 65decee83d..5ef466fc3a 100644
--- a/packages/backend/src/mfm/to-html.ts
+++ b/packages/backend/src/mfm/to-html.ts
@@ -1,5 +1,6 @@
import { JSDOM } from "jsdom";
-import type * as mfm from "mfm-js";
+// import type * as mfm from "mfm-js";
+import type * as mfm from "ffm-js";
import config from "@/config/index.js";
import { intersperse } from "@/prelude/array.js";
import type { IMentionedRemoteUsers } from "@/models/entities/note.js";
diff --git a/packages/backend/src/misc/extract-custom-emojis-from-mfm.ts b/packages/backend/src/misc/extract-custom-emojis-from-mfm.ts
index 7de32e6d60..4f6d10e2d9 100644
--- a/packages/backend/src/misc/extract-custom-emojis-from-mfm.ts
+++ b/packages/backend/src/misc/extract-custom-emojis-from-mfm.ts
@@ -1,4 +1,4 @@
-import * as mfm from "mfm-js";
+import * as mfm from "ffm-js";
import { unique } from "@/prelude/array.js";
export function extractCustomEmojisFromMfm(nodes: mfm.MfmNode[]): string[] {
diff --git a/packages/backend/src/misc/extract-hashtags.ts b/packages/backend/src/misc/extract-hashtags.ts
index 826e36221b..ad8286089b 100644
--- a/packages/backend/src/misc/extract-hashtags.ts
+++ b/packages/backend/src/misc/extract-hashtags.ts
@@ -1,4 +1,4 @@
-import * as mfm from "mfm-js";
+import * as mfm from "ffm-js";
import { unique } from "@/prelude/array.js";
export function extractHashtags(nodes: mfm.MfmNode[]): string[] {
diff --git a/packages/backend/src/misc/extract-mentions.ts b/packages/backend/src/misc/extract-mentions.ts
index 259f78e576..8c18157623 100644
--- a/packages/backend/src/misc/extract-mentions.ts
+++ b/packages/backend/src/misc/extract-mentions.ts
@@ -1,6 +1,6 @@
// test is located in test/extract-mentions
-import * as mfm from "mfm-js";
+import * as mfm from "ffm-js";
export function extractMentions(
nodes: mfm.MfmNode[],
diff --git a/packages/backend/src/models/repositories/note.ts b/packages/backend/src/models/repositories/note.ts
index 453179bd6f..ee7ea8f6d5 100644
--- a/packages/backend/src/models/repositories/note.ts
+++ b/packages/backend/src/models/repositories/note.ts
@@ -1,5 +1,5 @@
import { In } from "typeorm";
-import * as mfm from "mfm-js";
+import * as mfm from "ffm-js";
import { Note } from "@/models/entities/note.js";
import type { User } from "@/models/entities/user.js";
import {
diff --git a/packages/backend/src/remote/activitypub/misc/get-note-html.ts b/packages/backend/src/remote/activitypub/misc/get-note-html.ts
index cb5294f731..6a2593cd1c 100644
--- a/packages/backend/src/remote/activitypub/misc/get-note-html.ts
+++ b/packages/backend/src/remote/activitypub/misc/get-note-html.ts
@@ -1,4 +1,4 @@
-import * as mfm from "mfm-js";
+import * as mfm from "ffm-js";
import type { Note } from "@/models/entities/note.js";
import { toHtml } from "../../../mfm/to-html.js";
diff --git a/packages/backend/src/remote/activitypub/models/note.ts b/packages/backend/src/remote/activitypub/models/note.ts
index 391f669f3f..9002b2b5f1 100644
--- a/packages/backend/src/remote/activitypub/models/note.ts
+++ b/packages/backend/src/remote/activitypub/models/note.ts
@@ -1,5 +1,5 @@
import promiseLimit from "promise-limit";
-import * as mfm from "mfm-js";
+import * as mfm from "ffm-js";
import config from "@/config/index.js";
import Resolver from "../resolver.js";
import post from "@/services/note/create.js";
diff --git a/packages/backend/src/remote/activitypub/renderer/person.ts b/packages/backend/src/remote/activitypub/renderer/person.ts
index 1122a3a279..15e262ad65 100644
--- a/packages/backend/src/remote/activitypub/renderer/person.ts
+++ b/packages/backend/src/remote/activitypub/renderer/person.ts
@@ -1,5 +1,5 @@
import { URL } from "node:url";
-import * as mfm from "mfm-js";
+import * as mfm from "ffm-js";
import config from "@/config/index.js";
import type { ILocalUser } from "@/models/entities/user.js";
import { DriveFiles, UserProfiles } from "@/models/index.js";
diff --git a/packages/backend/src/server/api/endpoints/i/update.ts b/packages/backend/src/server/api/endpoints/i/update.ts
index 6d3bde2b8d..1c69c36bbf 100644
--- a/packages/backend/src/server/api/endpoints/i/update.ts
+++ b/packages/backend/src/server/api/endpoints/i/update.ts
@@ -1,5 +1,5 @@
import RE2 from "re2";
-import * as mfm from "mfm-js";
+import * as mfm from "ffm-js";
import { publishMainStream, publishUserEvent } from "@/services/stream.js";
import acceptAllFollowRequests from "@/services/following/requests/accept-all.js";
import { publishToFollowers } from "@/services/i/update.js";
diff --git a/packages/backend/src/server/api/endpoints/notes/edit.ts b/packages/backend/src/server/api/endpoints/notes/edit.ts
index 70c5ceffb4..b9c448cb37 100644
--- a/packages/backend/src/server/api/endpoints/notes/edit.ts
+++ b/packages/backend/src/server/api/endpoints/notes/edit.ts
@@ -21,7 +21,7 @@ import define from "../../define.js";
import { HOUR } from "@/const.js";
import { getNote } from "../../common/getters.js";
import { Poll } from "@/models/entities/poll.js";
-import * as mfm from "mfm-js";
+import * as mfm from "ffm-js";
import { concat } from "@/prelude/array.js";
import { extractHashtags } from "@/misc/extract-hashtags.js";
import { extractCustomEmojisFromMfm } from "@/misc/extract-custom-emojis-from-mfm.js";
diff --git a/packages/backend/src/services/note/create.ts b/packages/backend/src/services/note/create.ts
index 689bd66162..16312b9bd7 100644
--- a/packages/backend/src/services/note/create.ts
+++ b/packages/backend/src/services/note/create.ts
@@ -1,4 +1,4 @@
-import * as mfm from "mfm-js";
+import * as mfm from "ffm-js";
import es from "../../db/elasticsearch.js";
import sonic from "../../db/sonic.js";
import {
diff --git a/packages/backend/test/extract-mentions.ts b/packages/backend/test/extract-mentions.ts
index f400e1e634..7525242fbc 100644
--- a/packages/backend/test/extract-mentions.ts
+++ b/packages/backend/test/extract-mentions.ts
@@ -1,6 +1,6 @@
import * as assert from "assert";
-import { parse } from "mfm-js";
+import { parse } from "ffm-js";
import { extractMentions } from "../src/misc/extract-mentions.js";
describe("Extract mentions", () => {
diff --git a/packages/backend/test/mfm.ts b/packages/backend/test/mfm.ts
index 926bdd259d..fc4a01f47e 100644
--- a/packages/backend/test/mfm.ts
+++ b/packages/backend/test/mfm.ts
@@ -1,5 +1,5 @@
import * as assert from "assert";
-import * as mfm from "mfm-js";
+import * as mfm from "ffm-js";
import { toHtml } from "../src/mfm/to-html.js";
import { fromHtml } from "../src/mfm/from-html.js";
diff --git a/packages/client/src/components/MkNote.vue b/packages/client/src/components/MkNote.vue
index b1c6114e1f..40f014a568 100644
--- a/packages/client/src/components/MkNote.vue
+++ b/packages/client/src/components/MkNote.vue
@@ -256,7 +256,7 @@