Suped

Will using non-breaking spaces and soft hyphens in email templates affect inbox placement?

Matthew Whittaker profile picture
Matthew Whittaker
Co-founder & CTO, Suped
Published 5 Jun 2025
Updated 26 May 2026
9 min read
Summarize with
Email template spacing characters shown as a clean inbox preview concept.
Using non-breaking spaces and soft hyphens in an email template does not usually hurt inbox placement by itself. Mailbox providers do not normally penalize a message just because it contains  , ­, ‌, or similar invisible characters. The bigger question is why they are there, how much hidden content the email contains, and whether the code breaks rendering in Gmail, Apple Mail, Outlook, Yahoo, and mobile clients.
The common case is hidden preheader padding. It is used to stop body copy, navigation labels, alt text, or legal text from being pulled into the inbox preview after the actual preheader. That code can look ugly in source, but ugly source is not the same thing as spammy source. I still test it because some versions leak visible boxes, odd gaps, or stray characters in the preview area.
  1. Direct answer: No, these characters alone are not a meaningful inbox placement problem.
  2. Real risk: Repeated hidden code can create rendering, accessibility, or quality signals when overused.
  3. Best action: Send real test emails, inspect the preview text, and compare results across major clients.

What these characters usually do

Non-breaking spaces, soft hyphens, zero-width non-joiners, and narrow spacing entities have normal uses in HTML. In email, they are often pressed into a more practical job: controlling what appears after the preheader in the inbox list. The visible preheader can say "Your invoice is ready", but without padding the inbox preview can continue with "View in browser", "Unsubscribe", a menu label, or the first paragraph of body copy.
That is why many templates include a hidden div full of spacing entities after the preheader. It pushes unwanted content out of the preview field. Microsoft has public discussion of non-breaking spaces in HTML contexts, but email adds a client compatibility layer because every mailbox app parses hidden text differently.

Entity

Meaning

Email use

Risk

 
No-break space
Preheader padding
Low
­
Soft hyphen
Line control
Low
‌
Zero-width non-joiner
Preview spacing
Low
 
Figure space
Padding
Low
Common invisible characters in email template source.
The answer changes when these characters are used to hide deceptive text, stuff keywords, obscure words, or make the visible body differ sharply from the machine-readable body. That is no longer normal preheader control. It is content obfuscation, and it can overlap with spam filtering logic.

When hidden spacing becomes a deliverability risk

The practical risk is not the character set. The risk is the pattern. A short hidden preheader plus padding is common. Multiple repeated hidden blocks, large amounts of invisible text, mismatched text, or broken HTML can raise quality concerns and make the message harder for filtering systems to parse cleanly.
Normal use
  1. Purpose: Hide preheader filler after a real preview line.
  2. Amount: One short hidden block near the top of the HTML.
  3. Result: Inbox preview looks intentional and the body renders normally.
Risky use
  1. Purpose: Hide content, disguise words, or manipulate filtering.
  2. Amount: Several hidden blocks, repeated entities, or bloated markup.
  3. Result: Preview artifacts, parsing noise, and weaker content quality signals.
I also separate template quality from domain trust. A messy template can hurt performance when it breaks layout, makes the email look suspicious, or creates a poor engagement pattern. It does not replace the basics: authenticated mail, stable sending volume, relevant content, working links, and a domain that has not built a bad reputation.
Do not use invisible characters to disguise content
Soft hyphens inside words, zero-width characters inside trigger terms, or hidden copy that says something different from the visible email are bad ideas. Filters are built to handle adversarial markup. Even when the message reaches the inbox once, that pattern is fragile.
If a new template starts performing worse, I would compare it against the prior template in a real send test rather than blaming one entity. Start with authentication and domain health, then inspect HTML weight, malformed markup, image-to-text ratio, links, unsubscribe placement, and preview rendering. Suped's domain health checker is useful here because it checks the authentication layer before you spend hours rewriting template code.
?

What's your domain score?

Deep-scan SPF, DKIM & DMARC records for email deliverability and security issues.

A safer preheader pattern

A reasonable hidden preheader has two parts: the preview text you want people to see, then enough hidden spacing to stop the next content from being pulled in. It should sit near the top of the body, before your visible header. Keep it simple, keep it consistent, and avoid copying huge blocks of invisible characters through several nested tables.
Example hidden preheaderHTML
<div style="display:none;max-height:0;overflow:hidden;mso-hide:all;"> Your order has shipped. </div> <div style="display:none;max-height:0;overflow:hidden;mso-hide:all;"> &nbsp;&zwnj;&nbsp;&zwnj;&nbsp;&zwnj;&nbsp;&zwnj;&nbsp;&zwnj; &nbsp;&zwnj;&nbsp;&zwnj;&nbsp;&zwnj;&nbsp;&zwnj;&nbsp;&zwnj; </div>
That pattern is not perfect, but it is common and understandable. I avoid adding soft hyphens inside marketing copy unless there is a specific typography reason. For most English-language emails, soft hyphens are unnecessary in body text and can make copy-paste, screen readers, or search inside the email less predictable.
Keep preview control boring
  1. Place it: Put the preheader at the top of the body before visible content.
  2. Hide it: Use conservative CSS that is already proven in your template system.
  3. Limit it: Use one padding block instead of repeated hidden rows across the template.
  4. Test it: Check inbox preview, dark mode, forwarding, and view-as-webpage output.
The biggest mistake is treating preheader hiding code as a deliverability trick. It is a rendering workaround. It should help the subscriber see the right preview, not try to influence a filter. If the source looks awful but the preview is clean, the body renders correctly, and the email has normal engagement, I would not rewrite the whole template just because the hidden characters look unpleasant.

How to test whether the template has a problem

Opening the HTML file in a browser is not enough. Send the finished email through the same platform, envelope, tracking setup, and authentication path that the campaign will use. Inbox placement systems judge the delivered message, not the fragment sitting in your editor.
Flowchart showing email template QA from build to preview checks and fixes.
Flowchart showing email template QA from build to preview checks and fixes.
  1. Send real mail: Use the same sending domain, tracking domain, headers, and template processor.
  2. Check preview text: Look at Gmail web, Gmail mobile, Apple Mail, Outlook, and Yahoo when those audiences matter.
  3. Look for artifacts: Watch for little boxes, stray punctuation, unexpected blank preview rows, or visible hidden text.
  4. Compare versions: Send the current template and the cleaned version to the same test group.
  5. Read the result: Treat placement changes as directional, then confirm with campaign metrics.
For template-specific checks, Suped's email tester can help you inspect a delivered message and catch problems that are easier to miss in raw source, including authentication, content, headers, and rendering-adjacent issues.

Email tester

Send a real email to this address. Suped opens the report when the test is ready.

?/43tests passed
Preparing test address...
I also check malformed markup separately. Hidden padding often lives inside old table-based HTML where one missing closing tag can create larger problems than the entities themselves. If you are seeing odd clipping, broken previews, or inconsistent inbox behavior, the issue is often malformed HTML, not the mere presence of non-breaking spaces.

What mailbox providers are likely to care about more

Mailbox providers care much more about identity, reputation, engagement, complaints, and obvious abuse patterns than ordinary preheader padding. If a sender has poor complaint rates or unauthenticated mail, cleaning invisible characters will not fix placement. If a sender has good reputation, a normal hidden preheader block is unlikely to move the message from inbox to spam.
Template cleanup priority
A practical way to rank invisible character issues when reviewing email HTML.
Low concern
1 block
One hidden preheader padding block that renders cleanly.
Needs QA
Artifacts
Visible preview artifacts or inconsistent rendering across clients.
Fix first
Obfuscation
Hidden text that changes meaning, disguises words, or bloats HTML.
Authentication still sits underneath all of this. SPF, DKIM, and DMARC do not validate whether your preheader padding is elegant. They validate whether the message is authorized and matches your domain. That identity layer affects whether mailbox providers can attach reputation to the right sender.
This is where Suped's product fits the workflow. Use Suped for DMARC monitoring, SPF and DKIM visibility, hosted SPF, hosted DMARC, real-time alerts, blocklist (blacklist) monitoring, and issue detection with concrete steps to fix. Then use template QA for the content layer. Those are related jobs, but they are not the same job.
Issue steps to fix dialog showing the issue overview, tailored fix steps, and verification action
Issue steps to fix dialog showing the issue overview, tailored fix steps, and verification action
I would clean the template when the hidden code is excessive, hard to maintain, or visibly leaking. I would not use the presence of &nbsp; and &shy; as proof that inbox placement will suffer.

A practical cleanup checklist

If the code bothers you, clean it with a narrow goal: preserve the intended inbox preview while reducing brittle markup. Do not remove it blindly, because you can accidentally expose the wrong text in the inbox preview.

Finding

Decision

Reason

Clean preview
Keep
Low deliverability risk
Tiny boxes
Adjust
Client rendering issue
Huge hidden code
Reduce
Lower HTML noise
Hidden claims
Remove
Content mismatch
How to decide whether to keep, adjust, or remove hidden spacing.
My cleanup order is simple: keep the real preheader text, replace repeated filler with a smaller tested snippet, validate the final source, send real test messages, then check inbox preview and spam placement. If the cleaned version changes the preview in a bad way, the original snippet was doing useful work even if it looked rough.
Use evidence before rewriting
A before-and-after seed test is better than a source-code opinion. Keep the version that produces the cleaner preview and more stable rendering, provided it does not hide misleading content.

Views from the trenches

Best practices
Test hidden preheader padding in Gmail web and Apple Mail before approving any send.
Keep invisible filler in one small block so template updates stay easy to review later.
Compare delivered source with the rendered preview because build tools alter hidden code.
Common pitfalls
Removing padding blindly can expose navigation, legal copy, or body text in the preview.
Repeating hidden characters across several lines makes source harder to audit and repair.
Assuming Gmail success covers every client misses Apple Mail and Outlook differences.
Expert tips
Treat spacing entities as rendering tools, never as placement levers or filter workarounds.
If boxes appear in the preview area, change the filler sequence before the campaign send.
Review authentication and reputation first when placement drops after a template update.
Marketer from Email Geeks says hidden spacing can look unpleasant in source, but Gmail testing matters more than how the raw code feels.
2024-09-04 - Email Geeks
Marketer from Email Geeks says this pattern is regular preheader hiding code and mailbox providers are not likely to object to normal use.
2024-09-04 - Email Geeks

The practical answer

Non-breaking spaces and soft hyphens do not automatically damage inbox placement. In most email templates, they are just part of preheader hiding code. Keep them when they create the intended preview and render cleanly.
Clean them up when they leak visible characters, make the HTML much larger than needed, hide misleading content, or make the template hard to maintain. If inbox placement changes after a template update, check the delivered message, authentication, reputation, links, and engagement before blaming invisible characters.
For a practical workflow, use Suped's DMARC and domain monitoring to confirm the identity layer, then run the actual email through template and inbox testing. That keeps the investigation grounded: authentication first, rendering second, campaign metrics after that.

Frequently asked questions

DMARC monitoring

Start monitoring your DMARC reports today

Suped DMARC platform dashboard
What you'll get with Suped
Real-time DMARC report monitoring and analysis
Automated alerts for authentication failures
Clear recommendations to improve email deliverability
Protection against phishing and domain spoofing