Email Signature Generator

Global tools

An email signature is the smallest document on this site, and the one whose formatting is easiest to lose. A mail client pastes plain text faithfully; it mangles a signature that leans on a stylesheet or an image hosted somewhere else. So the signature here is a short block of self-contained HTML: inline styles, escaped values, no image files, no external resources. Paste it with HTML composing switched on and it arrives intact.

The only required field. Never goes into the share link.

Sits beside the company on the second line; leave it empty and the line shows the company alone.

Joins the role with "at" when both are filled; on its own it becomes the whole second line.

Never goes into the share link.

Printed as typed - no formatting, no country-code guessing.

Rendered as plain text - no link is auto-created, so nothing in the signature can be repurposed as a click target.

A city and region is usually enough; a full street address is rarely wanted in a signature.

One handle or profile line. The @ is kept as text, not turned into a link.

Results update as you type. Nothing leaves your device.

Signature ready

5 contact lines

Name and details are in the box below - the copy and the .html file hold the same string.

What is in this signature

  • The name line is the only required part; everything else stays off until you fill it.
  • Role and company sit together on one line.
  • 5 contact lines follow a divider.
  • Values are escaped and styling is inline, so a pasted signature survives mail clients that strip stylesheets.
  • The box below holds the whole signature; the download hands you the same bytes.

The signature in numbers

Source lines
10
Characters
369
Bytes in the .html file
369
Characters escaped
0

The signature (HTML)

<div style="font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: #333333; line-height: 1.5;">
  <div><strong>Jordan Lee</strong></div>
  <div>Product Designer at Northwind Studio</div>
  <br>
  <div>jordan.lee@example.com</div>
  <div>(555) 014-2837</div>
  <div>linkedin.com/in/jordanlee</div>
  <div>Portland, OR</div>
  <div>@jordan.builds</div>
</div>

Copy it into a mail client with HTML composing on, or download the .html file. The bytes in this box are the bytes in the file.

Nothing you typed left this tab: the signature is assembled here by a pure function, every value is HTML-escaped before it lands in the markup, the fields never go into the share link or the copied summary, and the download is built from the same string you see in the box.

The generator follows a fixed rule applied to eight short fields: the name and seven optional lines (role, company, email, phone, website, address, social). The page shows the HTML source in a copyable box - the same string the .html download contains - rather than a rendered preview, because what you paste is the source itself.

It also counts what it produced. A short stats block reports the source lines, the character count, the bytes the .html file weighs and how many characters needed escaping, so a visitor can confirm the signature is as small and as plain as it claims to be. Nothing about that count is decorative: it is the same string the copy button and the download use.

About this email signature generator

A signature is never rendered on this page; it is handed to you as HTML source, because pasting is where the formatting is either kept or lost. In most mail clients you switch the composer to HTML mode (look for a formatting option, or paste-and-match-style that keeps the source), then paste the box. In clients that strip stylesheets, the inline styles here survive where a stylesheet-based signature would not.

This page is deliberately free of images and logos. A logo is an image file, and an image file is a dependency: it has to be hosted, re-uploaded, and tracked through every send. This signature only ever needs the text you type, so it never depends on a server, a storage account or a file pipeline at all.

What it does not do is guess. Values are trimmed, clipped at a fixed length and escaped before they reach the markup; a missing name stops the page rather than shipping an unattributable block; and every field keeps the private flag that keeps personal data out of the URL. Those are small decisions individually, and together they are the difference between a generator and a text box that concatenates strings.

How this email signature generator works

A name, one title line, and the contact lines

The name is the only required field and sits on the first line, bold. The title line combines role and company when both are filled ("Product Designer at Northwind Studio"); leave either empty and the line shows only what you filled, or disappears entirely when both are blank.

The contact lines (email, phone, website, address, social) appear under a divider, one per line, in a fixed order, and only when they have content. Type nothing and there is no divider and no empty line - a name-only signature is still a complete block.

Escaped values, inline styles, nothing external

Every value you type is HTML-escaped before it lands in the markup: a less-than sign becomes &lt;, an ampersand becomes &amp;, and so on. That is the opposite of the plain-text tools on this site, and deliberately so - your letter is pasted as plain text, while this signature becomes live markup in every mail client you paste it into.

Styling lives inline on a single wrapper element - no class names, no stylesheet link, no images, no external fonts. A signature built this way survives the clients that strip stylesheets and the editors that refuse remote resources, which are exactly the ones that wreck everything else.

One string for the preview, the copy and the download

The signature assembles into a single HTML string, and the same string does all three jobs: it fills the box on the page, it is what the copy button hands to the clipboard, and it is exactly what the Download .html button writes to a file. There is no second renderer that could drift, so the bytes in the box are always the bytes in the file.

The filename follows the person: "Jordan Lee" downloads as signature-jordan-lee.html, ASCII-only so no mail client or filesystem trips over it.

Personal data stays on the device

Every field here is private by design: none of it ever enters the share link, the address bar, the browser history, the copied summary or the print stamp. Sharing a link to your email-signature generator carries your settings, never the signature.

Nothing is uploaded because there is no server that accepts it: compute runs in the tab, the .html is a Blob your browser writes, and the page you loaded was built from the same rule, not from your data.

Why text-only survives the trip

A signature travels through more software than any other document you write: your composer, your outbound server, the recipient’s mail server, their spam filter, their client, their phone and their dark-mode theme. Every one of those steps can rewrite or remove something. Inline styles on a plain block of text are the smallest number of things that can go wrong.

Images are the usual casualty. Many clients block remote images by default, so a logo turns into a grey placeholder until the reader clicks something; some corporate filters strip images from unknown senders as a phishing signal; and an image-hosted logo adds a tracking pixel whether or not you intended one. A signature made only of text renders the same in every client, in every theme, at every zoom level.

Size matters too. A large embedded image or a stack of nested tables can push a short reply over the point where Gmail clips the message and hides the rest behind a “view entire message” link. This signature is a handful of lines and a few hundred bytes, so it never contributes to that problem - and if the page reports a byte count, that is what it is counting.

The characters that would break the markup

A signature is HTML that somebody else’s client will parse, so every value you type is escaped before it lands in the markup: an ampersand becomes &amp;, a less-than sign becomes &lt;, a greater-than becomes &gt; and a quote becomes &quot;. Without that, a company name containing an angle bracket would open a tag and swallow the rest of the signature - or worse, a script.

Newlines are the friendlier case. A value typed across two lines becomes a single line with a &lt;br&gt; in the middle, which is why an address like “Portland, OR / Suite 200” keeps its shape instead of collapsing into one paragraph. There are no link tags anywhere: a website or a social handle is rendered as text you can read and copy, not as a click target that a mail client might rewrite or a filter might distrust.

The escaping is also why the page shows HTML source rather than only a picture of the result. What you copy is exactly what the file contains, character for character, and the escape count in the stats block tells you whether any reserved character was actually present.

Where a signature belongs, and where it does not

A signature is for first contact and for external mail. In a long internal thread, a full block with five contact lines on every reply is noise; most clients let you attach a shorter version for replies, and many people simply let the first message carry it. If the tool you use cannot vary the signature by context, a shorter one is usually the better compromise.

Accessibility is a design constraint, not an afterthought. Text stays readable at any zoom and is read aloud correctly by a screen reader; a logo-only signature is invisible to both. Color should not be the only signal, and a signature that relies on a background image to be legible will look broken in dark mode, where many clients invert text and leave images alone.

Some jurisdictions require a registered company to state its registration number, and many require an unsubscribe route for marketing mail. Those obligations belong to your organization and your legal advice, not to a generator: this page gives you the markup, and you decide what it has to say.

Worked examples

Each example below was run through the calculator on this page when the site was built, so the numbers match what you see when you enter the same inputs.

A full signature with every line

Your name: Jordan Lee · Role: Product Designer · Company: Northwind Studio · Email: jordan.lee@example.com · Phone: (555) 014-2837 · Website: linkedin.com/in/jordanlee · Address: Portland, OR · Social: @jordan.builds

Signature ready

5 contact lines

Name and details are in the box below - the copy and the .html file hold the same string.

Source lines: 10 · Characters: 369 · Bytes in the .html file: 369 · Characters escaped: 0

Every field filled: the name, role and company on one title line, then five contact lines under a divider.

Name, role and company only

Your name: Riley Chen · Role: Operations Lead · Company: Fern Studio · Email: — · Phone: — · Website: — · Address: — · Social: —

Signature ready

Name only

Name and details are in the box below - the copy and the .html file hold the same string.

Source lines: 4 · Characters: 199 · Bytes in the .html file: 199 · Characters escaped: 0

No contact lines typed, so there is no divider and no empty line - just the name and the title.

Only a name

Your name: Marisol Vega · Role: — · Company: — · Email: — · Phone: — · Website: — · Address: — · Social: —

Signature ready

Name only

Name and details are in the box below - the copy and the .html file hold the same string.

Source lines: 3 · Characters: 157 · Bytes in the .html file: 157 · Characters escaped: 0

A name-only signature is the smallest valid block, and the same refusal rule that blocks a missing name is what keeps it honest.

Frequently asked questions

How do I get this into my mail client?

Copy the box, then open a new message and switch the composer to HTML mode - in most clients that is a formatting option in the toolbar or a paste-with-formatting choice. Paste, and the signature keeps its inline styles. It also works as a block appended to an existing signature setting that accepts raw HTML.

Why HTML source and not a rendered preview?

Because what you paste is the source. A rendered preview would show you a signature to admire, but the copy button would still have to hand over HTML - and the two could drift apart. Showing the source in a copyable box means the bytes you copy are literally the bytes in front of you, and the .html download carries the same string.

What do the escaped entities mean?

When a value contains a reserved markup character - a less-than sign, a greater-than sign, an ampersand or a double quote - the page writes the safe entity instead: &lt;, &gt;, &amp; and &quot;. This is what stops pasted text from being read as markup. You can type normally; the page does the escaping for you.

Why is there no image or logo support?

An image is a dependency: a logo has to be hosted somewhere, re-uploaded, and tracked through every send, and many mail clients block remote images by default. A text-only signature never depends on a server, so it always arrives intact. That is also why this tool has no file pipeline at all.

Is the download the same as what I see on screen?

Word for word. The preview box, the copy button and the .html download all come from the same single string, so there is no second renderer that could drift. The filename follows your name, for example signature-jordan-lee.html.

Why does it refuse when the name is empty?

A signature without the name it belongs to is not a signature - it is an anonymous block of formatting. Clear the name and the page stops and tells you instead of shipping markup nobody can attribute.

Will my mail client keep the styling?

If the composer is in HTML mode, almost always - the styles are inline on one wrapper element, which is the form every client understands. The exceptions are clients that paste as plain text (some web forms and ticketing systems), and editors that sanitize pasted HTML. In those cases the text still arrives, just without the font and color, which is the failure mode worth having: content survives, decoration does not.

Should I put a logo in it?

Only if your organization insists and you accept the trade. A logo is a hosted image: many clients block it by default, corporate filters treat unexpected remote images as suspicious, and it can add a tracking pixel you did not intend. Text carries the information a signature is for; a logo carries brand, at the cost of a signature that sometimes arrives half-broken.

Does it work for replies and internal mail?

The markup works anywhere HTML does. Whether it should appear on every reply is a different question: a five-line block repeated forty times in a thread is noise, and many clients let you set a shorter signature for replies. If yours cannot, a name and one contact line is a reasonable permanent setting, with the full block reserved for first contact.

Assumptions and sources

  • Every value is escaped before it becomes markup and line breaks become `<br>`, so a pasted signature cannot be read as HTML by the receiving client.
  • Styling is inline, with no images, stylesheets or remote resources, so the signature survives clients that block images.
  • Nothing leaves your browser, and every field stays out of the share link and the print stamp.

Last reviewed 2026-10-07. Runs locally on your device; keep backups; no financial advice applies. Read the full disclaimer.

Where a figure on this page comes from an official agency — HUD, IRS, FICO or a state body — the site keeps a dated snapshot of the source page in its sources library, and a scheduled job re-checks that snapshot, so the number can be traced back to the document it came from.