Unordered Lists in Markdown

In Markdown, you can create unordered lists using any of three characters as the “bullets”: asterisk (*), hyphen (-), or plus (+). Why all three? More or less: why not? Better to let people choose the character that feels most natural to them. I know a lot of Markdown users choose different characters for different levels of hierarchical lists, and that went into the original thinking as well.

I’ve always been curious which list markers people actually use, so I did a poll on Twitter. The results:

  • 42% Asterisk (*)
  • 54% Hyphen (-)
  • 04% Plus (+)

You can only respond to Twitter polls using Twitter’s official clients, and because a lot of my followers have the good taste to use third-party clients like Tweetbot and Twitterrific, I wound up getting a lot of “responses” by way of replies to my tweet. They don’t show up in the results above, but eyeballing them, they’re right in line: lots of fans of asterisks and hyphens, crickets chirping for plus.

I’m most surprised by how unpopular plus is. I use it a lot myself. The funny thing is, I’m not even sure how I’d answer the poll personally — I use all three, depending on my mood. Part of the reason Markdown supports all three characters is that I couldn’t decide on just one back in 2003, and I still can’t.

The glaring omission in supported characters, of course, is an actual bullet (). If Markdown had only been something I’d meant to use myself, or among friends, I would have made use of punctuation characters outside the 7-bit ASCII range, and literal bullets would have been first on the list. But at the time, character-encoding mismatches were still a daily problem. Today, UTF-8 is sufficiently universal that using such characters in an update to Markdown would probably work out fine.