Awesome
caniuse-cmd
Just what you've always wanted, it's a caniuse
command line tool!
All the power of caniuse.com with none of the nice UI or interactivity!
How do?
Install with npm install -g caniuse-cmd
.
Then type things like this:
$ caniuse websockets
Web Sockets ✔ 85.22% ◒ 1.35% [W3C Candidate Recommendation]
Bidirectional communication technology for web apps #JSAPI
IE ✘ 5.5+ ✔ 10+
Firefox ✘ 2+ ◒ 4+¹ ◒ 6+ᵖ² ✔ 11+
Chrome ◒ 4+¹ ◒ 15+² ✔ 16+
Safari ✘ 3.1+ ◒ 5+¹ ◒ 6+² ✔ 7+
Opera ✘ 9+ ◒ 11+¹ ✔ 12.1+
¹Partial support refers to the websockets implementation using an older version of the protocol and/or the
implementation being disabled by default (due to security issues with the older protocol).
²Partial support refers to lacking support for binary data.
(The output has truly marvellous colours that this markdown is too narrow to contain.)
Or this:
$ caniuse input
caniuse input
HTML5 form features ✔ 4.21% ◒ 82.39%
IE ✘ 5.5+ ◒ 10+ Firefox ✘ 2+ ◒ 4+ Chrome ◒ Safari ✘ 3.1+ ◒ 4+ Opera ✔ 9+ ◒ 15+
Spellcheck attribute ✔ 60.31% ◒ 31.63%
IE ✘ 5.5+ ✔ 10+ Firefox ✔ Chrome ✘ 4+ ✔ 9+ Safari ✘ 3.1+ ✔ 5.1+ Opera ✘ 9+ ✔ 10.5+
Range input type ✔ 87.46% ◒ 1.18%
IE ✘ 5.5+ ✔ 10+ Firefox ✘ 2+ ✔ 23+ Chrome ‽ 4+ ✔ 5+ Safari ✔ Opera ✔
Date and time input types ✔ 60.76% ◒ 0%
IE ✘ Firefox ✘ Chrome ✘ 4+ ✔ 20+ Safari ✘ Opera ✔
Color input type ✔ 60.93% ◒ 3.84%
IE ✘ Firefox ✘ 2+ ✔ 29+ Chrome ✘ 4+ ✔ 20+ Safari ✘ Opera ✘ 9+ ✔ 11+ ✘ 15+ ✔ 17+
Number input type ✔ 49.95% ◒ 38.03%
IE ✘ 5.5+ ◒ 10+ Firefox ✘ 2+ ✔ 29+ Chrome ✘ 4+ ✔ 6+ Safari ✘ 3.1+ ✔ 5+ Opera ✔
input placeholder attribute ✔ 88.04% ◒ 1.15%
IE ✘ 5.5+ ✔ 10+ Firefox ✘ 2+ ✔ 4+ Chrome ✔ Safari ◒ 3.1+ ✔ 5+ Opera ✘ 9+ ◒ 11+ ✔ 11.5+
Pointer events ✔ 8.5% ◒ 1.67%
IE ✘ 5.5+ ◒ 10+ᵖ ✔ 11+ Firefox ✘ Chrome ✘ Safari ✘ 3.1+ ‽ 6.1+ Opera ✘
Web Speech API
IE ✘ Firefox ✘ Chrome ✘ 4+ ◒ 25+ᵖ Safari ✘ 3.1+ ◒ 6.1+ᵖ ◒ 7.1+ Opera ✘
Multiple file selection ✔ 67.63% ◒ 0%
IE ✘ 5.5+ ✔ 10+ Firefox ✘ 2+ ✔ 3.6+ Chrome ✘ 4+ ✔ 5+ Safari ✘ 3.1+ ✔ 4+ Opera ✘ 9+ ✔ 10.6+
Gamepad API ✔ 46.08% ◒ 0%
IE ✘ Firefox ✘ 2+ ✔ 29+ Chrome ✘ 4+ ✔ 21+ᵖ ✔ 25+ Safari ✘ Opera ✘ 9+ ✔ 24+
Pattern attribute for input fields ✔ 72.88% ◒ 0.7%
IE ✘ 5.5+ ✔ 10+ Firefox ✘ 2+ ✔ 4+ Chrome ✘ 4+ ✔ 10+ Safari ✘ Opera ✘ 9+ ✔ 9.5-9.6+
Does it have lots of command line options?
Yes!
$ caniuse --help
Options:
Options:
--short, -s Short output: show browsers on one line and don't
display notes or description (default when displaying
multiple results) [boolean]
--long, -l Long output: show more information (default when
displaying a single result) [boolean]
--oneline, -1 One-line output: just global percentages, no per-
browser info [boolean] [default: false]
--oneline-browser, -2 One-line output with browser info, implies --abbrev and
--current [boolean] [default: false]
--abbrev, -a Abbreviate browser names [boolean] [default: false]
--percentages, -p Include browser version usage percentages
[boolean] [default: false]
--future, -f Include future browser versions
[boolean] [default: false]
--current, -c Don't include old browser versions, equivalent to --era
e0 [boolean] [default: false]
--era, -e How many versions back to go, e0 to e-40 [string]
--mobile, -m Include mobile browsers [boolean] [default: false]
--desktop, -d Include desktop browsers [boolean] [default: true]
--browser, -b Show results for these browsers, comma-separated (ie,
edge,firefox,chrome,safari,opera,ios_saf,op_mini,
android,bb,op_mob,and_chr,and_ff,ie_mob,and_uc)
[string]
--web, -w Go to the search page on caniuse.com
[boolean] [default: false]
--config, -C Path to JSON config file
[string] [default: "/Users/user/.caniuse.json"]
--ascii, -A UTF-8 symbols replacement with ASCII description
[boolean] [default: false]
--help Show help [boolean]
Woah, that's a lot of options! Can haz config file?
Yes! You can specify your own defaults by creating a file called .caniuse.json
and putting it in your home directory.
For example, if you're primarily interested in mobile browsers two versions back:
{
"era": "e-2",
"mobile": true,
"desktop": false
}