A free, open-source tool for creating professional HTML email signatures. No sign-up, no server, no tracking — runs entirely in your browser.
- Fully customizable — name, title, company, phone, email, website, address, logo, font, text size, accent colour, social links, buttons, and disclaimer
- Live preview — see changes instantly as you type
- Saved in your browser — your details are kept on your own device, so you can come back later and change a phone number or job title without starting again. Nothing is uploaded, and one tick box forgets everything
- Export & import — save your details to a small file to back them up, move them to another computer, share them with colleagues, or keep one file per signature
- Tidy, collapsible form — sections open one at a time so the preview stays in view
- 13 web-safe fonts and 4 text sizes — from Arial and Calibri to Georgia and Garamond, in Small, Medium, Large or Extra Large
- Address fields — street, city, postcode/zip and country, shown on a single line
- Light & dark mode preview — check how your signature looks in both email themes
- One-click copy — copy as rich text (paste directly into your email client) or raw HTML
- Conditional fields — blank fields are automatically hidden from the output
- Custom accent colour — match your brand with the built-in colour picker
- Adjustable logo size — slider to keep the logo compact, especially on mobile
- Social icons — LinkedIn, Twitter/X, Facebook, Instagram, GitHub, YouTube, TikTok, Pinterest and WhatsApp, plus two custom icons for any other network (only shown when a URL is provided)
- Call-to-action buttons — add up to three clickable buttons side by side, each with its own text, link and colour (or one colour for all)
- Customizable disclaimer — edit the text or toggle it off entirely
- Setup instructions — step-by-step guides for Outlook (new, classic, Mac), Gmail, and Apple Mail
- Zero dependencies — single HTML file, no build step, no frameworks
- Works offline — download and open locally, no internet required (except for Google Fonts and social icons)
- Version shown in the footer — with a quiet check that tells you when a newer release is out (see below)
- Open
index.htmlin any modern browser (or visit the live version) - Fill in your details — leave any field blank to hide it from the signature
- Pick an accent colour to match your brand
- Click Copy signature and paste into your email client
- Follow the setup instructions for your specific email app
- Fork this repository
- Go to Settings → Pages
- Set source to Deploy from a branch →
main/root - Your signature generator will be live at
https://yourusername.github.io/email-signature-generator
docker run -d -p 8080:80 ghcr.io/clarkemedia/email-signature-generator:latestOr with Docker Compose:
git clone https://github.com/clarkemedia/email-signature-generator.git
cd email-signature-generator
docker compose up -dThen open http://localhost:8080 in your browser.
The image is published for linux/amd64, linux/arm64 and linux/arm/v7, so it also runs on Raspberry Pi and other ARM hosts.
Just serve index.html from any web server or CDN. It's a single file with no build step.
The version you are running is shown at the bottom of the page, next to the MIT License link.
A self-hosted copy has no way of knowing a new version is out, so the page can tell you. This is off by default, because a copy you host should make no outside requests unless you ask it to.
To turn it on, open index.html and set UPDATE_CHECK to true in the script near the update check section. Once a day the page then asks GitHub for the latest release number, and if your copy is older a small dismissible banner appears at the top with a link to the release notes.
Even switched on it sends nothing about you or your signature. It reads a public version number, caches the answer for 24 hours, and stays silent when you are offline, when you open the file directly from disk, or if the request fails.
docker pull ghcr.io/clarkemedia/email-signature-generator:latest
docker compose up -dTo update automatically, point your usual tool at the latest tag. With Watchtower for example:
services:
signature-generator:
image: ghcr.io/clarkemedia/email-signature-generator:latest
ports:
- "8080:80"
restart: unless-stopped
labels:
- "com.centurylinklabs.watchtower.enable=true"Prefer to pin a version and update when you choose? Use a version tag such as :1.4.0 or :1.4 instead of latest.
For a plain self-hosted copy, replace index.html with the one from the newest release.
The default field values in index.html showcase the creator's details as an example. To set your own defaults, edit the value="..." attributes on the form inputs near the top of the file.
Contributions are welcome! Feel free to open an issue or submit a pull request. Some ideas:
- Additional email client instructions
- Image upload / base64 encoding for logos
- Colour theme presets
- Alternative signature layouts / templates
- i18n / localization
MIT — see LICENSE for details.
Created by Eoin McMahon at Clarke Media.
Social icons provided by Icons8.
If this tool saved you time, consider buying me a coffee ☕