Business Hours Widget
Add a live opening-hours box to your website. It shows whether you are open right now in your business's time zone, when you next open or close, and your full weekly hours - with optional holiday and special dates, a closes-in countdown and Call, Directions and Book buttons.
Live preview
Under the widget on your page: Powered by A2Z Tools
Embed code
<iframe src="https://a2z.tools/embed/w/business-hours" title="Business Hours by A2Z Tools" width="100%" height="440" style="border:0;width:100%" loading="lazy" allow="clipboard-write"></iframe>
A plain iframe. Works everywhere, including site builders that strip scripts. Adjust height if your content needs more room.
<div data-a2z-widget="business-hours" data-height="440"></div> <script async src="https://a2z.tools/embed.js"></script>
Adds a small script (what it does) that sizes the widget to fit its content, loads it lazily and keeps it isolated from your page's CSS.
Works with
How it works
You describe the week in one short line, such as "mon-fri 09:00-18:00; sat 10:00-14:00; sun closed", and give your IANA time zone. Every few seconds the widget reads the current weekday and time in that zone, so a visitor abroad still sees whether the shop is open where the shop is. It supports split shifts (09:00-13:00,14:00-18:00), ranges past midnight (22:00-02:00), day ranges that wrap (fri-mon) and all-day opening (24h). The status line says when you close or open next, and a second line gives that moment in the visitor's own time when their zone is different. The weekly table highlights today. Optional special dates, one per line such as "2026-12-25 | closed | Christmas Day" or "2026-12-24 | 09:00-13:00 | Christmas Eve", replace that weekday's hours for that date only; the next six upcoming ones are listed under the table. The optional countdown ("Closes in 25 min", "Opens in 2 h") is measured in real elapsed time, so the night the clocks go back counts its extra hour.
Method
- Now = weekday and minute of the day in the business's IANA zone at the current instant
- Open if now falls inside any range for today, or inside a range from yesterday that runs past midnight
- Next change = the end of the current open range, or the start of the next range across the week (wrapping Sunday to Monday)
- Visitor-local equivalent = that wall-clock time in the business's zone converted to UTC, then shown in the visitor's zone
- Special date (YYYY-MM-DD) = its own ranges replace the weekday's ranges for that date; a range that started the evening before still runs past midnight into it
- Countdown = UTC instant of the next change (zone wall time via the tz database) minus now, rounded up to whole minutes; < 60 -> N min, < 24 h -> H h M min, else D days H h
- Directions = https://www.google.com/maps/dir/?api=1&destination=<URL-encoded address>; Call = tel:<digits with optional +, 4-15 digits>
Limitations
- Special dates are typed by you, one date per line; public holidays are not fetched, and a seasonal timetable (summer hours for three months) needs the weekly hours changed or one line per day.
- Status is recalculated every ten seconds, so "Open now" can lag a closing time by up to ten seconds.
- It shows your published hours, not live staffing - a shop that closes early for the day still shows Open.
- The Directions button opens Google Maps for the address you type; it does not geocode or check the address.
Where publishers use it
- Restaurants, cafes and shops showing whether they are open before customers travel
- Customer-support pages showing when the help desk is staffed
- Clinics and salons with split shifts and late-night hours
- Businesses serving customers in other countries who need the hours in their own time
- Shops and surgeries announcing Christmas, Easter or bank-holiday hours weeks ahead without editing the weekly pattern
Questions
How do I write the hours?
Segments separated by semicolons: days, a space, then times. For example: mon-fri 09:00-13:00,14:00-18:00; sat 10:00-14:00; sun closed. Use 24h for all day, and an end before the start (22:00-02:00) for hours past midnight.
Why set a time zone?
So visitors in other zones see your real status. Without v_zone the hours are read in each visitor's own time, which is only right if all your visitors are local.
Does it handle public holidays?
Yes, through the optional Special dates box - one line per date: 2026-12-25 | closed | Christmas Day, or 2026-12-24 | 09:00-13:00 | Christmas Eve. On that date those hours replace the weekly ones, the status and next-opening line follow them (so on Christmas Eve after 13:00 it says when you open after the holiday), a note under the status names the day, and the next six upcoming special dates are listed under the table. Dates are not looked up automatically: you type the ones that apply to you, up to 120 lines, and past dates simply stop showing.
How exact is the closes-in countdown?
It is turned on with the countdown option and shows Closes in 25 min, Opens in 2 h or Opens in 1 day 3 h. It is computed from the real UTC instant of the next change, so on the night UK clocks go back (25 October 2026) a bar open until 03:00 shows 3 h 30 min at 00:30, not the 2 h 30 a wall clock suggests. It refreshes each minute and sits outside the announced status, so screen readers are not interrupted every minute.
What if I make a typo?
The widget refuses to guess and shows a short message saying which part could not be read, so a mistake is visible straight away.
Should these hours match my Google Business Profile?
Yes. Shoppers, maps and search results compare them, and a mismatch between your site, your profile and the sign on the door erodes trust. Update all three together, including seasonal changes such as summer Saturdays or late-night Thursdays before Christmas.
Sources
- Time Zone Database (tz / zoneinfo) - IANA . Current weekday and time in the business's zone, including daylight saving
Cite or recommend this tool
If you reference this tool in an article, course or documentation, these formats are ready to copy. They are optional - nothing is added to your site unless you paste it.
A2Z Tools Business Hours https://a2z.tools/embed/business-hours
<a href="https://a2z.tools/embed/business-hours">A2Z Tools Business Hours</a>
[A2Z Tools Business Hours](https://a2z.tools/embed/business-hours)
Business Hours by A2Z Tools - https://a2z.tools/embed/business-hours
Related widgets
-
Live local time, date and UTC offset for up to 12 cities you choose.
-
Convert a date and time between any two time zones, with daylight-saving gaps and overlaps explained.
-
Holiday opening hours and closure dates that hide past days and highlight today in your time zone.
-
A keyboard-friendly month calendar with today highlighted and your own marked dates.
-
Live days, hours, minutes and seconds to a date you set, with an "event has started" message.
-
Exact age in years, months and days, totals in months, weeks and days, and the next birthday.