Standard Oceania Set
Australia and New Zealand Only
Melanesia Only
Micronesia Only
Polynesia Only
Broader Pacific Practice
Country to Capital
Capital to Country
Mixed
10 Questions
20 Questions
30 Questions
Full Set
Score: 0
Your Result
Answer Review
This Oceania Capitals Quiz tests capital city knowledge across Australia, New Zealand, Melanesia, Micronesia, and Polynesia. Choose a region, switch the question direction, and practise the capitals that often appear in world geography quizzes.
The default quiz uses 14 sovereign Oceania country entries. A broader practice mode also includes selected Pacific territories and associated entries that learners may meet in wider map quizzes.
14Default Oceania entries
4Regional quiz scopes
26Broader Pacific entries
What This Quiz Covers
Oceania capital quizzes can feel different from Europe or Asia quizzes because the region includes continent-sized Australia, island countries, compact city-states, and several territories that are handled differently by different quiz sources.
The standard set focuses on independent countries usually placed in Oceania: Australia, New Zealand, Fiji, Kiribati, Marshall Islands, Micronesia, Nauru, Palau, Papua New Guinea, Samoa, Solomon Islands, Tonga, Tuvalu, and Vanuatu.
Data Note: Nauru has no official capital, so this quiz uses Yaren district as the de facto government seat. The broader mode includes selected territories and associated states for practice only; it does not treat them as sovereign countries.
Quiz Technical Data
Item
Quiz Setting
Use For The Reader
Default Scope
14 Oceania entries
Good for standard countries-and-capitals practice.
Broad Scope
26 Pacific entries
Adds selected territories and associated entries for harder quiz practice.
Regional Scopes
Australia and New Zealand, Melanesia, Micronesia, and Polynesia
Helps learners focus on one part of Oceania at a time.
Question Types
Country to capital, capital to country, or mixed
Builds recall in both directions.
Answer Format
Four-option multiple choice
Keeps the quiz fast, clear, and mobile-friendly.
Saved Result
Best score stored in the browser
Lets returning users compare their progress.
Capital Names That Need Care
The trickiest Oceania capital questions usually involve small island states, de facto capitals, or capitals that are less famous than the country’s largest city.
Australia uses Canberra, not Sydney or Melbourne.
New Zealand uses Wellington, not Auckland.
Kiribati uses South Tarawa in this quiz.
Federated States of Micronesia uses Palikir, not the broader region name Micronesia.
Nauru has no official capital; Yaren district is used as the de facto government seat.
Palau uses Ngerulmud, while Koror is more widely known.
Tuvalu uses Funafuti, which is both an atoll and the capital area commonly used in quiz resources.
Full Practice List
Use this Oceania countries and capitals reference list before starting the quiz, or return to it after the quiz to review missed answers.
Oceania Countries and Capitals Used In The Quiz
Country or Entry
Capital
Quiz Set
Region Label
Australia
Canberra
Standard
Australia and New Zealand
Fiji
Suva
Standard
Melanesia
Kiribati
South Tarawa
Standard
Micronesia
Marshall Islands
Majuro
Standard
Micronesia
Micronesia
Palikir
Standard
Micronesia
Nauru
Yaren district
Standard
Micronesia
New Zealand
Wellington
Standard
Australia and New Zealand
Palau
Ngerulmud
Standard
Micronesia
Papua New Guinea
Port Moresby
Standard
Melanesia
Samoa
Apia
Standard
Polynesia
Solomon Islands
Honiara
Standard
Melanesia
Tonga
Nuku’alofa
Standard
Polynesia
Tuvalu
Funafuti
Standard
Polynesia
Vanuatu
Port Vila
Standard
Melanesia
American Samoa
Pago Pago
Broad
Broader Pacific Practice
Cook Islands
Avarua
Broad
Broader Pacific Practice
French Polynesia
Papeete
Broad
Broader Pacific Practice
Guam
Hagatna
Broad
Broader Pacific Practice
New Caledonia
Noumea
Broad
Broader Pacific Practice
Niue
Alofi
Broad
Broader Pacific Practice
Norfolk Island
Kingston
Broad
Broader Pacific Practice
Northern Mariana Islands
Saipan
Broad
Broader Pacific Practice
Pitcairn Islands
Adamstown
Broad
Broader Pacific Practice
Tokelau
No single capital
Broad
Broader Pacific Practice
Wallis and Futuna
Mata Utu
Broad
Broader Pacific Practice
Christmas Island
Flying Fish Cove
Broad
Broader Pacific Practice
(function () {
const root = document.getElementById(“oceania-capitals-quiz”);
if (!root) return;const data = [
{ country: “Australia”, capital: “Canberra”, region: “Australia and New Zealand”, group: “anz”, standard: true, broad: true, note: “Canberra is the capital of Australia, not Sydney or Melbourne.” },
{ country: “Fiji”, capital: “Suva”, region: “Melanesia”, group: “melanesia”, standard: true, broad: true, note: “Suva is the capital of Fiji.” },
{ country: “Kiribati”, capital: “South Tarawa”, region: “Micronesia”, group: “micronesia”, standard: true, broad: true, note: “South Tarawa is used as the capital answer for Kiribati.” },
{ country: “Marshall Islands”, capital: “Majuro”, region: “Micronesia”, group: “micronesia”, standard: true, broad: true, note: “Majuro is the capital of the Marshall Islands.” },
{ country: “Micronesia”, capital: “Palikir”, region: “Micronesia”, group: “micronesia”, standard: true, broad: true, note: “Palikir is the capital of the Federated States of Micronesia.” },
{ country: “Nauru”, capital: “Yaren district”, region: “Micronesia”, group: “micronesia”, standard: true, broad: true, note: “Nauru has no official capital; Yaren district is used here as the de facto government seat.” },
{ country: “New Zealand”, capital: “Wellington”, region: “Australia and New Zealand”, group: “anz”, standard: true, broad: true, note: “Wellington is the capital of New Zealand, not Auckland.” },
{ country: “Palau”, capital: “Ngerulmud”, region: “Micronesia”, group: “micronesia”, standard: true, broad: true, note: “Ngerulmud is the capital of Palau.” },
{ country: “Papua New Guinea”, capital: “Port Moresby”, region: “Melanesia”, group: “melanesia”, standard: true, broad: true, note: “Port Moresby is the capital of Papua New Guinea.” },
{ country: “Samoa”, capital: “Apia”, region: “Polynesia”, group: “polynesia”, standard: true, broad: true, note: “Apia is the capital of Samoa.” },
{ country: “Solomon Islands”, capital: “Honiara”, region: “Melanesia”, group: “melanesia”, standard: true, broad: true, note: “Honiara is the capital of Solomon Islands.” },
{ country: “Tonga”, capital: “Nuku’alofa”, region: “Polynesia”, group: “polynesia”, standard: true, broad: true, note: “Nuku’alofa is the capital of Tonga.” },
{ country: “Tuvalu”, capital: “Funafuti”, region: “Polynesia”, group: “polynesia”, standard: true, broad: true, note: “Funafuti is the capital answer commonly used for Tuvalu.” },
{ country: “Vanuatu”, capital: “Port Vila”, region: “Melanesia”, group: “melanesia”, standard: true, broad: true, note: “Port Vila is the capital of Vanuatu.” },
{ country: “American Samoa”, capital: “Pago Pago”, region: “Broader Pacific Practice”, group: “broadonly”, standard: false, broad: true, note: “Pago Pago is used here for American Samoa in the broader practice set.” },
{ country: “Cook Islands”, capital: “Avarua”, region: “Broader Pacific Practice”, group: “broadonly”, standard: false, broad: true, note: “Avarua is the capital of the Cook Islands.” },
{ country: “French Polynesia”, capital: “Papeete”, region: “Broader Pacific Practice”, group: “broadonly”, standard: false, broad: true, note: “Papeete is the capital of French Polynesia.” },
{ country: “Guam”, capital: “Hagatna”, region: “Broader Pacific Practice”, group: “broadonly”, standard: false, broad: true, note: “Hagatna is used here as Guam’s capital answer.” },
{ country: “New Caledonia”, capital: “Noumea”, region: “Broader Pacific Practice”, group: “broadonly”, standard: false, broad: true, note: “Noumea is the capital of New Caledonia.” },
{ country: “Niue”, capital: “Alofi”, region: “Broader Pacific Practice”, group: “broadonly”, standard: false, broad: true, note: “Alofi is the capital of Niue.” },
{ country: “Norfolk Island”, capital: “Kingston”, region: “Broader Pacific Practice”, group: “broadonly”, standard: false, broad: true, note: “Kingston is used here as the administrative centre for Norfolk Island.” },
{ country: “Northern Mariana Islands”, capital: “Saipan”, region: “Broader Pacific Practice”, group: “broadonly”, standard: false, broad: true, note: “Saipan is the capital of the Northern Mariana Islands.” },
{ country: “Pitcairn Islands”, capital: “Adamstown”, region: “Broader Pacific Practice”, group: “broadonly”, standard: false, broad: true, note: “Adamstown is the capital settlement of the Pitcairn Islands.” },
{ country: “Tokelau”, capital: “No single capital”, region: “Broader Pacific Practice”, group: “broadonly”, standard: false, broad: true, note: “Tokelau has no single capital; its administration is shared across the atolls.” },
{ country: “Wallis and Futuna”, capital: “Mata Utu”, region: “Broader Pacific Practice”, group: “broadonly”, standard: false, broad: true, note: “Mata Utu is the capital of Wallis and Futuna.” },
{ country: “Christmas Island”, capital: “Flying Fish Cove”, region: “Broader Pacific Practice”, group: “broadonly”, standard: false, broad: true, note: “Flying Fish Cove is used here as the main settlement and capital answer for Christmas Island.” }
];const scopeEl = root.querySelector(“#acq-scope”);
const directionEl = root.querySelector(“#acq-direction”);
const lengthEl = root.querySelector(“#acq-length”);
const startBtn = root.querySelector(“#acq-start”);
const nextBtn = root.querySelector(“#acq-next”);
const restartBtn = root.querySelector(“#acq-restart”);
const statusEl = root.querySelector(“#acq-status”);
const progressEl = root.querySelector(“#acq-progress”);
const scorelineEl = root.querySelector(“#acq-scoreline”);
const cardEl = root.querySelector(“#acq-card”);
const metaEl = root.querySelector(“#acq-meta”);
const questionEl = root.querySelector(“#acq-question”);
const optionsEl = root.querySelector(“#acq-options”);
const feedbackEl = root.querySelector(“#acq-feedback”);
const resultsEl = root.querySelector(“#acq-results”);
const resultTextEl = root.querySelector(“#acq-result-text”);
const bestTextEl = root.querySelector(“#acq-best-text”);
const reviewEl = root.querySelector(“#acq-review”);let activePool = [];
let questions = [];
let review = [];
let score = 0;
let index = 0;
let answered = false;
const storageName = “oceaniaCapitalsQuizBestV1”;function shuffle(items) {
const copy = items.slice();
for (let i = copy.length – 1; i > 0; i–) {
const j = Math.floor(Math.random() * (i + 1));
const temp = copy[i];
copy[i] = copy[j];
copy[j] = temp;
}
return copy;
}function getPool() {
const scope = scopeEl.value;
if (scope === “broad”) return data.filter(item => item.broad);
if (scope === “anz”) return data.filter(item => item.group === “anz”);
if (scope === “melanesia”) return data.filter(item => item.group === “melanesia”);
if (scope === “micronesia”) return data.filter(item => item.group === “micronesia”);
if (scope === “polynesia”) return data.filter(item => item.group === “polynesia”);
return data.filter(item => item.standard);
}function getQuestionType() {
const direction = directionEl.value;
if (direction === “mixed”) {
return Math.random() > 0.5 ? “countryToCapital” : “capitalToCountry”;
}
return direction;
}function makeQuestion(item) {
const type = getQuestionType();
const answer = type === “countryToCapital” ? item.capital : item.country;
const prompt = type === “countryToCapital”
? “What is the capital of ” + item.country + “?”
: item.capital + ” is the capital of which country or entry?”;const distractorSource = scopeEl.value === “broad”
? data.filter(entry => entry.broad)
: data.filter(entry => entry.standard);const answerPool = distractorSource
.map(entry => type === “countryToCapital” ? entry.capital : entry.country)
.filter(value => value !== answer);const choices = shuffle([answer].concat(shuffle(answerPool).slice(0, 3)));return {
prompt: prompt,
answer: answer,
choices: choices,
item: item,
type: type
};
}function makeQuestionSet() {
activePool = getPool();
const requested = lengthEl.value === “full” ? activePool.length : Number(lengthEl.value);
const count = Math.min(requested, activePool.length);
const selected = shuffle(activePool).slice(0, count);
return selected.map(makeQuestion);
}function setProgress() {
const done = questions.length ? Math.round((index / questions.length) * 100) : 0;
progressEl.style.width = done + “%”;
scorelineEl.textContent = “Score: ” + score + ” / ” + questions.length;
}function renderQuestion() {
answered = false;
nextBtn.disabled = true;
feedbackEl.textContent = “”;
feedbackEl.className = “acq-feedback”;
optionsEl.innerHTML = “”;const q = questions[index];
metaEl.textContent = “Question ” + (index + 1) + ” of ” + questions.length + ” • ” + q.item.region;
questionEl.textContent = q.prompt;q.choices.forEach(choice => {
const button = document.createElement(“button”);
button.type = “button”;
button.className = “acq-option”;
button.textContent = choice;
button.addEventListener(“click”, function () {
chooseAnswer(button, choice, q);
});
optionsEl.appendChild(button);
});setProgress();
}function chooseAnswer(button, choice, q) {
if (answered) return;
answered = true;const isCorrect = choice === q.answer;
if (isCorrect) score++;const optionButtons = optionsEl.querySelectorAll(“.acq-option”);
optionButtons.forEach(option => {
option.disabled = true;
if (option.textContent === q.answer) option.classList.add(“acq-correct”);
});if (!isCorrect) button.classList.add(“acq-wrong”);feedbackEl.textContent = isCorrect
? “Correct. ” + q.item.note
: “Not quite. The correct answer is ” + q.answer + “. ” + q.item.note;feedbackEl.className = isCorrect ? “acq-feedback acq-good” : “acq-feedback acq-bad”;review.push({
question: q.prompt,
chosen: choice,
answer: q.answer,
correct: isCorrect
});scorelineEl.textContent = “Score: ” + score + ” / ” + questions.length;
nextBtn.disabled = false;
}function startQuiz() {
questions = makeQuestionSet();
review = [];
score = 0;
index = 0;resultsEl.classList.add(“acq-hidden”);
statusEl.classList.remove(“acq-hidden”);
cardEl.classList.remove(“acq-hidden”);renderQuestion();
}function showResults() {
cardEl.classList.add(“acq-hidden”);
resultsEl.classList.remove(“acq-hidden”);
progressEl.style.width = “100%”;const percent = Math.round((score / questions.length) * 100);
let message = “Good practice round. Review the missed answers and try again.”;
if (percent >= 90) message = “Excellent work. You know Oceania’s capitals very well.”;
else if (percent >= 70) message = “Strong result. A few Pacific capitals may need one more review.”;
else if (percent >= 50) message = “Solid start. The review list will help you close the gaps.”;resultTextEl.innerHTML = “You scored ” + score + ” out of ” + questions.length + “ (” + percent + “%). ” + message;const previousBest = Number(localStorage.getItem(storageName) || 0);
if (percent > previousBest) {
localStorage.setItem(storageName, String(percent));
bestTextEl.innerHTML = “New best score on this browser: ” + percent + “%.”;
} else {
bestTextEl.innerHTML = “Best score saved on this browser: ” + previousBest + “%.”;
}reviewEl.innerHTML = “”;
review.forEach(item => {
const li = document.createElement(“li”);
li.innerHTML = item.correct
? “Correct: ” + escapeText(item.question) + ” Answer: ” + escapeText(item.answer) + “.”
: “Missed: ” + escapeText(item.question) + ” Your answer: ” + escapeText(item.chosen) + “. Correct answer: ” + escapeText(item.answer) + “.”;
reviewEl.appendChild(li);
});
}function escapeText(value) {
return String(value)
.replaceAll(“&”, “&”)
.replaceAll(“”, “>”)
.replaceAll(‘”‘, “"”)
.replaceAll(“‘”, “'”);
}startBtn.addEventListener(“click”, startQuiz);nextBtn.addEventListener(“click”, function () {
index++;
if (index >= questions.length) {
showResults();
} else {
renderQuestion();
}
});restartBtn.addEventListener(“click”, startQuiz);
})();