complete.tools

Text to Markdown

Turn plain text into Markdown: bullet and numbered lists are tidied, web addresses and email addresses become links.

What this tool does

Turn plain text into Markdown: bullet and numbered lists are tidied, web addresses and email addresses become links. You fill in these fields: Plain text. Tick boxes adjust the calculation. It shows markdown, web addresses linked, email addresses linked, list items found, and lines read.

Inputs

  • Plain text: Longer text, up to 100000 characters. Paste the text to convert. Line breaks are kept.
  • Tidy bullet and numbered lists: A tick box, ticked to start.
  • Turn web addresses into links: A tick box, ticked to start.
  • Turn email addresses into links: A tick box, ticked to start.
  • Make the first line a heading: A tick box, off to start.
  • Keep blank lines: A tick box, ticked to start.

How to use

  1. Type the plain text.
  2. Tick "Tidy bullet and numbered lists" if it applies.
  3. Tick "Turn web addresses into links" if it applies.
  4. Tick "Turn email addresses into links" if it applies.
  5. Tick "Make the first line a heading" if it applies.
  6. Tick "Keep blank lines" if it applies.
  7. Read the result: markdown, web addresses linked, email addresses linked, list items found, and lines read. It appears once every required field has a valid value.
  8. Use the copy button to copy the text.

Worked examples

Example 1. Inputs:

  • Plain text: "Shopping list * milk • eggs 1) first 2. second"
  • Tidy bullet and numbered lists: Yes
  • Turn web addresses into links: Yes
  • Turn email addresses into links: Yes
  • Make the first line a heading: No
  • Keep blank lines: Yes

Results:

  • Web addresses linked: 0
  • Email addresses linked: 0
  • List items found: 4
  • Lines read: 5

How this is worked out: Five lines. Line 1 has no marker so it is unchanged. '* milk' and the dot bullet line both become '- ' lines (2 items). '1) first' becomes '1. first' (3rd item). '2. second' already has the Markdown form but still matches the numbered pattern (4th item). No links.

Example 2. Inputs:

  • Plain text: "Visit https://example.com/docs, then write to [email protected]."
  • Tidy bullet and numbered lists: Yes
  • Turn web addresses into links: Yes
  • Turn email addresses into links: Yes
  • Make the first line a heading: Yes
  • Keep blank lines: Yes

Results:

  • Web addresses linked: 1
  • Email addresses linked: 1
  • List items found: 0
  • Lines read: 1

How this is worked out: The web address runs to 'https://example.com/docs,' and the trailing comma is punctuation, so the link is 'https://example.com/docs' and the comma stays outside. The email is '[email protected]' with the final full stop left outside. One line, so the heading prefix '# ' goes on it.

Example 3. Inputs:

  • Plain text: "Café menu - crème brûlée"
  • Tidy bullet and numbered lists: Yes
  • Turn web addresses into links: Yes
  • Turn email addresses into links: Yes
  • Make the first line a heading: Yes
  • Keep blank lines: No

Results:

  • Web addresses linked: 0
  • Email addresses linked: 0
  • List items found: 1
  • Lines read: 6

How this is worked out: After turning CRLF into line breaks the lines are: '', '', 'Café menu', '', ' - crème brûlée', '' (6 lines). Blank lines are dropped. The heading goes on the first non-blank line, 'Café menu'. The indented bullet keeps its 2-space indent and its inner spacing (3 spaces) and counts as 1 list item.

Example 4. Inputs:

  • Plain text: "see https://a.com and [email protected] * item"
  • Tidy bullet and numbered lists: No
  • Turn web addresses into links: No
  • Turn email addresses into links: No
  • Make the first line a heading: No
  • Keep blank lines: Yes

Results:

  • Web addresses linked: 0
  • Email addresses linked: 0
  • List items found: 0
  • Lines read: 3

How this is worked out: With every detection option off nothing is rewritten, so the output equals the input. Three lines (the middle one blank), no links, no list items.

Limitations

  • It recognises only the list, web address and email patterns described above. Bold, italics, tables and code are not detected.
  • Only addresses that start with http:// or https:// are linked, not bare domain names like example.com.
  • When list tidying is on, a first line that is a list item does not get the heading mark, and no other line gets it instead.
  • Any line that starts with a number and a full stop or closing bracket is treated as a list item, even a sentence such as '2024. A good year'.
  • Characters that already mean something in Markdown, such as #, *, _ and backticks, are not escaped, and links in text that is already Markdown are wrapped a second time.
  • Line breaks are kept in the Markdown text, but most Markdown viewers join lines that have no blank line between them into one paragraph.
  • Lines read counts every line, including blank ones and an empty last line after a final line break.

FAQs

Q: Which list markers are recognised?
A: Lines that start with a hyphen, an asterisk or a bullet dot followed by a space become '- ' items. Lines that start with digits followed by a full stop or a closing bracket and a space become 'N. ' items. Indentation is kept.
Q: Does it create headings or paragraphs?
A: Only one heading: you can make the first non-blank line a '# ' heading. It does not guess other headings, bold text or paragraphs.
Q: What happens to punctuation after a web address?
A: A full stop, comma, semicolon, colon, exclamation mark, question mark, closing bracket or quote at the very end of an address is left outside the link. A closing round bracket stays in the link when it closes an opening one inside the address.
Q: Is my text uploaded?
A: No. The conversion is a set of text rules that runs in your browser.

Explore Similar Tools

Explore more tools like this one: