Logo

MonoCalc

/

LinkedIn Post Formatter

Social Media
Line breaks are preserved exactly as you type them. Nothing leaves your browser and no network request is made.

Insert a bullet or divider at the cursor

The composer has no list formatting at all, so a bullet is an ordinary character pasted into the text. Each one costs exactly what it looks like it costs.

Formatting

Trailing spaces are invisible but they still count and they shift the fold. Moving hashtags is a mechanical relocation that keeps their order and drops case-insensitive duplicates — this tool makes no claim that either arrangement performs better.

Off by default. Read the warning below before turning this on. Hashtags, mentions and links are never styled, because styling breaks them.

Limits and counts

Default 3000 — widely reported post limit, last checked 2026-09-04. Not published by us; edit it if your composer differs.
Default 140 — widely reported truncation point before "…see more" on a narrow viewport, last checked 2026-09-04.
Default 210 — the same on a wide viewport. Both vary by device, font size and language: treat the fold line as approximate.

Characters (graphemes)

0

What a reader counts

UTF-16 code units

0

What many fields cap on

Words

0

Paragraphs

0

0 lines

3000 left of 3000

Mobile fold: 140

Desktop fold: 210

Feed preview

Switching width changes both the column the text wraps in and which fold threshold is used.

Your post will appear here.

Approximate preview — actual truncation varies by device, font size and app version. This is a neutral wireframe drawn from your own text, not a view of anything live.

Text above the fold

0 of 140 characters shown

What is in the post

Hashtags

0

0 unique

Mentions

0

0 unique

Links

0

Emoji

0

0 unique

Line by line

LineTextCharactersUTF-16FoldTrailing spacesInvisible
Nothing to measure yet.

Formatted post

The button copies the raw text with every line break intact, never the rendered preview.

About This Tool

LinkedIn Post Formatter – Draft, Count and See the Fold

A feed post is written in a box that shows you everything and published into a card that shows almost nothing. Somewhere in the first line or two the text stops and a …see more link takes over. This LinkedIn post formatter rebuilds your draft, counts it the way a reader counts it, and draws a neutral feed card with a rule across the body marking exactly where the cut falls. Everything happens in your browser — nothing is uploaded and no network request is made.

Where the cut falls, and why it moves

The fold is not a fixed number of characters. It is whatever fits in the space the app gives a post before collapsing it, so it shifts with viewport width, font size, accessibility settings, language and whichever build of the interface a reader is served. That is why there are two thresholds rather than one — a narrow default of 140 and a wide default of 210 — and why both are editable. The Mobile / Desktop toggle switches between them and re-renders the card at a matching column width, because wrapping changes what fits. The text that survives the cut is printed underneath as a copyable string with its own count.

The character limit is reported, not published

The familiar 3,000-character post limit is widely repeated and not documented to us, so the limit here is an editable input rather than a constant hidden inside the arithmetic. Each default carries the date it was last checked, and every figure on the page follows whatever you type. Going over produces a neutral note that you are over your own limit by so many characters — never a claim about what the platform will accept.

Approximate, by design
The feed card is a wireframe drawn from your text — no branding, no live data, no fetch of anything real. Real truncation varies by device, font size and app version, so treat the fold line as a close guide rather than a guarantee.

Counting the way a reader counts

A family emoji is eight UTF-16 code units, a flag is four, and é written as e plus a combining accent is two. Counting with String.length would disagree with the person reading the post, so every character figure here is a count of grapheme clusters, measured with Intl.Segmenter on a locale pinned to English so the same text can never count differently on two machines. The UTF-16 number is shown beside it, clearly labelled, because that is what many input fields actually cap on. Neither is presented as "the" count, and nothing is ever cut mid-emoji, mid-accent or mid-URL: when the threshold lands inside a web address the preview snaps back to the start of that address and says so.

Line breaks, bullets and hashtags

The composer offers no bold, no italic and no list markup at all, so a bullet is simply a bullet character typed into the text. The inserter drops •, ▸ and → at the cursor as plain characters that cost exactly what they look like. Carriage returns are normalised, trailing spaces are flagged per line — invisible, but they still count and still shift the fold — and hashtags can be gathered into a trailing block, in order and deduplicated. The inventory reports how many hashtags, mentions, links and emoji the post contains. It reports; it does not advise, and it offers no score.

Mentions, links and stylised text

An @mention pasted as text stays plain text: the composer only links one chosen from its own autocomplete. Every address in the preview is checked against an http/https allow-list before it is rendered as a link, and anything else is drawn as inert text. The optional stylised-text pass — the Unicode symbols people use to fake bold — defaults to off and carries a permanent warning when on, because screen readers cannot read those symbols and search will not match them. Hashtags, mentions and links are always excluded from it, since styling them stops them working.

Frequently Asked Questions

Is the LinkedIn Post Formatter free?

Yes, LinkedIn Post Formatter is totally free :)

Can I use the LinkedIn Post Formatter offline?

Yes, you can install the webapp as PWA.

Is it safe to use LinkedIn Post Formatter?

Yes, any data related to LinkedIn Post Formatter only stored in your browser (if storage required). You can simply clear browser cache to clear all the stored data. We do not store any data on server.

How does this LinkedIn post formatter work?

You paste the post you are drafting and the tool rebuilds it in your browser: line breaks are normalised, trailing spaces are flagged, bullet characters can be dropped in at the cursor, and hashtags can be gathered into a trailing block. Beside it, a neutral feed card is drawn from your own text with a rule across it marking where the '…see more' cut falls, so you can see the visible and hidden halves before you post. Nothing is uploaded and no network request of any kind is made.

Why does the '…see more' cut move between devices?

The fold is not a fixed number of characters. It is whatever fits in the space the app gives the post before it collapses, so it shifts with viewport width, font size, the reader's accessibility settings, the language and whatever version of the interface they happen to be served. The two thresholds here default to 140 for a narrow viewport and 210 for a wide one because those are the numbers most widely reported, but both are editable fields and the preview is labelled as approximate rather than exact.

Is the 3,000-character limit official?

It is widely reported rather than published to us, which is why the limit is an editable number field instead of a constant inside the arithmetic. The default of 3,000 was last looked at on 2026-09-04. If the composer you are pasting into behaves differently, change the number and every count, meter mark and remaining figure follows it. Going over produces a neutral note that you are over your own limit by so many characters — never a claim about what the platform will accept or reject.

Why are two different character counts shown?

Because both are real and they disagree. The grapheme count is what a reader sees, measured with Intl.Segmenter on a locale pinned to English so the number cannot drift between machines, and it treats a family emoji, a flag or an accented letter as one character. The UTF-16 count is what many input fields actually cap on, where that same family emoji can cost eight. Showing only one would hide whichever wall you are about to hit, so both are labelled and neither is presented as the count.

Why does fake bold text cause problems?

The composer has no bold or italic, so people paste Mathematical Alphanumeric Symbols that merely look like letters. VoiceOver, TalkBack and NVDA announce them one symbol name at a time or skip them entirely, and because they are not letters, in-app search and search engines will not match them. The option here is off by default and carries that warning beside the output whenever it is on. Hashtags, mentions and links are never styled, because a styled tag or address stops working.

Can this tool read or post to my real LinkedIn account?

No, and it does not try. There is no public keyless endpoint it could read a post or a profile from, and the whole tool is static files running in your browser with no server behind it. The feed card is a wireframe drawn from the text you typed — no logos, no branding, no live data. One related fact worth knowing: an @mention that is pasted as text stays plain text, because the composer only turns a mention into a link when you pick the person from its own autocomplete.