Forgot your password?
typodupeerror
The Internet IT

How Markdown Took Over the World 60

22 years ago, developer and columnist John Gruber released Markdown, a simple plain-text formatting system designed to spare writers the headache of memorizing arcane HTML tags. As technologist Anil Dash writes in a long piece, Markdown has since embedded itself into nearly every corner of modern computing.

Aaron Swartz, then seventeen years old, served as the beta tester before its quiet March 2004 debut. Google eventually added Markdown support to Docs after more than a decade of user requests; Microsoft put it in Notepad; Slack, WhatsApp, Discord, and Apple Notes all support it now. Dash writes: The part about not doing this stuff solely for money matters, because even the most advanced LLM systems today, what the big AI companies call their "frontier" models, require complex orchestration that's carefully scripted by people who've tuned their prompts for these systems through countless rounds of trial and error. They've iterated and tested and watched for the results as these systems hallucinated or failed or ran amok, chewing up countless resources along the way. And sometimes, they generated genuinely astonishing outputs, things that are truly amazing to consider that modern technology can achieve. The rate of progress and evolution, even factoring in the mind-boggling amounts of investment that are going into these systems, is rivaled only by the initial development of the personal computer or the Internet, or the early space race.

And all of it -- all of it -- is controlled through Markdown files. When you see the brilliant work shown off from somebody who's bragging about what they made ChatGPT generate for them, or someone is understandably proud about the code that they got Claude to create, all of the most advanced work has been prompted in Markdown. Though where the logic of Markdown was originally a very simple version of "use human language to tell the machine what to do", the implications have gotten far more dire when they use a format designed to help expresss "make this **bold**" to tell the computer itself "make this imaginary girlfriend more compliant".
This discussion has been archived. No new comments can be posted.

How Markdown Took Over the World

Comments Filter:
  • by backslashdot ( 95548 ) on Monday January 12, 2026 @05:32PM (#65919150)

    Yes, who can remember some esoteric stuff like <i> for italic or <b> for bold? It's a lot easier to remember that your asterisks will be converted. Thanks Markdown!

    • Showing my age, but grew up using WordStar, so felt right at home with HTML tags
    • by 93 Escort Wagon ( 326346 ) on Monday January 12, 2026 @06:03PM (#65919228)

      What, these doesn't seem intuitively obvious to you?

      Image: ![alt text](image.jpg)
      Strikethrough: ~~The world is flat.~~
      Highlight: I need to highlight these ==very important words==
      Bold: **Bold text**
      Italic: *Italic Text*

      Okay, yeah... not to me either.

      • Don't forget that many flavors of markdown don't even contain some of those directives, like highlighting or images.

        Yeah, markdown is the suckage.

        • by Shades72 ( 6355170 ) on Monday January 12, 2026 @07:44PM (#65919498)

          Conceptually, Markdown is great. But there are too many 'dialects', hence I agree that there is a lot of suck with Markdown. Then I was pointed to the existence of 'AsciiDoc'. No dialects, more capabilities,, decent enough documentation, not a great editor, not much adoption. As a whole, AsciiDoc is better than Markdown.

          However, then I encountered the 'xWiki'-software. The online editor is good (because you can include LibreOffice when asked during the xWiki installation procedure). The editor is also online, can export in different formats, xWiki supports extensions making their own Markdown-like wiki text format very powerful.

          Haven't looked back since.

          • My company is literally too stupid to use any of those; they'd rather go with their home-grown in-house blogbortion of code that's supposed to mimic github. And of course it uses a custom turdmatic 'version' of markdown that can't even do half the things that 'normal' markdown is supposed to do.

      • by alcmena ( 312085 )

        I think the important thing is more the fact that if you type: **Bold*, it will mostly render the rest of the page fine you just missed your bold tag and have an extra asterisk. But >b>bold>/v> (because of typo) would screw up everything, especially back then.

    • One asterisk for italics and two asterisks for bold, obviously. Except for when those asterisks are for list items, also obviously.

      And God help me whenever I need to make a table, especially if I need it to be formatted a non-default way... :-P

      • Doing tables in markdown is a living hell. I'd rather slide down a razor-blade banister into a pool of flaming iodine filled with sharks than do tables in markdown. And yes the sharks would have lasers for eyes.

    • I hadn't actually heard of Markdown before today so I had to look it up, and it looks terrible.
      Two examples:
      Using both underscores and asterisks for italic text, despite the fact that asterisks are/were used to denote bold text.
      Double spaces for a line break. What moron came up with the idea of invisible markup?!

      Even BBCode seems better than Markdown to me.

      • Markdown wins because of critical mass. Formats don't matter unless they are adopted - and markdown, somehow, won that battle and is supported practically everywhere at this point... Except slashdot because rsilvergun doesn't like change.
        • by AmiMoJo ( 196126 )

          I think it was the ubiquity of HTML, rather than Markdown, that lead to its success.

          It's also one of the reasons why Markdown sucks. No tabs, no features that HTML doesn't support. Awkward formatting.

      • What moron came up with the idea of invisible markup?!

        A moron named "John Gruber" apparently.

    • by TuringTest ( 533084 ) on Monday January 12, 2026 @06:17PM (#65919264) Journal

      It's a lot easier to remember that your asterisks will be converted.

      For neurotypical people not trained in programming languages, it actually is easier to use 'symbols' for *emphasis*, because they work as augmenters of the written text (i.e. they take the same role as punctuation, parentheses, question marks and exclamation signs), instead of changing the reading processing mode into a totally different mental context (i.e. as code tags instead of natural text with markings). Markdown was a clever hack to get that natural reading experience to digital text formatting.

      For the untrained eye, <i> and <b> look more like alien ships from an Invaders videogame that somehow got stuck in the middle of one paragraph, not as helpful commands to change the behaviour of the computer; you need to have a quite thorough understanding of how a computer processes digital text in order to understand those tags, which is simply not needed to use markdown.

      • As a neurodiverse person who grew up with Scribe, @i() and @b() are still natural. What drives me crazy is the differing behavior among MD implementations, e.g. Slack vs Eleventy vs Sphinx.

        Mind you, it's all better than Atlassian's WTF markup...

    • As an exercise, try typing 10 headers using
      ## Markdown
      and then the same typing
      <h2>HTML</h2>

      I find Markdown far easier to type. And far easier to read the source format.
      • by votsalo ( 5723036 ) on Monday January 12, 2026 @09:22PM (#65919734)

        I sometimes wish the Markdown header hierarchy was reversed: more hashes for outer headings.

        ## outer heading
        # inner heading

        It would reduce typing, since there are more inner headings than outer headings, and it also would enable grouping two sections into a larger section without changing all the heading levels.

        But then again, the way it works is better suited for a top-down divide-and-conquer approach, so it's fine the way it is.

        • by nmb3000 ( 741169 )

          Yeah, headings are one of the aspects of Markdown I dislike.

          Numeric lists are also obnoxious, since you only have two choices: (1) use the real numbering in the text (1, 2, 3, ...) and deal with manually re-numbering everything if the order changes or (2) give up on the unrendered text and just use "1." for each item. Both options suck.

          Oh, and single asterisks being used for italics instead of bold is just plain wrong, and this is a hill I will die on.

        • When adding a new level of heading, though, that would seem to require going back and augmenting all the existing headings; the way it is has the advantage that for a new level one just tacks on a new sheep ^H^H^H^H #.

    • by allo ( 1728082 )

      The point about bold, italic, underscores is, that Markdown just copies what all good mail clients do in plaintext mails. Using *emphasis* is older than the web.

      The headline syntax is basically just some marker that highlights a line. In principle it should be symmetric but it is of course easier to type without ending tag. And link syntax is confusing and image syntax fucked up. Tables would be nice, but only if people align them correctly in the plaintext as well.
      Numbered lists are the worst implementatio

      • by PleaseThink ( 8207110 ) on Monday January 12, 2026 @08:34PM (#65919652)

        Exactly. The lists are messed up. There's no way to reference another list entry. Since the numbering is automatic (it ignores the numbers you use in the text) you can't write "Take the part from step 12 and do XYZ" as you have no control over what entry #12 is numbered as. Thus there needs to be some way to reference list positions and there isn't. Further, the lists are just basic numbers. Nested lists are also basic numbers, meaning no 5.a.12, so if you have a nested lists that span multiple pages it's very difficult to find 3.2.5. You have to measure indentation to figure out what group the current entry's single digit refers too. Then you have to scan backwards through the pages to see if the 2 you're looking at is 2.2 or 3.2. It's huge gap in the specification if you're doing something meaningful in the format rather than short blurbs. People learn it for the short blurbs then decide to adopt it as the one format for everything and it turns into a maintenance nightmare.

        I had to write a converter to convert other formats into markdown and markdown into different formats. I don't remember them all, but there's lots of little edge cases that aren't handled well. Things get strange when you start nesting elements too. I'm not sure if the common libraries are buggy or it was the format itself, but that really doesn't matter. If the implementations have bugs and missing edge cases then it doesn't matter if the format itself is pure as you can't use it properly. After that project I'll never recommend markdown. It has tons of hidden flaws.

        • by allo ( 1728082 )

          It's hard to say which library has a bug, when they are just not interoperable. First you need to agree on one specification that really covers the whole standard, then you can determine which software is buggy and what behavior is right.

          It is also extremely annoying when markdown creates lists for single points someone mentions, like this:

          Most points are irrelevant, but ...
          5. Here I agree
          7. Here I disagree

          and Markdown renumbers it to

          Most points are irrelevant, but ...
          1. Here I agree
          2. Here I disagree

    • I don't html uses or anymore, now it's and . Lots more typing, much less intuitive.

  • by KILNA ( 536949 ) on Monday January 12, 2026 @05:37PM (#65919172) Journal

    Markdown and YAML are definitely spiritual cousins.

    * Simple
    * Human-first editing
    * Whitespace-significant / Diff-friendly
    * Low-ceremony / Huffman-coded

    Markdown of course is for freeform idea and narrative capture, whereas YAML is data.

    But, they both share the opinion that XML/HTML are cursed for the most common use cases, and they're both mostly right on that account.

    • by allo ( 1728082 )

      YAML is horrible for its (nested) dict syntax. In particular the start of a dict is strange.

      • It also doesn't support comments. Or at least you can put in comments but you can't read them in and output them again. Last I checked a couple years ago there were no YAML libraries that supported writing comments. If you can't read in a file then output the exact same file, that file format is a non-starter. Though to be fair XML can't do that either (whitespace characters between attributes are normalized).

        • by allo ( 1728082 )

          I don't think many formats export the same text if the input had comments. By definition a parser should ignore comments and represent the data only, how should the writer know about the comments? Where should they be placed when something changed in the data structure? YAML can represent complex structures, it is not just a config file format.

    • by Chelloveck ( 14643 ) on Monday January 12, 2026 @08:15PM (#65919622)

      Markdown (and all of its "infer the typesetting from unadorned plain text" brethren, such as reStructured Text) is cursed in pretty much the opposite direction. What should be a simple tool for simple use cases has been twisted into a full-blown markup language.

      The whole point to these Markdown-style languages is that you can use loose formatting rules to make a document that looks good in a plain text editor and as a fully styled, typeset page. So the language starts off with a few simple conventions, like *italic* and **bold**; paragraphs separated by a blank line; and conventions for several levels of section headings. Looks great in plaintext and translates easily to HTML or some other more capable markup language. Cool.

      But then someone comes along and says, "Hey, how about strikethrough?" So you add a rule for that. It's kind of hard to tell what the intent is in the plain text version, but it mostly works. (The same person also asked for underlines, but you told them to get stuffed. They must have done something to really annoy you.)

      Then someone else comes along and says, "I'm writing docs for Markdown, and I'd really like to write them in Markdown. I need a way to turn off Markdown formatting so I can show examples." This poses a bit of a problem, because it's impossible to infer which sections need to be escaped just from the document structure. So you grudgingly add in an explicit markup sequence to designate the regions not to format. The document is still pretty readable in its plain-text form though, so everyone's happy.

      Then another person looks at it and says, "I've got some tabular data here. How about if Markdown supports that?" That sounds like a pretty simple request, but you soon realize that tables are hard. It's not just columns of numbers, you have to deal with text overflowing cell width, borders, and all sorts of other things. People traditionally handle these in ad hoc ways in plain-text documents and humans can generally get the idea, but it's hard as hell to write a parser for. There is no general way to handle everything and still have it look like simple tabular data in plain text. So you break down and add even more explicit formatting. It almost, kinda, still looks like a table in plain text but it's definitely harder to read than you'd like it to be.

      And THEN some wise guy comes along and says, "What about illustrations? How do I include illustrations?" Which is just stupid because illustrations beyond simple ASCII art by definition can't be viewed in plain text. You need to add explicit markup to include something that can not possibly be viewed in the plain text version.

      And then people ask for auto-generated tables of content, indexes, and footnotes. More things that just don't fit into the plain text format. More and more explicit markup. Less and less readable in a plain text editor.

      Sooner or later you find that what started as a few simple formatting conventions has accreted into a full-blown markup language and you might as well have just bit the bullet and learned nroff, TeX, or HTML from the very start.

  • by greytree ( 7124971 ) on Monday January 12, 2026 @05:47PM (#65919186)
    So not Slashdot then.
  • Slashdot support (Score:5, Insightful)

    by hadleyburg ( 823868 ) on Monday January 12, 2026 @05:48PM (#65919188)

    Has Slashdot considered support for Markdown?

  • by SlashbotAgent ( 6477336 ) on Monday January 12, 2026 @05:53PM (#65919200)

    Markdown is a very limited set of formatting codes. HTML is a huge tag language for micromanaging every aspect of a web page. The two serve different purposes and are not comparable.

    Have you ever tried posting code with markdown?

    Does markdown have a blink tag? I rest my case.

    • In this case, the limited set of options is a feature, not a bug. Nobody wants blinking text. I rest my case.

    • Standard markdown I'm not sure. But many implementations have features hacked in. My wiki uses Parsedown as the renderer, which passes raw html through. Then it's wrapped in a preprocessor for things like turning WikiWords into links in the old school Wiki way, and a growing list of other tasks.
    • by allo ( 1728082 )

      Posting code? You mean like

      ```html

      Example

      ```

      to get a code block with highlighting for HTML syntax?

      • by _merlin ( 160982 )

        That's specific to GitHub's dialect, though. In RST, you need to use ".. code-block:: html" and follow it by the block of code indented from the directive. And that's a major issue with markdown. It isn't one markup language, it's a whole family of vaguely similar but incompatible markup languages.

        • it's a whole family of vaguely similar but incompatible markup languages.

          Exactly. And then there are the countless parser implementation differences, deficiencies, bugs...

    • Everyone should have memorized MM by now...

  • ..but let's use an orgasmic quote about the wonderous majesty of AI to illustrate this on /. Using a weirdo AI-relationship example was a creepy touch, nice!

    Perhaps this article should have been titled "How Large Language Models Took Over My Brain And Caused My Divorce"

  • What world does this refer to - some DC Universe alternative iteration of Earth?

  • by Himmy32 ( 650060 ) on Monday January 12, 2026 @06:15PM (#65919256)

    the implications have gotten far more dire when they use a format designed to help expresss "make this **bold**" to tell the computer itself "make this imaginary girlfriend more compliant".

    I shudder to think then what would have happened if another less easy alternative took over. A LaTeX ruled world would likely be more masochistic.

  • From the improbably gig book of SGML, to letting the Browser Wars happen, to XML and stylesheets and DTD, and tags having been written in multiple syntaxes, to the failure to rein-in cellphone/browser specific sites--likely stemming from the $10,000 fee to join the W3C in the first place, so only corporate interests apply. That stated, Markdown is subversive to to well-being of the internet.
  • by ffkom ( 3519199 ) on Monday January 12, 2026 @07:12PM (#65919452)
    ... when its original idea was to allow the reader to decide how to render pages/texts/fonts preferably, with just a few simple markup and linking elements. But HTML was made terrible later when pixel-pushers and corporations decided that HTML needs to primarily serve advertisements and "corporate identity"-styling, and tons of non-usability-improving and often browser-specific additional features were introduced.

    That said, Markdown to me seems like a lesser evil today, which resembles early HTML more than contemporary HTML.
  • by dskoll ( 99328 ) on Monday January 12, 2026 @07:19PM (#65919462) Homepage

    The appeal of Markdown isn't because it's simpler than HTML or because the markup is intuitive.

    It's because you can read Markdown source almost as easily as rendered Markdown. So that lets you include a README.md file with your software that people can easily read with less, but that also renders into nice HTML.

    Of course, the inevitable feature creep from various extensions to Markdown is starting to make this source-readability feature less true.

    • by allo ( 1728082 )

      Do you know markdown.css? It's a CSS file that changes HTML tags to show markdown syntax instead. It's quite funny that you can do this with CSS.

  • It's not like there is one standard, but there are as many as there are parsers. To create another one, people specified CommonMark and now you can guess if it is Markdown dialect #42 or CommonMark (Markdown dialect #101) when you are allowed to use MarkDown.

  • As someone who learned HTML first, I always found markdown redundant: my scope is to write something which will be part of a web page, so HTML, but instead of writing HtML, I have to learn and use another system, which will later be translated to HTML.

  • Because I am really getting tired of all the variants.
  • Markdown is for people too stupid or too lazy to learn LaTeX.

  • HTML isn't that hard, I'm really confused as to why markdown exists It is essentially bbcode
  • so, what is Markdown?

You can't take damsel here now.

Working...