Free tools

Ghost line break generator

A Ghost line break generator stops your paragraph spacing collapsing when a post is submitted. Several networks trim repeated newlines as a post is saved, so the gaps you left disappear and the text arrives as one block. This tool puts an invisible character on each blank line, which makes it a line with content in it and gets it through the trim.

1 blank line filled with braille blank.

Survives the most networks. It is a real character, so assistive technology may announce it.


How to use it

  1. Paste your draft with the blank lines exactly where you want them.
  2. Pick a filler. Braille blank survives more networks; zero-width space is genuinely invisible but is stripped more often.
  3. Check the count under the box, which tells you how many blank lines were filled.
  4. Press Copy on the spaced version.
  5. Paste it into Ghost. If the spacing still collapses, switch to the other filler and paste again.

Why the gaps vanish between the composer and the post

The text you type is cleaned before it is stored. Leading and trailing spaces go, and runs of newlines are usually squeezed down to one. Your two paragraphs arrive with a single break between them, or with none, and nothing in the interface warned you it was going to happen.

This is deliberate rather than broken. Without that trim, anyone could post forty blank lines and take over a screen's worth of feed, and everyone would, because it works. The trim is the network defending the shape of its own timeline, and it is the same reason the workaround has to be a character rather than more whitespace.

The composer and the API clean text differently

A post made through a network's own web composer and the same post made through its API can arrive with different spacing. The composer often normalises your text in the browser before anything is sent. The API takes what the caller gives it and applies the server rules only. Two paths, two chances to lose a blank line.

That is why a scheduling tool and the native app can disagree about the same draft. Neither one is broken. They are hitting different code. Test whichever route you publish through, because a good result from the other route does not carry over.

The mobile app and the web client

The same account, the same field and the same draft can behave differently depending on which client typed it. A mobile keyboard can insert characters of its own, a mobile app may trim the text before it posts, and a web client may leave that job entirely to the server.

What you see is a post that keeps its paragraphs when written on a laptop and loses them when written on a phone. If you draft in one place and publish from another, test the combination you actually use rather than the one you tested last year.

Captions, comments and bios are separate fields

Where it gets awkward is that the rule is not one rule. A caption, a comment, a reply and a bio are separate fields on most networks and can be cleaned by separate code, and a mobile app can normalise your text before it ever reaches the server, which means the same draft behaves differently depending on where you typed it. So test the field you are actually posting into. A caption that keeps its spacing tells you nothing about the bio.

Treat each field as its own experiment. The bio is the one most likely to collapse everything, since some networks store it as a single line by design, and a gap that survived in a caption says nothing about the comment underneath it.

Video descriptions belong on the list as well, and they are the field people check least, because almost nobody scrolls their own description after an upload finishes. That is the field where a collapse can sit for a year before a viewer mentions it.


Braille blank or zero-width space, and why we do not pick for you

There is no answer that is right everywhere, which is why the tool gives you both. Braille is the default here because a lost blank line is the failure you notice and the one that ruins the post. If a listener hearing a filler on every gap matters more to you than surviving a strip, choose the zero-width space and check the result on the network before you rely on it.

Braille pattern blank, U+2800

The braille pattern blank, U+2800, is the braille cell with no dots raised. It is an ordinary graphic character that happens to draw nothing, which is the whole point: a line containing it is not an empty line, so the trim leaves it alone. It survives on more networks than anything else, and it is what most creators end up using.

The cost is that it is a real character with a real identity. Assistive technology may announce it at every gap, so someone listening to your post hears an interruption between each paragraph. Some fonts also render the cell slightly wide, which can leave a visible notch rather than clean empty space.

Zero-width space, U+200B

The zero-width space, U+200B, has the opposite profile. It is a formatting character with no width at all, so nothing can render it and nothing shows. It is also exactly the kind of character a sanitiser is written to remove, so more networks strip it on the way in, and when they do your paragraphs quietly join back together with no sign anything was tried.

Learn what a strip looks like, because it does not announce itself. The post publishes, every word is there, and the paragraphs are simply back to back. If you paste a spaced version and the result has no gaps at all, the filler was removed rather than ignored, and the braille blank is the next thing to try.

When both fillers get stripped

A few fields remove anything that is not a printing character, which takes out both options at once. The spacing is then not available to you and the fix becomes editorial. Shorten the post so it does not need the air, or split it into a thread where each part is its own post and the break comes for free.

People do reach for visible characters at this point, a full stop on its own line or a small dot. It works, and it looks like what it is. Anyone who has seen the trick before reads a line of punctuation between every paragraph as a workaround, so weigh that against the spacing you were trying to keep.


What the tool touches, and what it cannot fix

Only lines that are empty after trimming get a filler. A line with words in it is copied through untouched, so your text is never edited, and a single newline inside a paragraph is left alone because a single newline is not what gets collapsed.

When the network strips the filler as well

Two things stay outside its reach. If a network strips the filler character itself, the fix is gone and the other filler is your next move. And if a network caps how many lines a post may contain, or truncates the preview after a certain number of lines, filling blanks will not buy you more room. It restores the spacing you meant, and nothing beyond that.

One more case belongs in this family. A network can keep the filler and still show the post collapsed in the feed card, because the card and the full post view are drawn by different code. Open the post itself before you decide the spacing failed.

A gap costs you a line above the fold

Feeds truncate. The post is printed down to some cut and then a control appears to open the rest, and every blank line you protect above that cut is a line of the preview spent on nothing. Two short paragraphs with air between them can push the sentence that was doing the work out of view entirely.

So put the gaps after the opening rather than inside it. The first thing anyone sees should be words, and the formatting can begin once the reader has a reason to keep going.

What each blank line costs in characters

The fillers are characters, so they cost you length. Each protected blank line spends one character plus its newline. That is small until a post with ten gaps in it sits right on the limit, at which point it is the difference between publishing and not.

The character counter on this site measures whatever you paste into it, so paste the spaced version rather than the draft you started from. That is the version the network receives, and it is longer than the one in front of you.


Spacing is not structure

Getting the gaps back is worth doing. Paragraphs are how a reader knows where one idea ends, and a post that arrives as a single block gets abandoned halfway more often than the same post with air in it.

It does not follow that more air is better. A post that needs eight blank lines to be readable has a length problem wearing a formatting problem's clothes. Two short paragraphs beat one long paragraph, and one short paragraph often beats both.

The line worth not crossing is spacing used to occupy space: a wall of empty lines to push a post taller in the feed, or to hide the punchline below the fold. Readers recognise it and networks trim it, and the trim is the reason this page exists in the first place.

The stacked bio

A bio is where the collapse hurts most, because the whole job of the field is to say a few unrelated things about an account and a run-on sentence says them badly. Your name, what you do, and the reason to click the link each want a line of their own so a stranger can take them in at a glance.

It is also the field most likely to strip the filler, since some networks store a bio as a single line by design. If both fillers come back joined up, that network simply does not take spacing there, and the fix turns editorial: shorten each part until the run-on reads as a list anyway.

An ask that sits on its own line

A request buried at the end of a paragraph gets read as part of the paragraph. On its own line with air above it, it gets read as a request. This is the cheapest formatting win available and the one people most often lose to a collapse, since the ask is usually the last thing in the post and the last gap is the one that vanishes.

One ask, though. A post with a gap before every sentence has taught its reader that a gap means nothing, and the line you wanted to stand out is standing in a crowd.

Lists, steps and anything numbered

Almost no composer offers a bullet list, so a list on social is a run of short lines you spaced by hand. Keeping those lines apart is the difference between a list and a paragraph with numbers scattered through it, and it is the case where losing the spacing does the most damage to the meaning rather than to the looks.

It is also the case where a reader notices fastest. Nobody misreads a collapsed paragraph as deliberate. A collapsed list looks like a mistake, because the numbers are still there marking where the breaks should have been.

Anything you send more than once

Text written once and reused, an outreach message or the description under every video, is worth spacing properly one time and keeping. A template that collapses does it on every send, which multiplies a small ugliness by however often you use the thing.

Store the spaced version rather than the plain one and paste from that. Regenerating the spacing each time is how a version without it eventually goes out on a busy afternoon.

The tag block at the end

Where a post finishes with a block of tags, giving it a gap of its own keeps it from reading as the tail of your last sentence. Nothing about the spacing changes what the network matches: the filler sits alone on the empty line and is not part of any tag below it.

If the tags are collapsing into your closing line, that is the same trim as everywhere else, and the same filler fixes it.


Questions

Why does Ghost remove my blank lines?

The field is cleaned before your post is stored, and runs of newlines are collapsed as part of that cleanup, which keeps anyone from claiming a screenful of feed with empty space. It is a normal part of how the text is saved rather than a fault in your draft.

Do the invisible characters count towards the character limit?

Ghost documents no length cap for this field. Each protected blank line adds one character for the filler plus its newline, so ten gaps cost twenty characters. Paste the spaced version into the character counter if you are close to the ceiling.

Which filler should I choose?

Start with the braille blank, since it survives the most networks. Switch to the zero-width space if you need the gap to be truly invisible or if you would rather assistive technology said nothing at each break, and then check that the network kept it rather than stripping it.

Will the invisible character show up as a box?

It should not, because both characters are meant to render as nothing. A font missing the glyph can draw a placeholder box for the braille blank, which is one more reason to look at the published post on a phone rather than trusting the composer.

Does the tool change my actual text?

No. It only touches lines that are empty once whitespace is trimmed off them. Every line with content in it is copied through exactly as you wrote it, and the work happens in your browser with nothing uploaded.

Can I do this on a phone?

Yes. The page runs in a mobile browser like any other, so you can paste the draft in, copy the spaced version, switch to the app and paste it there. The filler characters travel through the clipboard the same way an ordinary letter does.

Will the spacing survive if I paste it somewhere else?

The characters will, because they are ordinary text. Whether the gaps survive depends on the field you paste into, since every field cleans its input on its own rules. A spaced version that works in a caption is worth testing again in a comment, in a bio, and in any other app you send it through.

Do blank lines change how far a post travels?

No network publishes a ranking rule about whitespace and we are not going to invent one. What can be said without guessing is that a post people can read gets read further down, and a block of unbroken text loses people somewhere in the middle.

Do hashtags still work below a spaced line?

Yes. The filler sits by itself on the blank line and is not part of anything on the line beneath it, so tags underneath a protected gap are matched exactly as they would be with no spacing at all.


Support status

Can GrowSocialelion post to Ghost?

Yes. Ghost is live today: connect it, let the agent draft and schedule, approve, and it publishes. See the status of all 49 networks.