diff --git a/src/mfm/parse/elements/search.ts b/src/mfm/parse/elements/search.ts
index e5d9b9f0c..9c4b7ffbe 100644
--- a/src/mfm/parse/elements/search.ts
+++ b/src/mfm/parse/elements/search.ts
@@ -9,7 +9,7 @@ export type TextElementSearch = {
 };
 
 export default function(text: string) {
-	const match = text.match(/^(.+?) 検索(\n|$)/);
+	const match = text.match(/^(.+?) (検索|Search)(\n|$)/i);
 	if (!match) return null;
 	return {
 		type: 'search',
diff --git a/test/mfm.ts b/test/mfm.ts
index de722bffb..f7fa1c0f5 100644
--- a/test/mfm.ts
+++ b/test/mfm.ts
@@ -93,6 +93,28 @@ describe('Text', () => {
 			assert.equal(tokens[0].type, 'inline-code');
 			assert.equal(tokens[0].content, '`var x = "Strawberry Pasta";`');
 		});
+
+		it('search', () => {
+			const tokens1 = analyze('a b c 検索');
+			assert.deepEqual([
+				{ type: 'search', content: 'a b c 検索', query: 'a b c'}
+			], tokens1);
+
+			const tokens2 = analyze('a b c Search');
+			assert.deepEqual([
+				{ type: 'search', content: 'a b c Search', query: 'a b c'}
+			], tokens2);
+
+			const tokens3 = analyze('a b c search');
+			assert.deepEqual([
+				{ type: 'search', content: 'a b c search', query: 'a b c'}
+			], tokens3);
+
+			const tokens4 = analyze('a b c SEARCH');
+			assert.deepEqual([
+				{ type: 'search', content: 'a b c SEARCH', query: 'a b c'}
+			], tokens4);
+		});
 	});
 
 	describe('syntax highlighting', () => {