How Markdown took over the world

2026-01-0917:52440347anildash.com

A blog about making culture. Since 1999.

How Markdown took over the world 09 Jan 2026 2026-01-09 2026-01-09 /images/imac-g4-markdown.jpg tech, blogs, software, culture, ai, best-of Nearly every bit of the high-tech world, from the most cutting-edge AI systems at the biggest companies, to the casual scraps of code cobbled together by... 8

Nearly every bit of the high-tech world, from the most cutting-edge AI systems at the biggest companies, to the casual scraps of code cobbled together by college students, is annotated and described by the same, simple plain text format. Whether you’re trying to give complex instructions to ChatGPT, or you want to be able to exchange a grocery list in Apple Notes or copy someone’s homework in Google Docs, that same format will do the trick. The wild part is, the format wasn’t created by a conglomerate of tech tycoons, it was created by a curmudgeonly guy with a kind heart who right this minute is probably rewatching a Kubrick film while cheering for an absolutely indefensible sports team.

But it’s worth understanding how these simple little text files were born, not just because I get to brag about how generous and clever my friends are, but also because it reminds us of how the Internet really works: smart people think of good things that are crazy enough that they just might work, and then they give them away, over and over, until they slowly take over the world and make things better for everyone.

Making Their Mark

Though it’s now a building block of the contemporary Internet, like so many great things, Markdown just started out trying to solve a personal problem. In 2002, John Gruber made the unconventional decision to bet his online career on two completely irrational foundations: Apple, and blogs.

It’s hard to remember now, but in 2002, Apple was just a few years past having been on death’s door. As difficult as it may be to picture in today’s world where Apple keynotes are treated like major events, back then, almost nobody was covering Apple regularly, let alone writing exclusively about the company. There was barely even any "tech news" scene online at all, and virtually no one was blogging. So John’s decision to go all-in on Apple for his pioneering blog Daring Fireball was, well, a daring one. At the time, Apple had only just launched its first iPod that worked with Windows computers, and the iPhone was still a full five years in the future. But that single-minded obsessive focus, not just on Apple, but on everything he covered, eventually helped inspire much of the technology media landscape that we see today. John’s timing was also perfect — from the doldrums of that era, Apple’s stock price would rise by about 120,000% in the years after Daring Fireball started, and its cultural relevance probably increased by even more than that.

By 2004, it wasn’t just Apple that had begun to take off: blogs and social media themselves had moved from obscurity to the very center of culture, and a new era of web technology had begun. At the beginning of that year, few people in the world even knew what a “blog” was, but by the end of 2004, blogs had become not just ubiquitous, but downright cool. As unlikely as it seems now, that year’s largely uninspiring slate of U.S. presidential candidates like Wesley Clark, Gary Hart and, yes, Howard Dean helped propel blogs into mainstream awareness during the Democratic primaries, alongside online pundits who had begun weighing in on politics and the issues and cultural moments at a pace that newspapers and TV couldn’t keep up with. A lot has been written about the transformation of media during those years, but less has been written about how the media and tech of the time transformed each other.

A photo from 2004 of a TV screen showing CNN, with a ticker saying "Gary Hart Cyber Campaign Starts blog for possible 2004 presidential bid"

That era of early blogging was interesting in that nearly everyone who was writing the first popular sites was also busy helping create the tools for publishing them. Just like Lucille Ball and Desi Arnaz had to pioneer combining studio-style flat lighting with 35mm filming in order to define the look of the modern sitcom, or Jimi Hendrix had to work with Roger Mayer to invent the signature guitar distortion pedals that defined the sound of rock and roll, the pioneers who defined the technical format and structures of blogging were often building the very tools of creation as they went along.

I got a front row seat to these acts of creation. At the time I was working on Movable Type, which was the most popular tool for publishing “serious” blogs, and helped popularize the medium. Two of my good friends had built the tool and quickly made it into the default choice for anybody who wanted to reach a big audience; it was kind of a combination of everything people do these days on WordPress and all the various email newsletter platforms and all of the “serious” podcasts (since podcasts wouldn’t be invented for another few months). But back in those early days, we’d watch people use our tools to set up Gawker or Huffington Post one day, and Daring Fireball or Waxy.org the next, and each of them would be the first of its kind, both in terms of its design and its voice. To this day, when I see something online that I love by Julianne Escobedo Shepherd or Ta-Nehisi Coates or Nilay Patel or Annalee Newitz or any one of dozens of other brilliant writers or creators, my first thought is often, “hey! They used to type in that app that I used to make!” Because sometimes those writers would inspire us to make a new feature in the publishing tools, and sometimes they would have hacked up a new feature all by themselves in between typing up their new blog posts.

A really clear, and very simple, early example of how we learned that lesson was when we changed the size of the box that people used to type in just to create the posts on their sites. We made the box a little bit taller, mostly for aesthetic reasons. Within a few weeks, we’d found that posts on sites like Gawker had gotten longer, mostly because the box was bigger. This seems obvious now, years after we saw tweets get longer when Twitter expanded from 140 characters to 280 characters, but at the time this was a terrifying glimpse at how much power a couple of young product managers in a conference room in California would have over the media consumption of the entire world every time they made a seemingly-insignificant decision.

The other dirty little secret was, typing in the box in that old blogging app could be… pretty wonky sometimes. People who wanted to do normal things like include an image or link in their blog post, or even just make some text bold, often had to learn somewhat-obscure HTML formatting, memorizing the actual language that’s used to make web pages. Not everybody knew all the details of how to make pages that way, and if they made even one small mistake, sometimes they could break the whole design of their site. It made things feel very fraught every time a writer went to publish something new online, and got in the way of the increasingly-fast pace of sharing ideas now that social media was taking over the public conversation.

Enter John and his magical text files.

Marking up and marking down

The purpose of Markdown is really simple: It lets you use the regular characters on your keyboard which you already use while typing out things like emails, to make fancy formatting of text for the web. The name of that HTML format that's used to make web pages stands for HyperText Markup Language. The word “markup” there means you’re “marking up” your text with all kinds of special characters. Only, the special characters can be kind of arcane. Want to put in a link to everybody’s favorite website? Well, you’re going to have to type in <a href="https://anildash.com/">Anil Dash’s blog</a> I could explain why, and what it all means, but honestly, you get the point — it’s a lot! Too much. What if you could just write out the text and then the link, sort of like you might within an email? Like: [Anil Dash’s blog](https://anildash.com)! And then the right thing would happen. Seems great, right?

The same thing works for things like putting a header on a page. For example, as I’m writing this right now, if I want to put a big headline on this page, I can just type # How Markdown Took Over the World and the right thing will happen.

If mark_up_ is complicated, then the opposite of that complexity must be… markd_own_. This kind of solution, where it’s so smart it seems obvious in hindsight, is key to Markdown’s success. John worked to make a format that was so simple that anybody could pick it up in a few minutes, and powerful enough that it could help people express pretty much anything that they wanted to include while writing on the internet. At a technical level, it was also easy enough to implement that John could write the code himself to make it work with Movable Type, his publishing tool of choice. (Within days, people had implemented the same feature for most of the other blogging tools of the era; these days, virtually every app that you can type text into ships with Markdown support as a feature on day one.)

Prior to launch, John had enlisted our mutual friend, the late, dearly missed Aaron Swartz, as a beta tester. In addition to being extremely fluent in every detail of the blogging technologies of the time, Aaron was, most notably, seventeen years old. And though Aaron’s activism and untimely passing have resulted in him having been turned into something of a mythological figure, one of the greatest things about Aaron was that he could be a total pain in the ass, which made him terrific at reporting bugs in your software. (One of the last email conversations I ever had with Aaron was him pointing out some obscure bugs in an open source app I was working on at the time.) No surprise, Aaron instantly understood both the potential and the power of Markdown, and was a top-tier beta tester for the technology as it was created. His astute feedback helped finely hone the final product so it was ready for the world, and when Markdown quietly debuted in March of 2004, it was clear that text files around the web were about to get a permanent upgrade.

The most surprising part of what happened next wasn’t that everybody immediately started using it to write their blogs; that was, after all, what the tool was designed to do. It’s that everybody started using Markdown to do everything else, too.

Hitting the Mark

It’s almost impossible to overstate the ubiquity of Markdown within the modern computer industry in the decades since its launch.

After being nagged about it by users for more than a decade, Google finally added support for Markdown to Google Docs, though it took them years of fiddly improvements to make it truly usable. Just last year, Microsoft added support for Markdown to its venerable Notepad app, perhaps in an attempt to assuage the tempers of users who were still in disbelief that Notepad had been bloated with AI features. Nearly every powerful group messaging app, from Slack to WhatsApp to Discord, has support for Markdown in messages. And even the company that indirectly inspired all of this in the first place finally got on board: the most recent version of Apple Notes finally added support for Markdown. (It’s an especially striking launch by Apple due to its timing, shortly after John had used his platform as the most influential Apple writer in the world to blog about the utter failure of the “Apple Intelligence” AI launch.)

But it’s not just the apps that you use on your phone or your laptop. For developers, Markdown has long been the lingua franca of the tools we string together to accomplish our work. On GitHub, the platform that nearly every developer in the world uses to share their code, nearly every single repository of code on the site has at least one Markdown file that’s used to describe its contents. Many have dozens of files describing all the different aspects of their project. And some of the repositories on GitHub consist of nothing but massive collections of Markdown files. The small tools and automations we run to perform routine tasks, the one-off reports that we generate to make sure something worked correctly, the confirmations that we have a system alert email out when something goes wrong, the temporary files we use when trying to recover some old data — all of these default to being Markdown files.

As a result, there are now billions of Markdown files lying around on hard drives around the world. Billions more are stashed in the cloud. There are some on the phone in your pocket. Programmers leave them lying around wherever their code might someday be running. Your kid’s Nintendo Switch has Markdown files on it. If you’re listening to music, there’s probably a Markdown file on the memory chip of the tiny system that controls the headphones stuck in your ears. The Markdown is inside you right now!

Down For Whatever

So far, these were all things we could have foreseen when John first unleashed his little text tool on the world. I would have been surprised about how many people were using it, but not really the ways in which they were using it. If you’d have said “Twenty years in the future, all the different note-taking apps people use save their files using Markdown!”, I would have said, “Okay, that makes sense!”

What I wouldn’t have asked, though, was “Is John getting paid?” As hard as it may be to believe, back in 2004, the default was that people made new standards for open technologies like Markdown, and just shared them freely for the good of the internet, and the world, and then went on about their lives. If it happened to have unleashed billions of dollars of value for others, then so much the better. If they got some credit along the way, that was great, too. But mostly you just did it to solve a problem for yourself and for other like-minded people. And also, maybe, to help make sure that some jerk didn’t otherwise create some horrible proprietary alternative that would lock everybody into their terrible inferior version forever instead. (We didn’t have the word “enshittification” yet, but we did have Cory Doctorow and we did have plain text files, so we kind of knew where things were headed.)

To give a sense of the vibe of that era, the term “podcasting” had been coined just a month before Markdown was released, and went into wider use that fall, and was similarly a radically open system that wasn’t owned by any big company and that empowered people to do whatever they wanted to do to express themselves. (And podcasting was another technology that Aaron Swartz helped improve by being a brilliant pain in the ass. But I’ll save that story for another book-length essay.)

That attitude of being not-quite-_anti_commercial, but perhaps just not even really concerned with whether something was commercial or not seems downright quaint in an era when the tech tycoons are not just the wealthiest people in the world, but also some of the weirdest and most obnoxious as well. But the truth is, most people today who make technology are actually still exceedingly normal, and quite generous. It’s just that they’ve been overshadowed by their bosses who are out of their minds and building rocket ships and siring hundreds of children and embracing overt white supremacy instead of making fun tools for helping you type text, like regular people do.

The Markdown Model

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".

But we already know that the Big AI companies are run by people who don't reckon with the implications of their work. They could never understand that every single project that's even moderately ambitious on these new AI platforms is being written up in files formatted according to this system created by one guy who has never asked for a dime for this work. An entire generation of AI coders has been born since Markdown was created who probably can’t even imagine that this technology even has an "inventor". It’s just always been here, like the Moon, or Rihanna.

But it’s important for everyone to know that the Internet, and the tech industry, don’t run without the generosity and genius of regular people. It is not just billion-dollar checks and Silicon Valley boardrooms that enable creativity over years, decades, or generations — it’s often a guy with a day job who just gives a damn about doing something right, sweating the details and assuming that if he cares enough about what he makes then others will too. The majority of the technical infrastructure of the Internet was created in this way. For free, often by people in academia, or as part of their regular work, with no promise of some big payday or getting a ton of credit.

The people who make the real Internet and the real innovations also don’t look for ways to hurt the world around them, or the people around them. Sometimes, as in the case of Aaron, the world hurts them more than anyone should ever have to bear. I know not everybody cares that much about plain text files on the Internet; I will readily admit I am a huge nerd about this stuff in a way that most normal people are not. But I do think everybody cares about some part of the wonderful stuff on the Internet in this way, and I want to fight to make sure that everybody can understand that it’s not just five terrible tycoons who built this shit. Real people did. Good people. I saw them do it.

The trillion-dollar AI industry's system for controlling their most advanced platforms is a plain text format one guy made up for his blog and then bounced off of a 17-year-old kid before sharing it with the world for free. You're welcome, Time Magazine's people of the year, The Architects of AI. Their achievement is every bit as impressive as yours.

Okay, with some of the narrative covered, what can we learn from Markdown’s success? How did this thing really take off? What could we do if we wanted to replicate something like this in the modern era? Let’s consider a few key points:

1. Had a great brand.

Okay, let’s be real: “Markdown” as a name is clever as hell. Get it — it's not markup, it's mark down. You just can’t argue with that kind of logic. People who knew what the “M” in “HTML” stood for could understand the reference, and to everyone else, it was just a clearly-understandable name for a useful utility.

2. Solved a real problem.

This one is not obvious, but it’s really important that a new technology have a real problem that it’s trying to solve, instead of just being an abstract attempt to do something vague, like “make text files better”. Millions of people were encountering the idea that it was too difficult or inconvenient to write out full HTML by hand, and even if one had the necessary skills, it was nice to be able to do so in a format that was legible as plain text as well.

3. Built on behaviors that already existed.

This is one of the most quietly genius parts of Markdown: The format is based on the ways people had been adding emphasis and formatting to their text for years or even decades. Some of the formatting choices dated back to the early days of email, so they’d been ingrained in the culture of the internet for a full generation before Markdown existed. It was so familiar, people could be writing Markdown without even knowing it.

4. Mirrored RSS in its origin.

Around the same time that Markdown was taking off, RSS was maturing into its ubiquitous form as well. The format had existed for some years already, enabling various kinds of content syndication, but at this time, it was adding support for the technologies that would come to be known as podcasting as well. And just like RSS, Markdown was spearheaded by a smart technologist who was also more than a little stubborn about defining a format that would go on to change the way we share content on the internet. In RSS’ case, it was pioneered by Dave Winer, and with Markdown it was John Gruber, and both were tireless in extolling the virtues of the plain text formats they’d helped pioneer. They could both leverage blogs to get the word out, and to get feedback on how to build on their wins.

5. There was a community ready to help.

One great thing about a format like Markdown is that its success is never just the result of one person. Vitally, Markdown was part of a community that could build on it right from the start. Right from the beginning, Markdown was inspired by earlier works like Textile, a formatting system for plain text created by Dean Allen. Many of us appreciated and were inspired by Dean, who was a pioneer of blogging tools in the early days of social media, but if there’s a bigger fan of Dean Allen on the internet than John Gruber, I’ve never met them. Similarly, Aaron Swartz, the brilliant young technologist who's best known as an activist for digital rights and access, was at that time just a super brilliant teenager that a lot of us loved hacking with. He was the most valuable beta tester of Markdown prior to its release, helping to shape it into a durable and flexible format that’s stood the test of time.

6. Had the right flavor for every different context.

Because Markdown’s format was frozen in place (and had some super-technical details that people could debate about) and people wanted to add features over time, various communities that were implementing Markdown could add their own “flavors” of it as they needed. Popular ones came to be called Commonmark and Github-Flavored, led by various companies or teams that had divergent needs for the tool. While tech geeks tend to obsess over needing everything to be “correct”, in reality it often just doesn’t matter that much, and in the real world, the entire Internet is made up of content that barely follows the technical rules that it’s supposed to.

7. Released during a time of change in behaviors and habits.

This is a subtle point, but an important one: Markdown came along at the right time in the evolution of its medium. You can get people to change their behaviors when they’re using a new tool, or adopting a new technology. In this case, blogging (and all of social media!) were new, so saying “here’s a new way of typing a list of bullet points” wasn't much of an additional learning curve to add to the mix. If you can take advantage of catching people while they’re already in a learning mood, you can really tap into the moment when they’re most open-minded to new things.

8. Came right on the cusp of the “build tool era”.

This one’s a bit more technical, but also important to understand. In the first era of building for the web, people often built the web's languages of HTML, JavaScript and CSS by hand, by themselves, or stitched these formats together from subsets or templates. But in many cases, these were fairly simple compositions, made up of smaller pieces that were written in the same languages. As things matured, the roles for web developers specialized (there started to be backend developers vs. front-end, or people who focused on performance vs. those who focused on visual design), and as a result the tooling for developers matured. On the other side of this transition, developers began to use many different programming languages, frameworks and tools, and the standard step before trying to deploy a website was to have an automated build process that transformed the “raw materials” of the site into the finished product. Since Markdown is a raw material that has to be transformed into HTML, it perfectly fit this new workflow as it became the de facto standard method of creation and collaboration.

9. Worked with “View source”

Most of the technologies that work best on the web enable creators to “view source” just like HTML originally did when the first web browsers were created. In this philosophy, you can look at the source code that makes up a web page, and understand how it was constructed so that you can make your own. With Markdown, it only takes one glimpse of a source Markdown file for anyone to understand how they might make a similar file of their own, or to extrapolate how they might apply analogous formatting to their own documents. There’s no teaching required when people can just see it for themselves.

10. Not encumbered in IP

This one’s obvious if you think about it, but it can’t go unsaid: There are no legal restrictions around Markdown. You wouldn’t think that anybody would be foolish or greedy enough to try to patent something as simple as Markdown, but there are many far worse examples of patent abuse in the tech industry. Fortunately, John Gruber is not an awful person, and nobody else has (yet) been brazen enough to try to usurp the format for their own misadventures in intellectual property law. As a result, nobody’s been afraid, either to use the format, or to support creating or reading the format in their apps.


Read the original article

Comments

  • By Havoc 2026-01-0922:5913 reply

    Sound write-up. It is missing the #1 reason I like it though - it's fundamentally text.

    No format/vendor lock-in and very amenable to living in a git repo. For my note taking that's already game over right there against everything else. I don't want to worry about whatever cursed format OneNote uses is still something I can extract in 2035.

    I also like that it's become a defacto standard that LLMs speak. I can tell it to look at the code in this server repo and make me a API_documentation.md and it'll grasp that I want a text based summary of how to use this endpoint

    • By GuB-42 2026-01-100:573 reply

      Not only that but Markdown use the conventions people already used in text files (point 3 in the article). People wrote Markdown before Markdown existed, they just formalized it.

      In fact, I like to write notes and documentation in text form, and then I notice I have been using Markdown all along, so I rename my text file into .md, fix a couple of markers, and now it looks nice on a viewer that supports markdown, and I have syntax highlighting in my text editor.

      • By tombert 2026-01-102:512 reply

        That's the main reason I still like writing Markdown (and Typst nowadays as well); I can "render" it in my head very quickly.

        When I'm reading Markdown, I almost don't even see the symbols. Beginning a statement with a # immediately just looks like a heading, surrounding a word with asterisks looks italic to me, wrapping a string with backticks looks like code formatting to me, and my assumptions are generally right so I don't need to render very often (which is why the Pandoc -> LaTeX -> PDF pipeline didn't bother me that much).

        If I'm writing LaTeX or something, I generally have a very rough idea of what something will look like, but it's not terribly reliable for me. I need to render frequently because my assumptions about how something is going to look is likely to be wrong.

        I mostly use Typst now because it is similar enough to Markdown, and the compilation time is so categorically faster that I see little reason not to use it, but I still respect the hell out of Markdown for popularizing this kind of syntax.

        • By teaearlgraycold 2026-01-109:021 reply

          I don’t even see the code. I see a blonde, brunette, red head.

          • By duckmysick 2026-01-1013:271 reply

            That made me think - are there any depictions of Markdown in movies and tv shows? I've seen a fair share of C, Java, HTML, and (in newer works) JavaScript and Python. And Perl in The Social Network.

            n.b.: the above quote is from The Matrix.

            • By dhosek 2026-01-1016:412 reply

              I think that was php in the social network.

              • By duckmysick 2026-01-1212:07

                I'm referring to the part where Mark was scraping the photos from the Harvard's houses face book pages.

              • By dalemhurley 2026-01-1021:22

                If it is going to be accurate it is PHP.

        • By mmcnl 2026-01-1011:41

          Yeah, I don't even need a Markdown formatter. It's already in my head.

      • By eastbound 2026-01-1012:581 reply

        > Not only that but Markdown use the conventions people already used in text files

        So why not Markup? At the time, everyone was using markup because Wikipedia was in wikimarkUP, with # for numbered lists, {} for macros and === to denominate titles. The latter still works in Markdown, but the former doesn’t. Funny heritage: Confluence shortcuts are also expressed in markup because it was the trend at the time, but they changed the shortcuts when they went to the Cloud.

        • By duskwuff 2026-01-1020:471 reply

          MediaWiki syntax was its own odd duck. It used '''bold''' and ''italics'', and [https://example.com/ external links like this] - almost nothing else followed their lead.

          • By Timwi 2026-01-1118:211 reply

            And for a long time MediaWiki didn't have a proper parser for that markup, just a bunch of regexes that would transform it into HTML. I don't know if they have a proper parser now, but for reasons of backwards compatibility it must be lenient/forgiving, which means that converting all of Wikipedia to markdown is basically impossible now. So MediaWiki markup will stay with us for as long as there are MediaWiki wikis.

      • By syngrog66 2026-01-1020:59

        BINGO. a key point he either is ignorant about or strangely chooses to overlook

    • By raincole 2026-01-104:172 reply

      It's fundamentally ok-ishly looking text.

      I think that is the biggest reason why Markdown doesn't support table. There are alternatives that do (e.g. wikitext) but they didn't get as popular as Markdown. Why? Perhaps it's because that tables will never really look fine in pure text no matter how clever your syntax is.

      • By trollbridge 2026-01-104:211 reply

        Provided you’ve got UTF-8 (or CP437/850/1521 etc) and fixed pitch, it’s easy to make tables.

        • By Linux-Fan 2026-01-1021:32

          I don't think that is sufficient for the general case because I would like to be able to use the markdown like _emphasis_ or [hyperlinks](https://www.example.com) even inside the table rows and this doesn't render properly when using fixed pitch “tables as source code blocks”

      • By mcny 2026-01-107:011 reply

        Sorry but I don't understand

        Isn't this a table?

            |sn|name|
            |--|--|
            |1|George|
            |2|John|
        
        I feel like I've been doing this at least since about 2013?

        Edit: I get it now. It was not a part of the original spec.

            |sn|name  |
            |--|------|
            | 1|George|
            | 2|John  |
        
        It can look better if we use fixed width font and add padding I guess?

        • By duskdozer 2026-01-108:195 reply

          It can, the gripe that I don't have a good solution for is what happens when entry 3 is a 7-letter name?

          • By zdc1 2026-01-108:461 reply

            Then you need to re-pad everything (clean looking git diff be damned). It's just the reality of dealing with bounding boxes. Maybe we don't notice it in HTML and such since the browser redraws them for us for free.

            • By bobbylarrybobby 2026-01-1016:441 reply

              A reasonable format would not insist you lay out tables visually any more than it would insist you center your headers if you'd like them horizontally centered when rendered. For instance, Asciidoctor has syntax for table cells that requires no whitespace and lets you put any content at all in a cell.

              • By Groxx 2026-01-1020:04

                I'm not aware of any table-capable markdown renderer that requires tables to be padded correctly. It's purely a source-text-readability concern.

                No doubt some janky one exists somewhere, but nobody uses that.

          • By eastbound 2026-01-1012:53

            IntelliJ repads the tables automatically when cells get bigger. I think you can even resize using the mouse!

          • By huimang 2026-01-110:22

            With LSP and Marksman [0], those tables get formatted automatically on save for me.

            https://github.com/artempyanykh/marksman

          • By akshitgaur2005 2026-01-109:06

            you switch to org!

          • By rconti 2026-01-1017:01

            Honestly, updating tables in markdown has been my most successful use of AI :)

    • By tasuki 2026-01-1010:111 reply

      > It is missing the #1 reason I like it though - it's fundamentally text.

      Sure, but that's table stakes.

      There are much better formats: AsciiDoc, reStructuredText, etc. Yet I also primarily use Markdown. I could use a format that's perhaps 20% better, and well-specified. But I'd have to use Markdown somewhere anyway. So I just stick with Markdown. It's good enough for me.

      • By thangalin 2026-01-1017:423 reply

        Can you quantify "much better"? I compiled a set of over 70 features offered by a variety of plain text formats:

        https://keenwrite.com/blog/2025/09/08/feature-matrix/

        Are many features missing from the list? From what I can tell, objectively, plain text formats offer largely equivalent functionality.

        • By aragilar 2026-01-114:59

          There are those that have well defined extension points (e.g. TeX, rst), and those that are ad-hoc, of which the best example is markdown. TeX, via packages and wrappers, can do practically anything. rst has directives (blocks) and interpreted text (inline) which can also effectively do anything (along with substitution references which are more macro-like). Specific "interpreters" (for lack of a better term) which you link to naturally have specific features by default (and some are more extensible than others e.g. pandoc which when writing out LaTeX lets you embed LaTeX in the markdown, so "markdown" in this case is turing complete).

          I think if you define "better" as having well-defined extensibility to enable multiple implementations (i.e. not ad-hoc things pandoc lets you do), then rst (which can be transformed into XML as per https://docutils.sourceforge.io/docs/ref/doctree.html) would be "better" than markdown.

        • By pseudohadamard 2026-01-117:261 reply

          Does anything need all those features though? If you need more than headings, bold, italic, quoted text, and code, you should probably be using HTML or Latex or something. So a better goodness-of-fit function would be is it easy to remember/use, and is it non-intrusive inline with the text?

          • By Linux-Fan 2026-01-1111:57

            I don't think anybody needs all of the features at once but people have different preferences. E.g. I typically do well without bold formatting (I only need one level of emphasis which is served well by italic) but I want tables, links and lists very often.

            Also I like the WYSIWYG feature of Markdown where it has an advantage over the traditional Markup languages like HTML, LaTeX, groff etc. of being easier to read in the text file. Dedicated syntax highlighting can go a long way to make markup easier to read, though.

        • By Linux-Fan 2026-01-1021:27

          The original Markdown has fewer features than listed for the more advanced formats in the table. Hence if someone uses reStructuredText it is more precise than just saying “Markdown” because Markown could refer to anything from the original minimalist featureset to the vastly extended format supported by pandoc if given the appropriate CLI arguments.

          Some text-based formats have more options for tables e.g. alignment of columns (it may help with numbers to right-align them) or multirow/multicolumn options. Some formats support definition lists (corresponds to <dl> in HTML) - a feature which I often find valuable but was not included in the original Markdown IIRC.

          One advantage of using a text-based format is that it can be exported to either LaTeX or HTML and Markdown seems to prefer the HTML output by explicitly supporting inline HTML as an escape hatch for more complex constructs (e.g. tables with rowspan/colspan). In addition to often not being supported for a non-HTML export-type it also hurts the WYSIWYG experience when reading the file like plain text.

    • By christophilus 2026-01-100:031 reply

      Same. I’m reading The UNIX Programming Environment (1984), and it’s made me want to use text for a lot more things. Proprietary formats come and go, but text is forever.

      • By chrismcb 2026-01-108:04

        Provided you know the byte format of the text.

    • By da_chicken 2026-01-101:47

      Eh, the things Markdown was made to compete with were also text. Including, you know, plain text. Sure, there were people out there doing README.RTF or README.DOC that annoyed us all -- nevermind those README.PDF monsters -- but just as frequently it was README.TXT or READ.ME (or README.DOC was in plain text). And GameFAQs and newsgroups got pretty far with plain text and ASCII graphics.

      The problem is that people want to use a web browser to display their documents, they want rich documents, and web browsers are awful at displaying text they don't understand the structure for. And <code> tags look consistently awful when read back, which is why we so strongly prefer syntax highlighting when we read XML or HTML.

      Really, the big competition was BBCode, whose main problem is that it's too much like HTML, and Wikitext, whose main problem was that it's too bare-bones and domain-specific. The big advantages of Markdown are:

      1. It's simply more readable. It pulls from how people were naturally formatting plain-text documents meant to be read as plain text rather than pulling from markup languages, so it more closely matches how people want to write documents in plain text. That makes the document easy to read while you're writing it. Asterisks for highlighting is an old convention, so were dashes and asterisks for bullets. Really, it made the asterisk an English punctuation mark for emphasis, which I think it genuinely is now.

      2. It was easy to parse and short, which made it popular with Web 2.0 social media. It got picked up by Slashdot, Reddit, and Stack Overflow as "good enough" and "better than BBCode" for user generated content. Nobody liked using WYSIWYG editor boxes then, either. They were slow, buggy, and were often Flash-based before HTML5. They needed plain text formatting options, and BBCode was both annoyingly unnatural to type (just like HTML tags) and a little inflexible.

      And nobody wanted to repeat MySpace and just let users use HTML. That was a horrible idea (Samy, XSS, etc.).

    • By chrisweekly 2026-01-104:14

      Amen. Biggest reason I love Obsidian so much; it's like an operating system for markdown.

    • By c-smile 2026-01-1017:07

      WYSIWYG is #1 reason I believe.

      Markdown is fundamentally WYSIWYG - you edit something and you get it rendered 1 to 1. Either in plain text (a.k.a. "source") or when it converted to HTML/CSS and then presented.

      WYSIWYG requires 1:1 mapping between "source" and "presentation". Markdown is exactly that. While HTML/CSS is 1:N mapping - same presentation can be achieved with many combinations of HTML/CSS rules. That's why "true WYSIWYG" is barely achievable with HTML/CSS.

    • By pixelmonkey 2026-01-1018:40

      Agreed. I wrote a post about the history and power of plain text in computing here:

      Simple and Universal: A History of Plain Text, and Why It Matters

      https://amontalenti.com/2016/06/11/simple-and-universal-a-hi...

      You might enjoy it!

    • Except there's a massive lack of Markdown VIEWERS. You find MD files in every open-source project and lots of other places, but almost no viewers that render them as intended. So you wind up looking at them as plain text, with a bunch of formatting characters in them. What's the point, then?

      Only just now has Windows Notepad been revised to render Markdown (I think it does now, anyway). And after searching for a Mac one I finally bought Marked. But that's all I could find. Otherwise you have to load MD files in some kind of editor and "preview" them. NO! I just want to double-click on the file and READ it, with the formatting applied. Why is that so hard?

      • By esperent 2026-01-103:015 reply

        There's loads of markdown viewers, you just don't identify them as that.

        Try copying some markdown into these places:

        - A reddit comment

        - Microsoft Teams

        - Slack

        - Whatsapp

        - Discord

        - Google Docs

        - Discord

        - Notion

        - Facebook Messenger (although only on desktop I think)

        Etc.

        • By chrisweekly 2026-01-104:16

          And Obsidian! Best of them all.

        • By VerifiedReports 2026-01-113:261 reply

          Hahaha, I know, right? Someone might seriously float this argument.

          Gee, here's a Markdown file on my computer that I'd like to read (formatted as intended). Since I don't have a lightweight reader for Markdown, let me just...

          1. Open it up in a text editor

          2. Launch a browser

          3. Navigate to some page that allows Markdown comments.

          4. Log in to comment.

          5. Find something to comment on.

          6. Create and paste into a comment.

          7. Post the comment.

          8. Read.

          SO EASY!

          • By esperent 2026-01-1123:07

            Seems like a lot of steps when you could just double click the file.

            If you're on Windows it'll open in notepad.exe which is a markdown viewer.

            On most flavors of Linux it'll open in a markdown viewer.

            That leaves Apple and Android which I don't think have built in markdown viewers. But you can just install an app.

        • By rapnie 2026-01-107:051 reply

          Matrix, Discourse. I wish that Signal supported it though.

          • By stavros 2026-01-1011:23

            I love Signal, but this is one thing I wish it did better. It's much easier to write Markdown than long-press and format.

        • By JoBrad 2026-01-1018:491 reply

          Most repo browser UIs, and apps like VSCode, too.

          • By VerifiedReports 2026-01-113:27

            Again, the point is not to launch an EDITOR and then open up a "preview." The point is to double-click and start reading the document as formatted. You know... like we can do with even the maligned PDF.

            Think about the word "preview." If you're "previewing" the Markdown file, what are you previewing its appearance in?

        • By Tagbert 2026-01-1020:481 reply

          And BBEdit

          • By VerifiedReports 2026-01-113:301 reply

            Still an editor, not a reader. The point is not to have to launch an editor and then "preview" a file you're just trying to read.

            • By Tagbert 2026-01-143:57

              Most MD readers I’ve seen show an editor and preview side by side.

      • By somat 2026-01-109:041 reply

        That is the point, markdown has nice looking plain text, It is a terrible formatting language, it has no semantic ability. The whole point of markdown is that it is nice looking plaintext that can be typeset. I would even go so far to say that the intended primary render of markdown is the plaintext

        This is why I don't like proposals to make markdown a better markup language, I understand the intent, markdown sucks as a decent language, but these "improvements" make the plain text ugly, and that is most of the value of markdown lost right there.

        • By VerifiedReports 2026-01-113:41

          It's NOT nice-looking plain text. It's text littered with a bunch of formatting characters that aren't respected by any lightweight viewer. So why have them in there?

          I'm not proposing to make it a better markup language. I just want to VIEW it with the formatting that it calls for.

          It's mystifying that people are actually opposed to this. It's like a massive psychology-class experiment, when a bunch of confederates champion an obviously-absurd point of view to see if the subject of the experiment will hold his ground.

      • By quintu5 2026-01-108:491 reply

        Markdown viewing is one of the core use-cases I had in mind when building the Tachi Code browser extension (https://tachicode.com/).

        Open a raw .md file in your browser and it'll automatically open in a side-by-side editor/preview. If viewing is all you want, you can set the default preview mode for markdown files to be fullscreen.

      • By zeppelin101 2026-01-102:162 reply

        I'm personally a huge fan of Typora. It's available on Windows, MacOS and Linux.

        • By physicles 2026-01-109:01

          Typora is the best markdown authoring experience out there, even surpassing obsidian imho. I wish I could use it every time I interact with markdown.

        • By binaryIsBetter 2026-01-1017:19

          Never heard of Typora before, but after looking it up it is an instant buy for me. Thanks for sharing!

      • By stouset 2026-01-101:481 reply

        > that render them as intended

        Markdown is the intended rendering medium.

      • By sixtyj 2026-01-108:09

        Obsidian is on Mac too. And it has live preview of md.

        https://obsidian.md/download

      • By rabf 2026-01-106:46

        `glow` is a pretty handy terminal mardown viewer.

      • By nine_k 2026-01-101:59

        Plenty of browser extensions exist, from barebones to fancy which support several flavors, include Mermaid and MathML, etc.

      • By ValentineC 2026-01-1021:42

        > And after searching for a Mac one I finally bought Marked.

        I like MacDown [1]. Someone recently forked it to MacDown 3000 [2].

        [1] https://macdown.uranusjr.com

        [2] https://macdown.app

      • By thaumasiotes 2026-01-1017:101 reply

        > You find MD files in every open-source project and lots of other places, but almost no viewers that render them as intended.

        Huh? If you find a markdown file in a project on Github, I have every confidence that it renders as intended in Github's markdown viewer.

        • By VerifiedReports 2026-01-113:531 reply

          Do you not realize you're in a browser, on a Web page, if you're on Github?

          And do you never actually clone the project to your machine and use it? When I sit down to actually use the project and I want to read the documentation, I want to double-click on the MD files and READ them. Not edit and preview, but read... with their intended formatting.

          • By thaumasiotes 2026-01-1111:59

            You might have difficulty doing that without using a browser, given that markdown renders to HTML.

      • By chrisweekly 2026-01-104:161 reply

        Try Obsidian. Its "LiveView" editor mode is fantastic.

        • By VerifiedReports 2026-01-113:451 reply

          Thanks. I don't want to launch an editor and then invoke a preview. I just want to double-click and read the damned file, formatted as intended. It's mystifying that people don't recognize the pointlessness of a markup format that's almost never rendered as the markup dictates.

          • By chrisweekly 2026-01-1214:26

            You're welcome.

            Respectfully, you've made some invalid assumptions. Even if your only use case is reading extant markdown, using Obsidian as your viewer probably still makes sense. Trivial, one-time config to open .md files in Read mode, and one-time system config to associate .md files with Obsidian, and voila: "double-click and read the damned file".

            That said, if you were then to spend even a little time in Obsidian doing things other than reading, your "mystification" about "pointlessness" would vanish. Markdown is flexible and portable, eminently readable by machines and people (whether viewed raw or rendered), and Obsidian is an incredibly powerful tool for leveraging its capabilities.

      • By encrypted_bird 2026-01-106:27

        A lot of the responses to your comment imo are kinda missing your point. I don't use Apple products, but I do understand what you're saying. You want an editor that also has an option for previewing the markup text in its formatted view.

        It's officially only available for Linux (the Windows version is currently under development), and like I said, I don't use Apple products, and idk how familiar you are with manually compiling source code or how good Wine is on Macs, but maybe [Remarkable](https://remarkableapp.github.io/) could be an option?

        Just thought I'd give my $2.70. ;)

      • By SamBam 2026-01-104:411 reply

        > You find MD files in every open-source project and lots of other places, but almost no viewers

        Huh? Any open-source project on GitHub, at least, has the viewer right there. It's the default view of markdown files. I assume other repos are similar.

        E.g. The readme https://github.com/jquery/jquery

        • By VerifiedReports 2026-01-113:491 reply

          Do you not realize you're in a browser, on a Web page, if you're on Github?

          And do you never actually clone the project to your machine and use it? When I sit down to actually use the project and I want to read the documentation, I want to double-click on the MD files and READ them. Not edit and preview, but read... with their intended formatting.

          • By SamBam 2026-01-1422:49

            You said almost no viewers. I'm pointing out that the GitHub website has a built-in viewer.

            If you're looking at the code locally, what editor do you use that doesn't have a markdown viewer? I use Sublime with MarkdownLivePreview. Although honestly I generally don't, because md is so easy to read without a viewer.

    • By scelerat 2026-01-1210:09

      But Dash does acknowledge this, only slightly obliquely and I think more usefully broad:

      reason #3 Markdown succeeded: Built on behaviors that already existed. It succeeded because it came from the culture it was born in. Email formatting conventions. HTML. Plain text.

    • By rtpg 2026-01-104:561 reply

      I mean markdown existed, but before that there's like... whatever format phpbb and friends let you use for forum posts right? There was stuff that was text-y.

      But perhaps it was the first big format that was followed a Unix-y "here's a CLI tool to go to HTML from this" thing, instead of some php script

      • By spiderfarmer 2026-01-108:09

        Bbcode. But that required tags like [b] and [i] so was just HTML light.

    • By _the_inflator 2026-01-1019:02

      Yes. Something as handy and universally applicable as HTML minus the tags.

      If you only use headlines and bulletpoints, I have a very pleasing result for a simple text file.

    • By BlueTemplar 2026-01-1010:48

      So is HTML and XML and bbcode...

      The question is more why Markdown is slowly but surely outcompeting them.

  • By tomeraberbach 2026-01-101:497 reply

    I added Markdown support to Google Docs as a 20% project. Honestly honored to be included in this Markdown history :)

    • By data-ottawa 2026-01-102:031 reply

      This was a great addition. That and using `alt+/` to open options/command palette are my favourite features, but you single handedly made Google Docs spark joy for me

      • By tomeraberbach 2026-01-102:17

        So glad to hear!

        And yup, the command palette search change was awesome. Can't take credit for that one though haha

    • By wolftickets 2026-01-1018:191 reply

      I use this feature DAILY at work, you built something great here. I tend to write in md locally, this makes sharing the work with others easy. Especially to those less plaintext inclined.

      One thing I did notice, I can't seem to find a way to set a default codeblock font format. The default font option isn't totally monospaced and so some ascii art looks weird :/

      I don't think that has anything to do with your contribution though.

      THANK YOU!

      • By tomeraberbach 2026-01-1020:37

        Glad you're finding it useful!

        Sorry to hear about the font issue. I'm no longer at Google, but going to forward to some friends who still work there (no guarantee anything changes, but we'll see!)

    • By anildash 2026-01-110:23

      Hanging your jersey from the rafters in the Plain Text Arena. A bullpen of weary cubicle-dwellers salutes you!

    • By edoceo 2026-01-101:552 reply

      I use it almost daily. Thanks!

      • By nvader 2026-01-102:011 reply

        Seconded. @tomraberbach, today in conversation someone mentioned Paul Buchheit's invention of Gmail as a 20% project. The next time, I'll mention you!

        • By tomeraberbach 2026-01-102:181 reply

          Heh I think the scale is a bit different, but I'm honored :)

          • By nvader 2026-01-102:241 reply

            It's not a typical day for me, but I sent 0 emails (Gmail is my standard) but edited 2 Docs with Markdown.

            • By tomeraberbach 2026-01-102:30

              Well that's awesome!

              Out of curiosity, do you mean the "autocomplete" feature or the import/export/copy/paste feature? (I did both)

      • By tomeraberbach 2026-01-102:17

        Love it!

    • By Quizzical4230 2026-01-107:07

      Thank you! It really does help when I want to quickly whip up some docs to share. :D

    • By pax 2026-01-1017:591 reply

      Huh, can one natively edit Markdown in Google Docs? This would be one of my main requests for gDocs (as a long time NvAlt/NvUltra daily driver), but how?

      • By tomeraberbach 2026-01-1018:07

        There are sorta two separate features:

        1. Notion-style realtime "autocomplete" for heading and inline formatting Markdown

        2. Full Markdown import/export and copy/paste

        These features make Docs interoperable with Markdown, but don't make it a Markdown _editor_ in my view.

        Anyway, you can enable the features from Tools > Preferences > Enable Markdown

    • By xnx 2026-01-1020:06

      I so wish Google Docs had a text editor mode.

  • By levmiseri 2026-01-100:384 reply

    > ...that it was too difficult or inconvenient to write out full HTML by hand

    It's not necessarily that writing HTML or other markup flavors is harder (obviously it is), but the beauty of Markdown for me is that it's perfectly readable in its raw form as well as with an applied styling.

    And speaking of customizing the 'look' of markdown, a shameless plug for a markdown editor I've been working on with extensive customization options: https://kraa.io/about

    • By emaro 2026-01-1011:431 reply

      Off-topic a little bit, but some feedback for your editor:

      I saw Kraa when you posted it here on HN, and decided to give it another go, even though I remembered that I dismissed it quickly the first time.

      I only got shy beyond the first line -- Kraa breaks words anywhere to wrap to the next line, really a no go for me, at least in Markdown (it's different if I enable word-wrap in my code editor).

      Played around a little more and the editing experience is not great (for my needs):

      - Kraa hides '#', so I can't remove the header style from headers. The context menu does not offer to change to paragraph style. - Kraa uses non-standart '[]' for tasks, instead of the more common '- [ ]' and '- [x]'.

      Slick UI, sure. However if I cannot edit Markdown, I don't consider it a Markdown editor. Like Notion is also not a Markdown editor, even if I can type '# ' to get a heading.

      • By levmiseri 2026-01-1015:03

        Thank you, this is great feedback. I hope you will try to give Kraa another chance in the future as it should have at least these points covered.

        - An option to render markdown syntax vs immediate translation is coming

        - The horrendous bug around word-wrap (in firefox only) should be fixed within days

        - adding [ ] for tasks as an alt to [].

        As for changing paragraph style, this is purposefully 'hidden' inside the leaf settings (with tons of customization options for everything, not just paragraphs).

    • By hju22_-3 2026-01-103:181 reply

      I've looked at your product before, but given that I can't self-host it and thus not control it, I think it's too vague on the security details. It does say some in the privacy policy, but there's no real details there. Given the potential sensitivity of personal notes, let alone work ones. Though, if that's no concern, I do think it looks good. So kudos in general. :) You planning to monetize it eventually?

      • By levmiseri 2026-01-1015:05

        Thanks! And fair enough, self-hosting isn't something we can easily do right now, but I can see why that would be a super valuable feature. For monetizaton – yes, we will soon have a 'pro' tier that will have more storage space for media.

    • By nomel 2026-01-103:11

      Almost. <br> is sometimes requires, like multi-line table cells, which also requires the use of monospace fonts.

    • By nickserv 2026-01-1010:00

      Blank page with JavaScript disabled says to me: nothing to see here, move along.

HackerNews