Język Markdown został stworzony w 2004 roku przez Johna Grubera z istotnym wkładem Aarona Swartza. Głównym celem było umożliwienie "tworzenia dokumentów za pomocą łatwego-w-czytaniu, łatwego-w-pisaniu czystego formatu tekstowego, z możliwością jego konwersji do strukturalnie poprawnego XHTML(lub HTML)".
Zapożyczając techniki z instniejących konwencji oznaczania czystego tekstu w wiadomościach e-mail, język został zaprojektowany aby być czytelnym takim jakim jest, aby nie wyglądał jakby został udekorowany znacznikami oraz instrukcjami formatującymi jak to się dzieje w HTML. Markdown posiada składnię formatującą, która może być z łatwością odczytywana przez ludzi, a także konwertowana do HTML.
Gruber napisał skrypt w Perlu - Markdown.pl, który konwertował oznaczony tekst do poprawnego i dobrze sformatowanego XHTML lub HTML. Skrypt może być używany samodzielnie, jako wtyczka dla Blosxom lub Movable Type, lub jako filtr tekstowy w BBEdit.
Od tego czasu powstały napisane przez innych autorów reimplementacje Markdown, jako moduł Perla dostępny w CPAN (Text::Markdown), oraz w wielu innych językach programowania. Markdown jest rozprowadzany na licencji BSD i został dołączony lub jest dostępny jako wtyczka dla wielu systemów CMS.
Markdown jest powszechnie stosowany w serwisach GitHub, GitBook, Reddit, Diaspora, Stack Overflow, OpenStreetMap, oraz wielu innych.
Nawet ta książka jest napisana przy użyciu Markdown: Źródło tej strony.
Dokument markdown jest plikiem tekstowym z rozszerzeniem .md
. Plik markdown można otworzyć za pomocą każdego prostego edytora tekstowego.