ツイートで使えるURLの長さの制限 - ブラウザ版、iOS版、Android版で違いがありました

## 知りたいこと
Twitterで**ツイートできるURLの最長の長さ**を知りたいです

## 動機
URLが長くなるアプリケーションを作ってそれをツイートしたくなったので、長さの制限を知りたくなりました。

ググっても以下の記事のように、URLはツイートの長さの制限から無視されるという内容しか見つかりませんでした。そのため、実際に長いURLを作ってツイートできるか調査してみました。

> 新たな変更は今年5月に予告されていたとおり、画像やURLがカウントされず140字をフルに利用できる。

[Twitter、画像やURLを貼っても文字数は140文字のままに - 週刊アスキー](https://weekly.ascii.jp/elem/000/000/385/385566/)より

確かにURLがカウントはされないようです。ただしその**URLも無限に長くできるわけではなく**制限がありました。


## ブラウザ版
MacのChromeで試したものになります。

URLの長さの上限は**4088**でした(長さ4088もツイートできます)。

以下は長さ4088のときで、
<img width="600" alt="長さ4088のURLを含むツイート" src="https://qiita-image-store.s3.amazonaws.com/0/84451/d9db7755-3b1b-c1a7-6145-880b643edfcc.png">

実際にツイートできました！　URL以外の文字も含めてツイートできました。（長さ4088までならURLはおそらく文字数0としてカウントされているぽいです）
<blockquote class="twitter-tweet" data-lang="ja"><p lang="ja" dir="ltr"><a href="https://twitter.com/null?ref_src=twsrc%5Etfw">@null</a> ブラウザ版からのツイート <a href="https://t.co/n3YAdRQx63">https://t.co/n3YAdRQx63</a></p>&mdash; @nwtgck (@nwtgck) <a href="https://twitter.com/nwtgck/status/1056712956111544320?ref_src=twsrc%5Etfw">2018年10月29日</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>



以下は長さ4089のときで、エラーして[ツイート]ボタンが押せませんでした。
<img width="600" alt="長さ4089のURLを含むツイート" src="https://qiita-image-store.s3.amazonaws.com/0/84451/b55918e0-f6ad-fc3b-d96d-870325409dbf.png">

## iOS版

iPad miniにインストールされているTwitterで試しました。
(バージョン: 7.33.1)

URLの長さの上限は**4096**でした(長さ4096もツイートできます)。

以下は長さ4096のときで、
<img width="600" alt="iOS版ツイート長さ4096" src="https://qiita-image-store.s3.amazonaws.com/0/84451/2dc4183d-23ed-7249-9402-b32e93c3ae65.png">

以下が実際のツイートです。
<blockquote class="twitter-tweet" data-lang="ja"><p lang="ja" dir="ltr"><a href="https://twitter.com/null?ref_src=twsrc%5Etfw">@null</a> iOS版からツイート <a href="https://t.co/baPw6c7qJ7">https://t.co/baPw6c7qJ7</a></p>&mdash; @nwtgck (@nwtgck) <a href="https://twitter.com/nwtgck/status/1056714423077789696?ref_src=twsrc%5Etfw">2018年10月29日</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


以下は長さ4097のときで、エラーします。
<img width="600" alt="iOS版ツイート長さ4097" src="https://qiita-image-store.s3.amazonaws.com/0/84451/1ece2671-992c-d984-d1c4-34aeeb024b2c.png">


## Android版

AndroidタブレットにインストールされているTwitterで試しました。
(バージョン: Version 7.68.1-release.7)

iOS版と同じく、URLの長さの上限は**4096**でした(長さ4096もツイートできます)。


同様に、証拠写真とツイートです。
<img width="600" src="https://qiita-image-store.s3.amazonaws.com/0/84451/c8044c14-6185-55cc-a0cc-040c191249c1.png">

<blockquote class="twitter-tweet" data-lang="ja"><p lang="ja" dir="ltr"><a href="https://twitter.com/null?ref_src=twsrc%5Etfw">@null</a> Android版からツイート <a href="https://t.co/baPw6c7qJ7">https://t.co/baPw6c7qJ7</a></p>&mdash; @nwtgck (@nwtgck) <a href="https://twitter.com/nwtgck/status/1056714197394812929?ref_src=twsrc%5Etfw">2018年10月29日</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


<img width="600" src="https://qiita-image-store.s3.amazonaws.com/0/84451/d3f14aa4-b590-06be-723e-e07662d00687.png">


## まとめ

利用可能なURLの長さをまとめると、


| アプリ      | 利用可能なURLの長さ | 
|----------|-------------| 
| ブラウザ版    | 4088以下      | 
| iOS版     | 4096以下      | 
| Android版 | 4096以下      |