Warning: although the answer below was helpful to many people, and I will leave it up as such, it might trick you a bit, because default browser behavior is to use fallback fonts for missing characters and so you might see glyphs from other fonts in the snippet below.
Ended up hacking this script together for a quick and dirty overview:
var content = "";
var max = 65535; // See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fromCharCode
for (var i = 34; i < max; i++) {
if (i % 1000 === 0) { content += '<hr>'; }
content += "<div title='"+i+"'>" + String.fromCharCode(i) + "</div>";
}
document.body.innerHTML = content;
@import url(https://fonts.googleapis.com/css?family=Roboto);
body { font-family: 'Roboto'; font-size: 18px; padding: 5px; }
div { display: inline-block; background: #ddd; color: #111; margin: 4px; width: 1.5em; height: 1.5em; text-align: center; padding: 0.2em 0 0 0; box-sizing: border-box; }
div:hover { cursor: pointer; background: #ccc; }