How to Make an HTML Signature in Apple Mail for macOS Sonoma (14)

8 minute read

There are plenty of tutorials online to create an HTML signature in Apple Mail with older versions of macOS/OS X. You can even find one of my other tutorials on how to add HTML Signatures in Lion, Mountain Lion, iOS 7, Mavericks, Yosemite, El Capitan, Sierra, High Sierra, Mojave, Catalina, Big Sur, Monterey, or sonoma. However, the process has completely changed for the new macOS Sonoma (14). Here is how to do it:

  1. In Apple Mail, open Preferences > Signatures.

  2. Once open, create a new signature.

  3. Name the signature something meaningful in the central column. Replace the signature contents on the right with some placeholder text. This text should be recognizable to you as we will use it to help identify the correct signature system file later.

  4. Ensure the Always match my default font checkbox is off

  5. Associate the new placeholder signature with one of your email accounts by dragging its name from the second column to an email account in the first column.

  6. If you want to setup the signature to be the default for an email account with auto-load when starting a new message, select the email account in the first column, and choose the new signature.

  7. Close the Preferences window to save it, then Quit Apple Mail.

  8. Compose your html code inside of your favorite text editor. I use VS Code. You do NOT want to use Microsoft Word, Dreamweaver or any other "smart" editor as these programs will manipulate your final code in a way which will most definitely break your code and design for your recipients.

    The page should not have html or head tags. It should include only inline css (mostly), and should only consist of basic html elements (div, span, img, a, etc…). Even though many email programs now support more advanced tags, there is still a large percentage of people who use older versions of Outlook and other software, and you want your signature to look great for them too.

    If you need additional help with html signature design or implementation, I have created a company called GiantUser (it's an anagram of "signature") to do just that with very reasonable prices. Check it out!

    Here is some example code from my signature to get you started.

    400: Invalid request

  9. We are going to be using TextEdit to open code files in the following steps, so we need to ensure that it is setup properly to display the raw HTML code.

    Open a, found in Applications, and open Preferences > Open and Save.

    Ensure that the checkmark next to Display HTML files as HTML code instead of formatted text is ticked.

  10. Close the Preferences panel, and close the new document.

  11. We are going to need to locate the folder containing the placeholder signature. Unfortunately, you are likely not going to be able to use Finder to get to these folders.

    Apple goes to great lengths to hide these files from people as they usually contain info that is not usually editable by hand. Trying to navigate to them by clicking in Finder will usually lead you to your visible iCloud Drive folder with nowhere else to go. Don't worry though, I will walk you through an alternative method of getting to the hidden signature files we need to work with.

    The files can be in 2 different places depending on whether you are using iCloud Drive or not. You are most likely using iCloud Drive, even if you are not using an iCloud email address. Check to see if you're using iCloud Drive by going to System Preferences and selecting your user id on the left column.

    Next, select the iCloud button…

    …and see if iCloud Drive is On.

    If so, double-check that iCloud Drive is enabled for Mail by selecting iCloud Drive, selecting Options in the popup…

    …and see if the checkbox next to Mail is ticked.

    If this checkbox is ticked, then you are using iCloud Drive and should proceed to the next step. If not, skip ahead to step 15.

  12. (You should skip this step if NOT using iCloud Drive.)

    To open the placeholder signature file, we will need to use an application on your computer that lets us interact with your files in a different way than Finder. Please find in Applications > Utilities, open it by double clicking.

  13. When terminal opens, copy/paste the following line into the box.

    ls -laht ~/Library/Mobile\ Documents/com\~apple\~mail/Data/V4/Signatures/

    This line tells Terminal to list all the files in this directory along with some other file info, then sort it by date. Now press enter to run the command.

    When you press enter you should see a bunch of lines, each of which corresponds to a file and some of its metadata. Look at the right side column — the file names — and notice the ones that end in .mailsignature. These are the files we are interested in working with.

    Note: Your output might look a little different, and the rows that display will differ from the ones in this screenshot because the contents here are unique to your Mail setup. This is not a cause for concern.

    If you get an error, make sure you pasted the line in exactly like shown on one line. If you still get an error, you may not be using iCloud Drive and are following the wrong step.

  14. In the new lines that come up in Terminal after running the command, you should see a .mailsignature file that has the date and time of when you started this tutorial. This is the placeholder file. If you don't see a line listed, then you may have done something wrong in a previous step, and should try again.

    As mentioned above, we could normally use Finder to view these folders, but Apple has hidden access to them to prevent direct editing, something we wish to do here. If you have only 1 .mailsignature file, then this is most likely the placeholder file you created in the earlier steps. If you have more than one .mailsignature file in there, then we need to find the one you created earlier. Because this list is sorted top-down by the most recently updated, it will most likely be the top one, but you can check by opening them all and seeing their contents. does not respond to double-clicking the file, but we can open the .mailsignature by running another command. Copy/paste the following command into, all on one line:

    open -a TextEdit ~/Library/Mobile\ Documents/com\~apple\~mail/Data/V4/Signatures/*.mailsignature

    This line tells Terminal to open all files in that directory that have a filename that ends with .mailsignature, and to open them using the TextEdit application.

    Now press enter to run the command, and TextEdit windows should pop open.

    Once you have the file(s) open in TextEdit, move on to step 16.

  15. (You should only do this step if NOT using iCloud Drive.)

    Luckily for you, we can use Finder to open the signature file we need. In Finder, select the menu bar item Go > Go to Folder…

    A panel will popup that allows you to input the direct path to the signature folder. Copy/paste the following line into the box:


    After clicking Go, a finder window should appear with several files.

    Look at the file names and notice the ones that end in .mailsignature. These are the files we are interested in working with. More specifically, we are looking for the placeholder signature file you created earlier. Locate the most recently modified .mailsignature file.

    If you have more than one signature file in there, or cannot determine which is the placeholder, you can open each of them to help you find the right file. Simply repeat the following process for all the files.

    Right-click on the .mailsignature file in Finder, select Open With, and choose TextEdit.

    If TextEdit is not an option, choose Other…, and then choose Applications > TextEdit.

    Once you have the file(s) open in TextEdit, move on to step 13.

  16. Now that you have the .mailsignature file(s) open in TextEdit, we need to ensure it is the right one. Make sure that the placeholder file we created earlier is open by scanning each of the open TextEdit documents for the placeholder text you entered earlier in the Preferences panel.

    Because the text I entered earlier was Placeholder text, this is what I am looking for now.

    Look for your placeholder text within the file's HTML code. Here, we know we have the correct file because we can clearly see our placeholder text: Placeholder text

    If you cannot find the placeholder, you may still be in "edit" mode on the signature. Try closing the Mail > Preferences Window, completely quitting Apple Mail, and repeating the previous steps.

    If you still cannot find the placeholder, you may need to double check that you are/aren't using iCloud Drive, as detailed in an earlier step.

  17. When you have located the right placeholder .mailsignature file, keep it open and close all other TextEdit windows as we won't be using them here. Feel free to resize the window to make text editing a bit easier. You will see a few metadata lines on the top of the file and some HTML code below it. Select all that code from the line starting with body, all the way to the end of the file.

  18. Keeping the top metadata lines, delete the entire block of placeholder HTML code.

  19. Still keeping the top metadata lines unedited, paste in your own custom HTML code from earlier.

  20. Save and close the file, then Quit TextEdit.

  21. Open Apple Mail and go back to Preferences > Signatures. If you have images in your signature, they will not show here in the preview, but they will show in the real signature as long as your coded image source location is valid.

  22. To test that it is working correctly, simply compose a new email using the account you associated this new signature with, and set the signature (right side of screen) to be the one with the name you created earlier. If the images show, and everything looks as it should, you have succeeded!

Was this page helpful for you? Buy me a slice of 🍕 to say thanks!