LinkedIn Post Formatter ยท You
Free tools to write, style and preview LinkedIn posts
Now ยทPublic
Approximate fold: LinkedInโs โโฆsee moreโ cut varies with screen width.
Paste a draft from ChatGPT, Claude or your notes app, or open a .md file. Hash signs and asterisks turn into bold headings, bullets and numbered lists that LinkedIn can show.
314 / 3,000 characters
styled weight 384
58 words ยท 1 min read
2 hashtags
Fold 210
Limit 3,000
LinkedIn Post Formatter ยท You
Free tools to write, style and preview LinkedIn posts
Now ยทPublic
Approximate fold: LinkedInโs โโฆsee moreโ cut varies with screen width.
Guide updated
The editor above is a version of our LinkedIn post formatter that understands Markdown on the way in. It needs no account and keeps your text on your device.
The example already in the editor shows a typical AI draft after conversion. Replace it with your own and the preview follows as you type.
Markdown is a lightweight way of marking structure in ordinary text. It was designed so that a document stays readable even when nothing interprets it: a line starting with a hash sign is clearly a heading, a word wrapped in asterisks is clearly meant to stand out. That property made it the default notation for README files, developer documentation, forums, note apps and, more recently, the answers of large language models.
Chat assistants such as ChatGPT, Claude and Gemini generally write their replies in Markdown and let the chat window render them. Coding assistants and agent harnesses go further: they write commit messages, pull request descriptions, changelogs and project notes as Markdown files on disk. When you ask one of them to draft a launch announcement, the draft arrives in the same notation, often with a heading, a few bold phrases, a numbered list and sometimes a table or a horizontal rule.
There are two ways that notation reaches you. If you select the rendered answer and copy it, you usually get rich text, and the formatting travels as HTML. If you use the copy button many assistants offer, or open a file the tool saved, you get the raw Markdown with every symbol intact. This page is built for the second case.
LinkedIn posts are plain text. As far as anyone outside LinkedIn can observe, the post composer does not interpret Markdown at all, and there is no setting that turns it on. Paste a draft that says **Ship small** and your readers see two asterisks on each side of the words. A heading written as ## Three lessons keeps its hash signs, and a table turns into rows of vertical bars and dashes.
The symbols do more damage than they appear to. They make the post look unedited, which readers tend to notice in the first line, and that line decides whether anyone opens the rest. They also cost characters against the post limit, which LinkedIn sets at 3,000. A long AI draft can carry well over a hundred characters of pure notation.
The usual workaround is to delete the symbols by hand and add emphasis with a separate tool. That works for a short post but gets tedious with lists, tables and links, and it is easy to miss a stray underscore. The converter does the whole job in one pass and leaves you with text you can still edit. LinkedIn may change how its composer handles pasted text in future, so check the live post once after publishing.
The table lists every element the converter handles and what you get in each output. Styled output uses Unicode letters that look bold, italic or monospaced; plain output keeps only the words.
| Markdown | Styled output | Plain output |
|---|---|---|
Heading, # to ######, or a line underlined with === or --- |
The heading text in bold sans, on its own line | The heading text on its own line |
**bold** or __bold__ |
Bold sans letters | The words without the asterisks |
*italic* or _italic_ |
Italic sans letters | The words without the markers |
***both*** |
Bold italic sans letters | The words without the markers |
~~struck~~ |
Letters with a strikethrough line | The words without the tildes |
| Inline code in backticks | Monospace letters | The code without backticks |
Bullets with -, * or + |
A โข at the start of the line; nested items indent and use โฆ | The same |
Numbered items, 1. or 1) |
The number kept, followed by a full stop | The same |
Task items, - [ ] and - [x] |
โ for open and โ for done | The same |
Quote lines starting with > |
The text in italic, markers removed | The text, markers removed |
A rule, ---, *** or ___ |
A short line of em dashes | The same |
| Fenced code block | The lines exactly as written, fences removed | The same |
| Indented code block | The lines as written, minus the four-space indent that marks them as code | The same |
| Link in brackets | The link text followed by the address in brackets | The same |
| Image | The alt text, or nothing when it is empty | The same |
| Table | Bold header row, then one line per row with cells joined by a middle dot | The same, header not bold |
| HTML tags | Removed, the text inside kept; a line break tag starts a new line | The same |
| Footnotes | Markers removed, notes collected at the end | The same |
Backslash escapes are honoured, so \* gives a literal asterisk instead of starting italics. Emoji, hashtags and addresses pass through untouched, and blank lines are tidied so the post never starts or ends with empty space.
The editor starts with the styled version because it keeps the intent of the draft. A bold heading still reads as a heading in the feed, and a bold phrase still stands out. These styles come from the mathematical alphabets in Unicode, the same characters the bold text generator and the Unicode fonts page produce, so they survive the paste into LinkedIn.
They also carry the same costs. A styled word is a different sequence of characters from the plain word, so search on LinkedIn and on search engines treats it as unrelated text. Screen readers handle the letters unevenly, from reading them normally to spelling out long character names. Most styled letters also count as two units towards the character limit, which the character counter shows as the styled weight.
Press Plain text when any of that matters more than the look:
You can also mix the two: convert to plain, then bold one phrase again with the toolbar. If you already have styled text from elsewhere, the plain text converter does the same reverse step on its own page.
Press Open .md file above the editor and choose a file ending in .md, .markdown or .txt. Your browser reads the file locally; it is never uploaded. The text is converted with the styled output and replaces what is in the editor. A metadata block at the very top of the file, the lines between two --- markers that note apps and site generators add for titles and tags, is left out of the post.
If the editor held text you had written, that text is saved to Drafts first, with a short message to say so, and Undo also brings it back. The example post the page starts with is simply replaced. Files over 1 MB are refused with an error and the editor stays as it was, since a post that size would be far beyond the post limit anyway.
This is handy when a coding assistant or agent writes its output to disk. A release summary in a file such as CHANGELOG.md or a draft saved by a writing tool can go straight into the editor without opening it in another app first. When the file holds several sections, delete the parts you do not want after it loads, and watch the post preview to see how much fits above the fold.
The converter aims to give you a clean post, not a perfect copy of a rendered document, because LinkedIn simply has fewer ways to show structure.
Read the preview before you copy. If a symbol slipped through, remove it in the editor; it is ordinary text there.
Quick answers about styled text, limits, privacy and how LinkedIn shows your post.
Back to the formatterChat assistants usually write their answers in Markdown, a plain-text notation where two asterisks mean bold and a hash sign starts a heading. The chat window reads that notation and draws the formatting, but when you copy the raw text and paste it into LinkedIn, the post box shows the symbols as typed. As far as anyone outside LinkedIn can observe, posts do not interpret Markdown, so the asterisks stay on screen. Converting the draft first replaces each piece of notation with something LinkedIn can display.
Yes. Paste or open your Markdown, then press Plain text above the editor. Every styled letter becomes an ordinary letter again, while the structure stays: bullets, numbers, line breaks and the dividers that replaced rules. That version suits places where styled Unicode is a poor fit, such as job applications, email, other social networks or any text you want people to find through search.
It works with any tool that writes Markdown, because the converter reads the notation rather than the tool. That covers chat assistants, coding assistants that write README files and release notes, note apps such as Obsidian, and documentation tools. If you copied the rendered answer instead, the clipboard usually carries formatted text alongside a plain version. When that plain version still contains Markdown symbols, this page converts it; otherwise the editor keeps the formatting it receives, and you can tidy the rest with the toolbar.
LinkedIn has no tables, so each table row becomes one line with the cells separated by a middle dot, and the header row is set in bold. Fenced code blocks lose their fences and keep their lines exactly as written, without styling, so commands and snippets stay copyable. Short inline code inside a sentence becomes monospace letters, or plain letters when you choose the plain output.
No. When you open a .md file, your browser reads it on your own device and the conversion runs in the page. Nothing is sent to our servers and there is no account. Files larger than 1 MB are refused with a message, because a LinkedIn post is limited to 3,000 characters and a file that size is almost certainly not a post.
Yes. Emoji, hashtags and web addresses pass through unchanged. A Markdown link such as a word in square brackets followed by an address in round brackets becomes the word followed by the address in brackets, because LinkedIn posts cannot hide an address behind text. When the link text is already the address, only the address is kept, so it does not appear twice.