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 <, an ampersand becomes &, 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 &, a less-than sign becomes <, a greater-than becomes > and a quote becomes ". 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 <br> 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.