For many women, there are few things more frustrating than trying on clothes. To put it in terms that my (mostly male) coder friends will understand: debugging CSS doesn’t come close to the blood-boiling irritation of trying to work out whether you are a size 8, a size 10, or both. Because, yes, you can be one size for tops and another for skirts, all in the same shop.

It may surprise men reading this to learn that there is no agreement on what makes a size 10. Shops differ. A lot. When I am shopping on the high street, I take each item into the changing room in two or three different sizes. When shopping online, I’m sure you can see that this is even more of a problem.

Anyway, here is my attempt to help make sizing a bit easier for female customers, inspired by this New York Times article about the madness. The Times pointed out the problem, but they didn’t turn it into a solution – that’s what I’ve tried to do here, having noticed that most stores do publish their own size details online.

And so: presenting “What Size Am I?”, a web app to help women in the UK and the US find clothes that fit.

Here is a screenshot:

As a female hacker, this combines two of my main interests in life: clothes and nice tech. If you’re using a modern browser with SVG support, you should be able to enter your bust, waist and hip measurements in inches or cm, and see an interactive graph of where you fit, from roomy Jaeger to tiny Reiss. If you’re using IE8 or below, you’ll just see a table (sorry IE-using folks).

I’ve also included the closest fits of all (using an admittedly blunt least-squares metric), because it’s helpful to know a shop or two where you’re guaranteed to find things that fit. Currently that’s the kind of knowledge only gained after a lot of Saturday afternoons struggling with a lot of zips.

While working on this, I noticed some interesting trends. Firstly, all stores size in evenly spaced increments – because they are using fitting models rather than individual models for each size – but different stores aim for different markets.

Some retailers seem to cover pretty much every widely available size – in the UK, these include Gap, Marks & Spencer, Monsoon, and Next:

Others are unashamedly aimed at what I call the “fashionable midget” end of the market, like TopShop, Banana Republic and Kate Middleton’s beloved Reiss:

Secondly, I assumed that the fashionable-midget and pricier stores would size smaller, but that’s not actually true. Counter-intuitively, a size 10 in upmarket Whistles, Zara, or Reiss is actually quite a lot larger than a size 10 in ASOS, Monsoon, or M&S.

I think that’s because the “whole of market” stores have larger gaps between their sizes. Or it might be vanity sizing, because Whistles, Reiss et al probably have wealthier, older customers. Who knows?

Thirdly, this is really best shown by comparing sizes with your own body shape, but it’s possible to see the different body types that different shops fit. Compare LK Bennett (light blue) with TopShop (dark blue):

The light blue curves are much, well, curvier than the dark blue. LK Bennett is cut for the strongly hourglass, and slightly pear-shaped: TopShop is more up-and-down.

Broadly and unscientifically speaking, M&S, Karen Millen and French Connection look the most pear-shaped to me: Banana Republic and Warehouse look best for the top-heavy: LK Bennett and Zara are cut for a fitted waist, while Oasis and TopShop appear least curvy overall.

This is pleasing, because it confirms the suspicions I’ve held for a long time. I hope you find the tool useful: if you see anything I could do better, please let me know in the comments.

PS: OMG, D3 FTW

Building this has been an excuse to play with D3.js, the JavaScript library formerly known as Protovis, which I use to draw the chart. D3 is awesome: many thanks to Mike Bostock for building it and making it open source.