Many of our clients create their own websites – either for themselves, or on behalf of clients. Whether you are a small business owner creating an ecommerce site via a Professional Hosting account, or a designer creating client sites with a reseller hosting account, you’ve probably used tables in your designs.

Over the past few years many changes have been made in the way people design and build websites. One of the most widely discussed change is the use of DIVs over the tables for the structure of websites. In this article I’ll explain why we shouldn’t be using tables and how to implement alternative methods using DIVs.

Tables are confusing
Tables require considerably more code than DIVs. If you compare the table:

<td>This is the content</td>

With the DIV:

<div>This is the content</div>

You’ll see the table can quickly get complicated as much more code is required. This means with a huge number of tags it’s far easier to make mistakes and once the website is complete they’re much harder to maintain and amend. More code also means the website takes longer to load, that means using more bandwidth, meaning the website is potentially more expensive to run.

Tables are for data
Tables are meant to be used for tabular data storage so using them for layout structures means they’re being used incorrectly. They should only be used for displaying data, i.e. a table of product features or a shopping basket.

Tables are not accessible
Tables destroy the logical flow of the web page, especially when tables are nested within other tables. When people use screen readers, the web page is read out in the order it’s coded. When using tables, the content isn’t necessarily coded in the order it’s displayed on the page, for example: the content first, then the navigation, then the footer. This means users can get confused and lost navigating around the website.

The alternative
The much more accessible, usable and easy alternative to tables are box elements, i.e. DIVs, styled using CSS. You can specify the size (i.e. 800px x 200px) and position (i.e. 25px from the left, 10px from the top) of the DIV allowing you to easily build up the page without the complex coding of tables.

In terms of search engine optimization (SEO), SEO friendly elements such as headings, paragraphs and lists can be used to specify different types of content and text – meaning a potentially higher ranking in Google and other search engines. Box elements are coded in a logical order meaning they are easily understood by screen readers which increases accessibility.For further reading about why tables are bad, plus box elements and how to use them I recommend the following links:


There are 6 comments on “Why Tables Are Bad

  1. Avatar
    Malcolm July 14, 2009

    Tables may be bad, but mis-placed apostrophes are even worse 🙂

    The plural of is or arguably s but certainly NOT ‘s

  2. Avatar
    Malcolm July 14, 2009

    Eeek – the table tags were stripped out of my reply

  3. Avatar
    Daniel Martin July 19, 2009

    “Tables are not accessible”

    Only when misused. 😉

  4. Avatar
    Michael July 23, 2009

    Tables are really only “bad” when misused as in the way they are used by design programs such as Dreamweaver. The current fashion of using programs like this, or the equally unprofessional “template” designs, are indications of how low web development has dipped. Quit being so lazy and write some code.

  5. Avatar
    Phil.W July 29, 2009

    I have made websites in tables easily but when using div’s i get many problems. For example, i am never able to center the page for different resolution types, when content is added in design views it is always shifted when previewed in browsers. I would like to know how to solve these problems and many more but I am never able to find the right answers, therfore my websites all use tables.

  6. Avatar
    Ali August 19, 2009

    Phil W, to centre a page you need to set the margin of the div in the CSS to ‘0px auto’. This will set the div in the centre of the page whatever the resolution.


Sign up to our newsletter

Get the latest tutorials, videos and special offers from

Thanks for signing up!