innerHTML vs createElement test

JavaScript performance comparison

Revision 15 of this test case created by Thomas Giles



We shouldn't care about string concatenation, or outerHTML returns; we want to know if using innerHTML or createElement is faster. We also don't care about adding to a "live" element, but one that is hidden; just in a variable for example.

For that reason, I have created the innerHTML string and the target "container" div before the test.

Preparation code

Benchmark.prototype.setup = function() {
    var container = document.createElement("DIV");
    var HTML = new Array(101).join("<span></span>");

Test runner

Warning! For accurate results, please disable Firebug before running the tests. (Why?)

Java applet disabled.

Testing in unknown unknown
Test Ops/sec
100 element innerHTML
container.innerHTML = HTML;
createElement and appendChild
for (var i = 0; i < 100; i++) {

Compare results of other browsers


You can edit these tests or add even more tests to this page by appending /edit to the URL. Here’s a list of current revisions for this page:


Add a comment