# Why another one

> There are plenty of Markdown converters already. Three gaps we found in existing tools, and why mdwire exists.

HTML: https://mdwire.minjun.dev/why/

We found three gaps in existing tools. The real failures, and what mdwire sends instead, are collected under
[Cases](https://mdwire.minjun.dev/why/cases/).

## Emphasis spanning lines is common

In a sample of 60 agent-generated documents, 44 contained emphasis spanning a line break. A regex-based
converter mispaired those into *inverted* emphasis ranges, and the channel returned HTTP 200, so nothing
caught it.

## Common Korean notation collides with Markdown

- In `**설정(config)**을` or `**52%**다`, the bold ends in a symbol and a particle follows right after.
  Under CommonMark's rules the bold does not close and the `**` shows as text. GitHub and browser renderers
  follow those rules.
- In `약 ~40km, 5~6월`, tildes mark an approximation and a range. With two of them in one paragraph,
  GitHub (GFM), which reads a single `~` as strikethrough, pairs them and strikes everything in between
  (`40km, 5`).

The two converters we compared disagree on Korean-adjacent emphasis (one pads it with U+200B, the other
leaves it alone), and neither checked the channel. mdwire measured each channel: on GitHub it writes just that bold as `<strong>`
and escapes a literal `~` as `\~`.

## Chat-channel converters ignore streaming

Some browser renderers, like Streamdown, patch unclosed syntax while tokens stream in. The Telegram and Slack
converters we looked at all take the whole document and convert it in one pass. When tokens arrive
incrementally, markup splits across chunk boundaries. mdwire's streamer returns only what is safe to send
now ([the streaming contract](https://mdwire.minjun.dev/docs/#the-streaming-contract)).
