UK summer bank holiday date
Enter a year to get the date of the UK late summer bank holiday, the last Monday of August in England, Wales and Northern Ireland: in 2026 it is 31 August. Plan leave, payroll and deliveries around the long weekend. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Year
- 2,026
- Month
- 8
- Day
- 31
- ISO date
- 2026-08-31
- Weekday
- Monday
The United Kingdom late summer bank holiday falls on the last Monday of August in England, Wales, and Northern Ireland, giving households and employers a fixed late-August long weekend every year. Product calendars, payroll cut-offs, travel planners, school term tools, and compliance schedules all need that civil date without scraping government pages or trusting the host operating system’s locale tables. This capability accepts a Gregorian year and returns the month, day, ISO date string, weekday label, and fixed rule name using pure integer calendar arithmetic evaluated as UTC civil fields.
What the last-Monday-of-August rule means
In England, Wales, and Northern Ireland the late summer bank holiday—often called the August bank holiday or Summer Bank Holiday—is defined as the last Monday in August. That single civil rule is what people mean when they search for the UK summer bank holiday date for a given year. Because August always has thirty-one days and Mondays recur every seven days, the holiday always falls between the twenty-fifth and the thirty-first of August inclusive.
This capability encodes exactly that rule: given a year, it finds the weekday of the thirty-first of August with Sakamoto’s Gregorian formula, then steps back zero to six days until the weekday is Monday. It does not model Scotland’s first-Monday-of-August Summer bank holiday, one-off government substitutions for royal events, or regional fair days that may shift locally. It also does not convert wall-clock instants across time zones.
The output is the civil calendar date of the public holiday, expressed as year, month, day, and an ISO-8601 calendar string so automation can store and display it without re-deriving the last-Monday logic in every client.
Where teams use it and how pricing works
Support macros and knowledge bases can answer “when is the UK summer bank holiday” with a machine-verified day instead of a hand-edited FAQ that goes stale every year. Travel and hospitality tools use the date to mark peak late-August demand windows for England and Wales without maintaining a private holiday table. The interactive tool above runs free in the browser for one-off lookups.
Inputs and outputs follow the platform retention window and are not used to train models. Latency is dominated by the task handshake rather than the arithmetic, so the capability fits high-frequency form validation as well as annual batch regeneration of schedule templates.
What you can do with it
Payroll, leave, and logistics cut-offs
Surface the August bank holiday Monday in workforce and delivery tools so schedules skip or flag the public holiday correctly.
FAQ
When is the UK summer bank holiday?
In England, Wales, and Northern Ireland the late summer bank holiday is the last Monday of August. This capability returns that calendar date for any year you supply.
Does this cover Scotland’s August bank holiday?
No. Scotland’s Summer bank holiday is commonly the first Monday of August, a different rule.
Between which dates can the August bank holiday fall?
Always between 25 and 31 August. August has thirty-one days and Mondays come every seven days, so the last Monday of the month always lands in its final week.
When is the August bank holiday in 2026?
It falls on Monday 31 August 2026, the last Monday of that August. The date applies to England, Wales and Northern Ireland.
Are one-off substitute holidays for royal events included?
No. The result follows the fixed last-Monday rule only, so one-off government substitutions for special occasions are not reflected. Check the official announcements for those years.
Related tools
For developers — API access
Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.
API endpoint
Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/date/uk-summer-bank-holiday \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"year":2026}'const res = await fetch("https://api.kit.forhosting.com/date/uk-summer-bank-holiday", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"year": 2026
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/uk-summer-bank-holiday",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"year": 2026
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/uk-summer-bank-holiday", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"year":2026}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"year":2026}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/uk-summer-bank-holiday", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"year": 2026
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.uk_summer_bank_holiday",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |
Technical notes
What the last-Monday-of-August rule means
Treat Scotland or special substituted dates as separate product intents rather than overloading this endpoint.
How to call the capability and read the fields
Do not pass a full timestamp when you only need the holiday calendar date; supply the year alone and let the library derive the Monday. Send a JSON object with a required integer year field. Aliases y and yr are accepted so forms and scripts can reuse short names without renaming payloads. The year must be a finite integer between one and nine thousand nine hundred ninety-nine; missing, non-numeric, fractional, or out-of-range values fail with invalid_input and are not charged. On success the response includes year, month fixed at eight for August, day as the day-of-month of the last Monday, iso_date as YYYY-MM-DD, weekday as the constant string Monday, rule as last_monday_of_august, and a short note that the result follows the England, Wales, and Northern Ireland late summer convention. If your application also needs Good Friday, Easter Monday, or early May and spring bank holidays, treat those as separate intents with their own rules rather than extending this endpoint ad hoc.
Where teams use it and how pricing works
Product teams use this endpoint when onboarding forms, HR leave systems, logistics calendars, and marketing “August bank holiday weekend” reminders need a stable UK late summer date without embedding fragile local Date math that varies by host time zone. Backend jobs that generate yearly holiday tables can request many years and store the returned iso_date next to other fixed observances. Programmatic calls use the prepaid balance at $0.002 per successful request, billed as one item per computation, with no subscription and no charge when validation fails.
Integration use cases
Yearly UK holiday table generation
Fill the late summer bank holiday row in annual England, Wales, and Northern Ireland calendar exports by computing last-Monday-of-August iso_date for each year.
Support macros and product copy
Answer “when is the UK summer bank holiday” with a deterministic date from the API instead of a manually updated FAQ.
Technical questions
What input does the calculator require?
A single integer year (field year, or aliases y / yr). Other fields are ignored. Invalid or missing year values return invalid_input and are not charged.
Is the result deterministic across environments?
Yes. The library uses integer Gregorian arithmetic only—no Date, no network, no randomness—so the same year always produces the same JSON in the browser widget and the API.
How much does the UK summer bank holiday calculator cost?
The browser tool is free. API calls cost $0.002 per successful request from your prepaid balance; failed validation is never charged.