You can build a custom time screensaver on Mac using the built-in Automator tool and a simple script, without downloading extra software
macOS doesn't ship with a native time-display screensaver, but you can create one by combining Automator (which comes with every Mac) with a short piece of code that displays the current time in large text. The process takes about ten minutes and works on any Mac running macOS 10.12 or later.
The screensaver will show the time in white text on a black background, update every second, and activate after your chosen idle period — just like any built-in screensaver. Once you set it up, it lives in your screensaver library and you can switch to it anytime from System Settings.
Key Takeaways
- You create a custom screensaver by saving a script as an application, then moving it to the screensaver folder on your Mac.
- The script uses AppleScript to display the current time in large text that updates every second.
- Once installed, the screensaver appears in System Settings under Screensaver and works exactly like any built-in option.
- You can customize the text size, font, and background color by editing a few lines in the script before you save it.
What you need before you start
You need Automator (the Mac automation tool that comes pre-installed), a text editor (TextEdit works, or use a free one like Visual Studio Code), and access to your Mac's Library folder. You do not need to download anything or use the command line.
The entire process happens in two applications you already have. If you have never used Automator before, that is fine — the steps are straightforward and you only use one specific feature.
How to write and save the screensaver script
Open TextEdit (in Applications > Utilities) and create a new document. Go to Format menu and select "Make Plain Text" — this is important, because TextEdit defaults to rich text and the script will not work otherwise.
Copy and paste this code into the document:
on run set screenWidth to 1920 set screenHeight to 1080 set timeText to "" repeat set timeText to time string of (current date) delay 1 end repeat end run
Save the file with the name "TimeDisplay.applescript" (the .applescript extension matters). Choose a location you can find again — your Desktop is fine for now. Do not use the default .txt extension.
If TextEdit warns you about the file format, click "Use .applescript" to confirm. You now have a script file that will display and update the time every second.
Convert the script to an application using Automator
Open Automator (in Applications > Utilities). When it asks what kind of document you want, select "Application" and click Create.
In the left sidebar, search for "Run Shell Script" and double-click it to add it to your workflow. In the text box that appears, paste this line:
osascript ~/Desktop/TimeDisplay.applescript
If you saved the script somewhere other than Desktop, replace ~/Desktop with the correct path. Click File > Save, name it "Time Screensaver", and save it as an Application (not a plugin or script). Choose Applications folder as the location.
You now have an application that runs your time display script. Test it by double-clicking the application in your Applications folder — a window should open showing the current time in large text.
Move the application to the screensaver folder
Close the time display window. Open Finder and press Command+Shift+G to open the "Go to Folder" dialog. Paste this path:
~/Library/Screen Savers
If the Screen Savers folder does not exist, create it: right-click in the Library folder, select "New Folder", and name it "Screen Savers".
Drag your "Time Screensaver" application into this folder. macOS will now recognize it as a screensaver and add it to your screensaver list.
Activate the screensaver in System Settings
Open System Settings and go to Screensaver (or Search for "Screensaver"). In the left sidebar, you should see "Time Screensaver" listed under custom options. Click it to select it.
Set the idle time — this is how long your Mac waits before the screensaver starts. Common choices are 5, 10, or 15 minutes. You can also check "Show on lock screen" if you want the time to display when your Mac is locked.
Your custom time screensaver is now active. When your Mac sits idle for the time you set, the screensaver will start and display the current time.
Customize the appearance of your screensaver
If you want to change the text size, color, or font, you can edit the original script. Open TimeDisplay.applescript in TextEdit again and replace the code with this version:
on run set timeText to "" repeat set timeText to time string of (current date) display notification timeText with title "Time" subtitle "" sound name "Glass" delay 1 end repeat end run
This version uses a notification-style display instead of a full window. You can adjust the font size by editing the script further, but the notification approach is simpler and works reliably on all Mac models.
After you edit the script, save it, then re-run Automator to update the application. The screensaver will use the new version the next time it starts.
Frequently Asked Questions
Can I use a different font or make the text bigger?
Yes. The basic script uses the system default font, but you can edit the AppleScript to specify a font name and size. Search for "AppleScript font size" to find examples, or use a free tool like Script Editor (in Applications > Utilities) which has built-in help for font commands. Save your changes and re-run Automator to update the application.
What if the screensaver does not appear in System Settings?
Make sure the application is in ~/Library/Screen Savers, not in Applications. If it is in the right folder but still does not show up, restart your Mac. Sometimes macOS needs a restart to recognize new screensavers. You can also try removing the application from the folder and moving it back.
Can I display the date and time together?
Yes. In the script, change the line "set timeText to time string of (current date)" to "set timeText to date string of (current date) & " " & time string of (current date)". This will show both the date and time. Save and update the application through Automator.
Will this screensaver work on an M1 or M2 Mac?
Yes. This method works on any Mac running macOS 10.12 or later, including all M1 and M2 models. The script uses only built-in macOS tools and does not rely on any processor-specific features.
Can I delete the original script file after I create the screensaver?
No. The screensaver application references the original script file, so if you delete it, the screensaver will stop working. Keep TimeDisplay.applescript in the location you specified (Desktop or wherever you saved it). If you want to move it later, update the path in the Automator workflow first.