diff --git a/src/index.ts b/src/index.ts
index b13370be4c04f25e4d7913fc9412529d7a4e673e..1a561ee601811a7a3aaa0cd8d4785d22a6ae7197 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -93,8 +93,15 @@ function nodeStringify(node: MfmNode): string {
 	throw new Error('unknown mfm node');
 }
 
-export function toString(nodes: MfmNode[]): string {
-	return nodes.map(node => nodeStringify(node)).join('');
+export function toString(nodes: MfmNode[]): string
+export function toString(node: MfmNode): string
+export function toString(node: MfmNode | MfmNode[]): string {
+	if (Array.isArray(node)) {
+		return node.map(n => nodeStringify(n)).join('');
+	}
+	else {
+		return nodeStringify(node);
+	}
 }
 
 export {