CompareSG

Which dog can your home legally have?

77 in every 100 Singapore homes are HDB flats, and an HDB flat can keep only 61 listed breeds, their crosses and a few special cases.

Where do you live?

Pick your home. Every section changes with your pick. Rules as read from HDB and AVS on 10 Oct 2026.

Can you keep this dog?

Type a breed name. The answer follows the home you picked above.

Try:

Type a breed above. An HDB flat can keep 1 dog from the list of 61 breeds, a cross of any 2 of them, or a dog from a special route.

The checker only knows the names on the official lists below. It does not judge any breed.

Which dogs can you keep?

The 61 breeds on HDB's list. A cross of any 2 of them is allowed too.

  • Affenpinscher
  • Australian Silky Terrier
  • Australian Terrier
  • Bichon Frise
  • Bohemian Terrier
  • Bolognese
  • Brussels Griffon (also known as Griffon Bruxaellois)
  • Bichon Havanese
  • Border Terrier
  • Boston Terrier (Lightweight or Middle weight)
  • Cairn Terrier
  • Cavalier King Charles Spaniel
  • Chihuahua
  • Chinese Crested Dog
  • Chinese Imperial Chin
  • Chinese Temple Dog (Classic or Miniature)
  • Coton de tulear
  • Czech Terrier
  • Dachshund (Light or Miniature)
  • Dandie Dinmont Terrier
  • English Toy Spaniel
  • Griffon Belge
  • German Hunting Terrier
  • Griffon Brabancon
  • Hairless Dog
  • Italian Greyhound
  • Jack Russell Terrier
  • Japanese Spaniel (also known as Chin)
  • Japanese Spitz
  • Lhasa Apso
  • Little Lion Dog
  • Lakeland Terrier
  • Maltese
  • Manchester Terrier
  • Miniature Pinscher
  • Miniature Schnauzer
  • Norfolk Terrier
  • Norwich Terrier
  • Papillon
  • Pekinese
  • Pomeranian
  • Poodle (Toy or Miniature)
  • Pug
  • Schipperke
  • Scottish Terrier
  • Sealyham Terrier
  • Shetland Sheep dog
  • Shih Tzu
  • Silky Terrier
  • Small Continental Spaniel
  • Small English Terrier
  • Small Spitz
  • Smooth Fox Terrier
  • Toy Fox Terrier
  • Toy Terrier
  • Tibetan Spaniel
  • Volpino Italiano
  • West Highland Terrier
  • Wire-Haired Fox Terrier
  • Welsh Terrier
  • Yorkshire Terrier

A local mixed-breed dog

Project ADORE lets you adopt a Singapore Special up to 55 cm in height. Only 1 dog per flat.

A retired sniffer dog

Project ADORE's K-9 Scheme: Labrador, English Springer, Cocker Spaniel, Pointer. Only 1 dog per flat.

A trained assistance dog

For flat owners or occupiers who are blind, deaf or hard of hearing, or have a physical disability, with conditions.

Anything else, such as a Golden Retriever, is not allowed as an ordinary pet in an HDB flat.

How many pets can you keep?

Each circle is one pet you can keep at the same time.

Dogs: 1, from the approved list
Cats: up to 2

DogCat

An HDB flat can have 3 pets at most: 1 dog and 2 cats.

More finds for your pick

Can a Labrador live in an HDB flat?
Yes, if retired
Through Project ADORE's K-9 Scheme, a retired sniffer dog of 4 breeds can live in a flat: Labrador, English Springer, Cocker Spaniel or Pointer. Only 1 dog per flat.
How many breeds are on the HDB list?
61, not 62
The list has 62 numbered items, but item 62 is the rule that a cross of any 2 breeds in items 1 to 61 is allowed.
Can a Rottweiler or German Shepherd live in an HDB flat?
No
Neither can any other dog on AVS's Specified list (13 entries, such as Rottweiler, Doberman and Pit Bull). No Specified dog can be kept in an HDB flat.
What does breaking the pet rules cost?
Up to S$4,000
HDB says keeping more pets than the limit, or a dog that is not allowed, can bring a fine of up to S$4,000.
Is a mixed-breed dog allowed in an HDB flat?
Yes, in 2 ways
A cross of any 2 breeds on HDB's list is allowed. So is a local mixed-breed dog up to 55 cm, adopted through Project ADORE. Only 1 dog per flat.

The short version

Dog rules in Singapore: 77 in every 100 resident households live in an HDB flat, which can keep 1 dog from 61 listed breeds (or a cross of 2), against up to 3 cats or dogs in a private home, with no Specified dog allowed in an HDB flat, from HDB and AVS rules read on 10 Oct 2026.

An HDB flat can keep 1 dog and up to 2 cats. The dog must be one of 61 breeds on HDB's list, a cross of any 2 of them, or come through a special route: a local mixed-breed dog up to 55 cm (Project ADORE), a retired sniffer dog of 4 breeds (Labrador, English Springer, Cocker Spaniel or Pointer), or a trained assistance dog. The list has 62 numbered items, but item 62 is the rule about crosses, so there are 61 breeds.

A private home (condo, landed or other non-HDB) can keep up to 3 cats or dogs, or more with AVS's approval. AVS's Specified list has 8 breeds in Part 1, which are not allowed into Singapore, and 5 in Part 2, which are allowed with a muzzle in public, S$100,000 insurance and a banker's guarantee of S$2,000. Part 1 dogs already licensed carry the same rules plus sterilisation and a S$5,000 guarantee. No Specified dog can live in an HDB flat, and a private home can have only 1.

These pages say what is allowed. We found no official count of dogs by breed, so this page does not say how many of each breed there are.

By Ben (opens in a new tab). Updated . Data: HDB, AVS (NParks) and SingStat.

Questions people ask

Which dog breeds are allowed in HDB flats?

HDB lists 61 breeds, from Affenpinscher to Yorkshire Terrier, and also allows a cross of any 2 of them. The full list is in the table below. A breed that is not on the list, such as a Golden Retriever, is not allowed as an ordinary pet in an HDB flat.

How many dogs can you keep in an HDB flat?

One dog per flat, from the approved list. An HDB flat can also keep up to 2 cats. HDB says keeping more than the limit can bring a fine of up to S$4,000.

Can you keep a Labrador or a Golden Retriever in an HDB flat?

Neither is on the HDB list. The one route for a Labrador is Project ADORE's K-9 Scheme, which lets you adopt a retired sniffer dog of 4 breeds: Labrador, English Springer, Cocker Spaniel or Pointer. Only 1 dog is allowed in each flat. A Golden Retriever is not among those 4 breeds.

Can you keep a local mixed-breed dog (a Singapore Special) in an HDB flat?

Yes, through Project ADORE: a local mixed-breed dog up to 55 cm in height, adopted through the scheme's animal welfare groups. Only 1 dog is allowed in each flat. A flat owner or occupier who is blind, deaf or hard of hearing, or has a physical disability, may also keep a trained assistance dog, with conditions.

How many cats or dogs can you keep in a condo or landed home?

A maximum of 3 cats or dogs, or a mix of both, in any one private (non-HDB) home. To keep more than 3 you need AVS's approval, which it decides case by case. These are AVS's limits for private homes. Your condo's own management rules were not checked.

Which dogs are on AVS's Specified list?

Part 1: Pit Bull (which includes the American Pit Bull Terrier, American Staffordshire Terrier, Staffordshire Bull Terrier and American Bulldog), Akita, Neapolitan Mastiff, Tosa, Dogo Argentino, Fila Brasileiro, Boerboel and Perro De Presa Canario, plus crosses. Part 2: Bull Terrier, Doberman Pinscher, Rottweiler, German Shepherd Dog and related breeds, and Mastiffs, plus crosses.

What extra rules apply to a Specified dog?

In public the dog must be leashed and muzzled, and the owner must hold insurance of at least S$100,000, a banker's guarantee (S$5,000 for Part 1, S$2,000 for Part 2) and take the dog through training. A Part 1 dog must also be sterilised if over 6 months old. Not following the rules can bring a fine of up to S$5,000. No Specified dog can be kept in an HDB flat, and a private home can have only 1.

Can you bring a Part 1 breed into Singapore?

No. AVS says Part 1 breeds, except dogs already licensed, are not allowed into Singapore, whether for sale, a visit or to stay.

How many Singapore homes are HDB flats?

77 in every 100 resident households in 2025: 77.2% live in an HDB flat, out of about 1.49 million resident households (SingStat's General Household Survey). The other 23 in every 100 live in condos, landed homes or other housing.

How many dogs of each breed are licensed in Singapore?

We found no official breed-by-breed count, so this page does not give one. It covers what each breed is allowed, not how many there are.

The numbers behind it

HDB-approved dog breeds, items 1 to 62 exactly as HDB writes them
ItemBreed
1Affenpinscher
2Australian Silky Terrier
3Australian Terrier
4Bichon Frise
5Bohemian Terrier
6Bolognese
7Brussels Griffon (also known as Griffon Bruxaellois)
8Bichon Havanese
9Border Terrier
10Boston Terrier (Lightweight or Middle weight)
11Cairn Terrier
12Cavalier King Charles Spaniel
13Chihuahua
14Chinese Crested Dog
15Chinese Imperial Chin
16Chinese Temple Dog (Classic or Miniature)
17Coton de tulear
18Czech Terrier
19Dachshund (Light or Miniature)
20Dandie Dinmont Terrier
21English Toy Spaniel
22Griffon Belge
23German Hunting Terrier
24Griffon Brabancon
25Hairless Dog
26Italian Greyhound
27Jack Russell Terrier
28Japanese Spaniel (also known as Chin)
29Japanese Spitz
30Lhasa Apso
31Little Lion Dog
32Lakeland Terrier
33Maltese
34Manchester Terrier
35Miniature Pinscher
36Miniature Schnauzer
37Norfolk Terrier
38Norwich Terrier
39Papillon
40Pekinese
41Pomeranian
42Poodle (Toy or Miniature)
43Pug
44Schipperke
45Scottish Terrier
46Sealyham Terrier
47Shetland Sheep dog
48Shih Tzu
49Silky Terrier
50Small Continental Spaniel
51Small English Terrier
52Small Spitz
53Smooth Fox Terrier
54Toy Fox Terrier
55Toy Terrier
56Tibetan Spaniel
57Volpino Italiano
58West Highland Terrier
59Wire-Haired Fox Terrier
60Welsh Terrier
61Yorkshire Terrier
62Cross of any 2 breeds in items 1 to 61
AVS Specified dogs (First Schedule of the Animals and Birds (Licensing and Control of Cats and Dogs) Rules 2024)
PartBreedsInto SingaporeBanker's guaranteeOther conditions
Part 1Pit Bull (American Pit Bull Terrier, American Staffordshire Terrier, Staffordshire Bull Terrier, American Bulldog and crosses between them and other breeds); Akita; Neapolitan Mastiff; Tosa; Dogo Argentino; Fila Brasileiro; Boerboel; Perro De Presa Canario; and crossesNot allowed, except dogs already licensedS$5,000Leashed and muzzled in public; sterilised if over 6 months; insurance of at least S$100,000; training
Part 2Bull Terrier; Doberman Pinscher; Rottweiler; German Shepherd Dog and its related breeds such as the Belgian Shepherd Dog and the East European Shepherd Dog; Mastiffs, including the Bull Mastiff, Cane Corso and Dogue De Bordeaux; and crossesAllowedS$2,000Leashed and muzzled in public; insurance of at least S$100,000; training
How many pets, by home (AVS limits of ownership, and HDB)
HomeSpecified dogsOther cats and dogsMost pets
HDB flat01 dog from the approved list, and up to 2 cats3
Private home00 to 3 cats or dogs3
Private home10 to 2 cats or dogs3
Resident households by type of dwelling, 2025 (SingStat General Household Survey)
Kind of homeShare of resident householdsIn every 100
HDB flat77.2%77
Anything else (condo, landed home, other housing)22.8%23
All resident households1,487.1 thousand100

The boring bit

Where the data comes from

The breed list, the limits and the special routes for an HDB flat come from HDB's page Guidelines on Keeping Pets (opens in a new tab). The limits for private homes come from AVS's Limits of ownership (opens in a new tab) (last updated by AVS on 5 Oct 2026), and the Specified lists and their conditions from AVS's Specified dogs (opens in a new tab) (last updated 5 Oct 2026). The share of homes comes from SingStat's Resident Households by Type of Dwelling, 2000 - 2025 (opens in a new tab) on data.gov.sg and the resident households figures (opens in a new tab). All were read on 10 Oct 2026.

What is not claimed

  • This is not legal advice. Rules change, and these are the rules as read on 10 Oct 2026. AVS and HDB decide how a rule applies to your dog.
  • Your own condo's or estate's management rules, and any lease or tenancy rules, were not checked. They can be stricter than HDB's and AVS's.
  • The checker matches breed names and the spellings given on the official lists. Whether a particular dog counts as a breed or a cross is for AVS and HDB to decide.
  • The page says what each breed is allowed, and nothing about how any breed behaves. We found no official count of licensed dogs by breed, so there are none here.
  • The share of homes is a survey estimate for resident households, which means households where the main person is a citizen or permanent resident. It leaves out households of other residents.
  • "Anything else" in the home count means every home that is not an HDB flat. AVS's "private" means any non-HDB home, residential or commercial, so the two groups are close but not the same.
  • Specified dogs licensed before 15 Nov 2010 are not affected by the limit of 1 per private home. The Part 1 rule on bringing dogs in does not apply to dogs already licensed.
  • Nothing here says anything about any person, or about how well any breeder, shelter or trainer does their work.

Coverage

All 61 breeds and the crosses item on the HDB list, all 8 Part 1 and 5 Part 2 entries on AVS's Specified list, all 3 rows of AVS's limits for private homes and the HDB limits, and the 2025 row of the household table were used. Nothing was left out or estimated.

Report an error. Corrections are logged publicly with a date.

How we did it
Reading official pagesList matchingCount checksRounding half up
  1. Read the official pages. We copied each list word for word from HDB and AVS, with the date we read them.
  2. Counted the lists in code. The page checks that HDB's list has 62 items with item 62 being the rule about crosses, that Part 1 has 8 breeds and Part 2 has 5, and that the 4 sized breeds are the ones with a size in brackets.
  3. Worked out the home share. 77.2 rounds to 77 in every 100, and 100 minus 77.2 is 22.8, which rounds to 23.
  4. Built the checker from the same lists. It matches a typed name against every breed name and spelling, and answers for the home you picked.
Show the code
const norm = s => s.toLowerCase().replace(/[^a-z]/g, "");
const GENERIC = ["bulldog", "shepherd", "american", "english", "australian", ...D.hdb.flatMap(b => b.n.toLowerCase().split(/[^a-z]+/)).filter(w => w.length >= 4)];
const KEYS = [];
D.hdb.forEach(b => { [b.n, ...b.a, b.n.replace(/\s*\(.*\)/, "")].forEach(a => KEYS.push({k: norm(a), kind: "hdb", e: b})); });
D.spec.forEach(s => { [s.n, ...s.a].forEach(a => KEYS.push({k: norm(a), kind: "p" + s.p, e: s})); });
const MIXED = ["mix", "mongrel", "singaporespecial", "cross", "mutt"];
const CROSS_WORDS = ["cross", "crossbreed", "crossbred", "crossed", "mix", "mixed", "mixedbreed", "mongrel", "mutt", "x"];
const FILLER = ["breed", "dog", "singapore", "special", "local", "with", "and", "between", "a", "an", "the", "of", "or"];
const SIZES = ["standard", "giant", "medium", "moyen", "large", "intermediate", "heavy"];   // HDB lists only the small sizes of some breeds
function lookup(raw) {
  const key = norm(raw);
  if (key.length < 3) return {none: true, key};
  const words = raw.toLowerCase().split(/[^a-z]+/).filter(Boolean);
  if (MIXED.some(m => key.includes(m)) || words.some(w => CROSS_WORDS.includes(w))) {
    const rest = words.filter(w => !CROSS_WORDS.includes(w) && !FILLER.includes(w));   // the breed names next to the word "cross", if any
    const glued = rest.map(w => CROSS_WORDS.reduce((k, c) => c.length >= 3 ? k.split(c).join("") : k, w)).filter(Boolean).map(w => w.length > 5 && w.endsWith("s") ? w.slice(0, -1) : w);   // "Rottweilercross" -> "rottweiler", "Tosas" -> "tosa"
    const rk = glued.join("");
    if (["bulldog", "bulldogs"].includes(rk)) return {bulldog: true, key};
    const wins = [];   // every run of one to four words, as one key
    for (let i = 0; i < glued.length; i++) for (let j = i + 1; j <= Math.min(glued.length, i + 4); j++) wins.push(glued.slice(i, j).join(""));
    const SP = KEYS.filter(x => x.kind !== "hdb");
    let spec = SP.filter(x => wins.includes(x.k));   // 1. a whole name
    if (!spec.length) spec = SP.filter(x => x.k.length >= 5 && wins.some(w => w.includes(x.k)));   // 2. a longer phrase holding a name ("Rottweilers")
    if (!spec.length) for (const w of wins) {   // 3. part of one name ("Dogo", "Corso"); a word shared by several breeds ("Terrier") does not count
      const part = w.length >= 4 && !GENERIC.includes(w) ? SP.filter(x => x.k.includes(w)) : [];   // a single word that also names a listed breed ("Japanese", "Pinscher") or any bulldog or shepherd is too general
      if (new Set(part.map(x => x.e.n)).size === 1) { spec = part; break; }
    }
    if (spec.length) return {key, list: [spec[0]], k9: null, sizeOf: [], partial: false, cross: true};
    return {mixed: true, named: rest.length > 0, key};
  }
  if (key === "bulldog" || key === "bulldogs") return {bulldog: true, key};
  let hit = KEYS.filter(x => x.k === key), sizeOf = [];
  if (!hit.length) hit = KEYS.filter(x => x.k.length >= 5 && key.includes(x.k));
  if (hit.length && SIZES.some(w => key.includes(w)) && !KEYS.some(x => x.k === key)) { sizeOf = hit; hit = []; }
  let partial = false;
  if (!hit.length && !sizeOf.length && key.length >= 4) { hit = KEYS.filter(x => x.k.includes(key)); partial = hit.length > 0; }
  const seen = new Map(); hit.forEach(x => seen.set(x.kind + x.e.n, x));
  const list = [...seen.values()];
  const k9 = D.k9.find(b => norm(b).includes(key) || key.includes(norm(b)));
  return {key, list, k9, sizeOf, partial};
}

Source: HDB, AVS (NParks) and SingStat, read 10 Oct 2026. Contains information from data.gov.sg made available under the Singapore Open Data Licence.