Free Tool

Markdown to LinkedIn Post Converter

This Markdown to LinkedIn post converter turns a ChatGPT, Claude or agent draft into text LinkedIn shows cleanly: bold words, bullet lists and readable links, with no stray asterisks or pound signs. It runs in your browser and nothing is uploaded.

How to post Markdown on LinkedIn

LinkedIn does not render Markdown, so asterisks and pound signs show up as typed. Convert bold to Unicode bold, headings to bold lines and lists to bullet characters, then paste. This converter does it in one step.

Bullets
Links
๐Ÿฏ ๐—น๐—ฒ๐˜€๐˜€๐—ผ๐—ป๐˜€ ๐—ณ๐—ฟ๐—ผ๐—บ ๐˜€๐—ต๐—ถ๐—ฝ๐—ฝ๐—ถ๐—ป๐—ด ๐—ถ๐—ป ๐—ฝ๐˜‚๐—ฏ๐—น๐—ถ๐—ฐ Most founders wait too long to share. Here is what ๐Ÿฏ๐Ÿฌ ๐—ฑ๐—ฎ๐˜†๐˜€ ๐—ผ๐—ณ ๐—ฝ๐—ผ๐˜€๐˜๐—ถ๐—ป๐—ด taught me: 1. ๐—ง๐—ฎ๐—น๐—ธ ๐˜๐—ผ ๐˜‚๐˜€๐—ฒ๐—ฟ๐˜€ ๐—ณ๐—ถ๐—ฟ๐˜€๐˜. Ten calls beat ten features. 2. ๐˜š๐˜ฉ๐˜ช๐˜ฑ ๐˜ด๐˜ฎ๐˜ข๐˜ญ๐˜ญ, ๐˜ด๐˜ฉ๐˜ช๐˜ฑ ๐˜ธ๐˜ฆ๐˜ฆ๐˜ฌ๐˜ญ๐˜บ. Momentum compounds. 3. Write about it, even when it feels early. ๐—ช๐—ต๐—ฎ๐˜ ๐—œ ๐˜„๐—ผ๐˜‚๐—น๐—ฑ ๐˜€๐—ธ๐—ถ๐—ฝ โ€ข Polishing the landing page before anyone visits โ€ข Building a waitlist: https://example.com/waitlist with no follow-up โ€ข Tracking vanity metrics like page_views โ€œThe best time to start posting was a year ago.โ€ What would you add? #buildinpublic
LinkedIn count622 / 3,000

UTF-16 code units of the text readers see. Unicode styling adds 92.

Before "...see more", roughly158 characters

๐Ÿฏ ๐—น๐—ฒ๐˜€๐˜€๐—ผ๐—ป๐˜€ ๐—ณ๐—ฟ๐—ผ๐—บ ๐˜€๐—ต๐—ถ๐—ฝ๐—ฝ๐—ถ๐—ป๐—ด ๐—ถ๐—ป ๐—ฝ๐˜‚๐—ฏ๐—น๐—ถ๐—ฐ Most founders wait too long to share. Here is what ๐Ÿฏ๐Ÿฌ ๐—ฑ๐—ฎ๐˜†๐˜€ ๐—ผ๐—ณ ๐—ฝ๐—ผ๐˜€๐˜๐—ถ๐—ป๐—ด taught me:

Unicode bold is not read like normal text

Screen readers may not read styled letters as words, and LinkedIn search may not match a styled word to a plain-text search. Turn off Unicode bold for clean plain text, or keep bold to headings and short phrases. Links, #hashtags and @mentions are always left plain.

Why the API version has backslashes

LinkedIn's Posts API reads post text as little text format, where | { } @ [ ] ( ) < > # \ * _ ~ are markup. A raw parenthesis or other reserved character can cut the post off. Send via API escapes each one (2 in this post), so #hashtags and @mentions then publish as plain text, not links. Why parentheses truncate API posts.

What each piece of Markdown becomes on LinkedIn

LinkedIn's composer has no Markdown support or bold button, so every Markdown marker has to turn into something LinkedIn shows as plain text.

MarkdownOn LinkedIn as typedAfter conversion
**bold****bold**๐—ฏ๐—ผ๐—น๐—ฑ (Unicode bold)
*italic**italic*๐˜ช๐˜ต๐˜ข๐˜ญ๐˜ช๐˜ค (Unicode italic)
## Heading## Heading๐—›๐—ฒ๐—ฎ๐—ฑ๐—ถ๐—ป๐—ด on its own line
- item- itemโ€ข item, โ†’ item or โœ“ item
[text](https://site.com)[text](https://site.com)text: https://site.com
`code``code`code
![alt](image.png)![alt](image.png)Removed
<b>html</b><b>html</b>html

More than one blank line in a row collapses to one, and numbered lists keep their numbers. To style single words by hand instead, use the LinkedIn text formatter.

Posting agent Markdown to LinkedIn

AI agents write Markdown by default. Which version to send depends on what publishes the post.

Calling LinkedIn's Posts API yourself

Convert, then escape. Use the Send via API version as the post commentary, or run your own escape on the converted text before the request. Raw Markdown sent this way can lose text at a reserved character.

Posting through OpenTweet

Convert only. OpenTweet's API and MCP server escape LinkedIn's reserved characters for you, so send the Paste into LinkedIn version. Escaping twice publishes visible backslashes. Setup for Claude Code is in how to get Claude Code to post to LinkedIn.

Post the converted text to LinkedIn, X and Bluesky

OpenTweet publishes one draft to your LinkedIn personal profile, X and Bluesky from the composer, the REST API or the MCP server. It counts LinkedIn in UTF-16 code units against 3,000, like this tool, and escapes LinkedIn's reserved characters so your text publishes as written.

7-day free trial, then from $11.99/mo. Bluesky and LinkedIn on every plan.

Markdown to LinkedIn FAQ

Does LinkedIn support Markdown?

No. As of October 2026, LinkedIn's post composer has no Markdown support and no bold button, so **double asterisks**, # pound signs and - dashes appear exactly as typed. To get bold on LinkedIn you paste Unicode letters that are drawn bold, and lists need real bullet characters. This converter does both in one step.

Why do asterisks show up in my LinkedIn post?

Because the text was written in Markdown. ChatGPT, Claude and most AI agents wrap bold words in ** and headings in #, and LinkedIn shows those characters as plain text. Paste the draft into the converter above and copy the result: the bold words become Unicode bold and the markers disappear.

Does Unicode bold hurt accessibility on LinkedIn?

It can. Screen readers may not read styled Unicode letters as words, and LinkedIn search may not match a styled word to a plain-text search. Turn off Unicode bold above to get clean plain text, or keep bold to a heading or a short phrase and leave names, keywords, hashtags and links plain.

Does bold text count more against LinkedIn's 3,000 character limit?

Yes. Counted in UTF-16 code units, the strict reading of LinkedIn's 3,000 limit, most bold and italic letters cost 2 units while a plain letter costs 1. The counter above shows the live count and how many units the styling adds.

How should an AI agent send formatted text to LinkedIn through the API?

Convert the Markdown first, then escape it for the API you call. LinkedIn's Posts API reads the commentary field as little text format, where * _ # ( ) [ ] and a few other characters are markup, so a raw parenthesis or other reserved character can cut the post off or drop characters. If you call LinkedIn directly, use the Send via API tab, which backslash-escapes every reserved character. If you post through OpenTweet's API or MCP server, send the Paste into LinkedIn text instead: OpenTweet escapes reserved characters itself, and escaping twice would publish visible backslashes.

What happens to links, images, tables and code?

Links become "text: URL", or just the URL if you choose URL only, because LinkedIn shows a bare URL and makes it clickable. Images and HTML tags are removed, since a post cannot embed them inline. Inline code becomes plain text, code blocks keep their lines, and table rows become lines with cells separated by a pipe.