diff --git a/docs/syntax.md b/docs/syntax.md
index 589ff37f5ba563f577f47c75ee5f6122ea0b4970..1d8b2ceae2eaf3be77031d25058b431f50890bef 100644
--- a/docs/syntax.md
+++ b/docs/syntax.md
@@ -349,6 +349,7 @@ _italic_
 ## 詳細
 - インライン構文。
 - 内容には改行を含めることができない。
+- 内容には「´」を含めることができない。
 
 
 
@@ -447,12 +448,14 @@ _italic_
 - 内容には`.` `,` `!` `?` `'` `"` `#` `:` `/` `【` `】` を含めることができない。
 - 括弧は対になっている時のみ内容に含めることができる。対象: `()` `[]` `「」`
 - `#`の前の文字が(改行、スペース、無し、[a-zA-Z0-9]に一致しない)のいずれかの場合にハッシュタグとして認識する。
+- 内容が数字のみの場合はハッシュタグとして認識しない。
 
 
 
 <h1 id="url">URL</h2>
 
 ## 形式
+構文1:
 ```
 https://misskey.io/@ai
 ```
@@ -461,6 +464,15 @@ https://misskey.io/@ai
 http://hoge.jp/abc
 ```
 
+構文2:
+```
+<https://misskey.io/@ai>
+```
+
+```
+<http://藍.jp/abc>
+```
+
 ## ノード
 ```js
 {
@@ -473,10 +485,15 @@ http://hoge.jp/abc
 
 ## 詳細
 - インライン構文。
+
+構文1のみ:  
 - 内容には`[.,a-z0-9_/:%#@$&?!~=+-]i`にマッチする文字を使用できる。
 - 内容には対になっている括弧を使用できる。対象: `(` `)` `[` `]`
 - `.`や`,`は最後の文字にできない。
 
+構文2のみ:  
+- 内容には改行、スペース以外の文字を使用できる。
+
 
 
 <h1 id="link">リンク</h2>
diff --git a/package.json b/package.json
index 01cad0b5c6c87325e68e15aa30b8f9d02c11b9e1..bc18a455cd642471bc1c8d5a5343670dea5a1e7b 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "mfm-js",
-  "version": "0.16.5",
+  "version": "0.17.0",
   "description": "An MFM parser implementation with PEG.js",
   "main": "./built/index.js",
   "types": "./built/index.d.ts",
diff --git a/src/parser.pegjs b/src/parser.pegjs
index b22092bbe5138d26984ba8a1dea711974def74ad..342cfcb032af665a6e27b297df473dfe71fdf7ee 100644
--- a/src/parser.pegjs
+++ b/src/parser.pegjs
@@ -291,7 +291,7 @@ strike
 // inline: inlineCode
 
 inlineCode
-	= "`" content:$(!"`" c:CHAR { return c; })+ "`"
+	= "`" content:$(![`´] c:CHAR { return c; })+ "`"
 {
 	return INLINE_CODE(content);
 }
@@ -341,7 +341,13 @@ hashtag
 }
 
 hashtagContent
-	= (hashtagBracketPair / hashtagChar)+ { return text(); }
+	= !(invalidHashtagContent !hashtagContentPart) hashtagContentPart+ { return text(); }
+
+invalidHashtagContent
+	= [0-9]+
+
+hashtagContentPart
+	= hashtagBracketPair / hashtagChar
 
 hashtagBracketPair
 	= "(" hashtagContent* ")"
@@ -354,7 +360,7 @@ hashtagChar
 // inline: URL
 
 url
-	= "<" url:urlFormat ">"
+	= "<" url:altUrlFormat ">"
 {
 	return N_URL(url);
 }
@@ -364,14 +370,11 @@ url
 }
 
 urlFormat
-	= "http" "s"? "://" urlContent
+	= "http" "s"? "://" urlContentPart+
 {
 	return text();
 }
 
-urlContent
-	= urlContentPart+
-
 urlContentPart
 	= urlBracketPair
 	/ [.,] &urlContentPart // last char is neither "." nor ",".
@@ -381,6 +384,12 @@ urlBracketPair
 	= "(" urlContentPart* ")"
 	/ "[" urlContentPart* "]"
 
+altUrlFormat
+	= "http" "s"? "://" (!(">" / _) CHAR)+
+{
+	return text();
+}
+
 // inline: link
 
 link