Skip to main content

URL to MD Link — Free Markdown Link Generator

Turn any URL into a valid Markdown link in one click. Paste a link, get [text](url) syntax with automatic title guessing, Markdown character escaping, URL validation, reference-style and image modes, and a batch mode that converts a whole list of URLs at once. Everything runs 100% in your browser — no signup, no server, your links never leave the page.

Markdown link generator

Create a Markdown link from a URL — inline, reference-style, or image syntax.

http:// or https:// — the scheme is added automatically if you omit it.
Live preview — updates as you type. Nothing is sent anywhere.

Worked examples

Real input → output pairs produced by the generator above.

InputMarkdown outputNotes
URL https://example.com/my page, text Example [Example](https://example.com/my%20page) Spaces in the URL are percent-encoded so the link stays valid.
URL https://example.com/, text Docs [v2] [Docs \[v2\]](https://example.com/) Brackets in link text are escaped — an unescaped ] would close the link early.
URL example.com/guide, text empty, auto-title on [Guide](https://example.com/guide) Missing scheme → https:// added; title guessed from the path slug.
URL https://example.com/guide, text Guide, reference mode, ID guide [Guide][guide]
[guide]: https://example.com/guide
Reference-style keeps long URLs out of the paragraph text.
URL https://example.com/logo.png, alt Logo, image mode ![Logo](https://example.com/logo.png) Markdown image syntax; wrap it in a link for a clickable image: [![Logo](https://example.com/logo.png)](https://example.com/).
Batch: https://a.com | A Site + https://b.com/docs - [A Site](https://a.com/)
- [Docs](https://b.com/docs)
One URL per line becomes a Markdown bullet list; add | text for custom labels.

All example outputs above were generated by this page's own engine and are covered by the automated test suite — the page eats its own dog food.

How the generator validates and cleans your input

Small details that keep the Markdown valid:

  • Scheme check. Only http:// and https:// are accepted. Schemes like javascript:, ftp:, data: and mailto: are rejected with an error — a javascript: URL inside Markdown is an XSS vector on sites that render it.
  • Auto scheme. Paste example.com/page and the tool prepends https:// for you.
  • Space encoding. Spaces and other unsafe characters become %20-style escapes, because a raw space terminates the (url) part in most Markdown parsers.
  • Text escaping. \, [, ], ( and ) in the link text get a backslash prefix so they cannot break the link syntax.
  • Title attribute. The optional tooltip is emitted as [text](url "title"); if your title itself contains a double quote, single quotes are used instead, per CommonMark.

URL to Markdown link — frequently asked questions

When should I use reference-style links instead of inline links?

Use reference-style links — [text][id] with a [id]: url definition at the bottom — when a URL appears more than once, when URLs are very long, or when you want the raw Markdown source to stay readable. Inline links — [text](url) — are better for one-off links because everything stays in one place. This tool generates both: pick “Reference” mode and it numbers the definitions for you.

Why does the link text need escaping?

In Markdown, a ] character inside the link text closes the text early, so [see docs [v2]](https://example.com) breaks — the renderer stops at the first ] and the link is malformed. Backslashes, [ ] and ( ) in link text should be escaped (for example, [see docs \[v2\]](https://example.com)). This generator escapes those characters automatically, and you can disable it with the “Escape Markdown characters” checkbox if you are embedding your own formatting.

What is the difference between a Markdown link and an HTML link?

They express the same thing in different syntaxes: HTML uses <a href="https://example.com">text</a> while Markdown uses [text](https://example.com). Markdown stays readable as plain text in READMEs, docs, and chat, and Markdown renderers convert it to an HTML anchor for you. Both support a hover tooltip — the title attribute in HTML, and [text](url "tooltip") in Markdown, which this tool can add via the optional “Link title” field.

What counts as a valid URL in this generator?

The URL must use the http:// or https:// scheme — javascript:, ftp:, data: and mailto: links are rejected, because those schemes can be abused for XSS or simply are not web links. If you omit the scheme, https:// is added for you, and spaces or other unsafe characters are percent-encoded (a space becomes %20). Invalid input shows a plain-language error instead of a broken link.

Can this tool fetch the page title automatically?

No — and that is deliberate. Everything runs 100% client-side in your browser with zero network requests, so the URLs you paste are never sent to any server (fetching a title would require a server-side proxy and would leak your links). Instead, “Auto-title from URL path” makes an offline guess from the last path segment — https://example.com/blog/how-to-write-markdown/ becomes “How To Write Markdown”. For accuracy, type or paste your own link text.

How do I make a clickable image in Markdown?

Nest an image inside a link: [![alt text](image-url)](link-url). The “Image” mode of this tool generates the inner image part — ![alt text](image-url) — and you can then wrap it in a link yourself, or use the Batch tab to build the list. The alt text is escaped just like link text, so brackets in it will not break the syntax.

Related tools

Free tool by NRTechStudio