Spring til indhold

Plandata · Planloven

Zone og lokalplan på et koordinat — med status, PDF og bebyggelsesprocent

Hvilken zone ligger grunden i, hvilke lokalplaner og kommuneplanrammer dækker den, og hvad må der bygges? Ét kald læser kommunernes planer i Plandata — og på et BFE får du en vejledende restbyggeret med alle input.

Én ejendom, alle planer

Hvilke planer gælder grunden — og hvad må der bygges?

Vælg et eksempel eller søg en adresse. Zone, lokalplaner, delområder og kommuneplanrammer tegnes fra Plandata; en plan, der kun dækker en del af grunden, siges som sådan.

Søg i alle 2,7 mio. danske adgangsadresser.

Prøv fx

Eksempler
  • Zone
    Byzone
    Lokalplan 208
    d'Angleterre
    Lokalplan 152
    Strøget (en del af grunden)
    Ramme R24.S.1.44
    Erhvervsområde

    Henter registrets geometri …

    $.plan
    {"zone": {"status": "byzone","kilde": "zonekort","kommune": {"kode": 101,"navn": "København"},"konflikt": false},"har_lokalplan": true,"lokalplaner": [{"plannr": "208","navn": "d'Angleterre","status": "vedtaget","anvendelse": null,"dokument_url": "https://dokument.plandata.dk/20_1072552_APPROVED_1202814356214.pdf","bebyggelsesprocent": null,"max_etager": null,"max_hoejde_m": null,"ved_punkt": true},// … 1 mere],"kommuneplanramme": {"rammenr": "R24.S.1.44","navn": "R24.S.1.44 - S","anvendelse": "Erhvervsområde","dokument_url": "https://dokument.plandata.dk/11_11347088_1737715824963.pdf","bebyggelsesprocent": null},"omfang": "grund","zoner_paa_grunden": ["byzone"],"andre_kommuneplanrammer": [],"restbyggeret": {"vejledende": true,"restbyggeret_m2": 7756,"tilladt_etageareal_m2": 18499,"grundlag": {"kilde": "delomraade","plan_id": 1072950,"plannr": "208","delnr": "I","bebyggelsesprocent": 690,"beregnes_af": "Den enkelte ejendom"},"grundareal_m2": 2681,"antal_jordstykker": 1,"eksisterende_etageareal_m2": 10743,"eksisterende_bebygget_areal_m2": 2518,"antal_bygninger": 3,"bygninger_uden_etageareal": 2,"formel": "restbyggeret_m2 = bebyggelsesprocent / 100 × grundareal_m2 − eksisterende_etageareal_m2","ikke_beregnet": null,"forbehold": "Vejledende beregning. Planens tekst (dokument_url) er afgørende, og bygningsreglementets definition af etageareal — herunder hvilke kældre, carporte, garager og udhuse der ikke medregnes — kan ikke læses af registrene. Kontakt kommunen før et projekt."}}
    curl "https://api.grundfast.dk/v1/plan/ejendom/6010136" \
      -H "Authorization: Bearer $GRUNDFAST_API_KEY"

    svarede efter 807 ms i sammensætningenMere om Plandata →

Zone

Byzone

Byggeri følger lokalplan, kommuneplan og bygningsreglementet.

  • Lokalplan 208· gælder grunden

    d'Angleterre

    Plandata bærer ingen tal for bebyggelsen — de står i planens tekst.

    Læs planen (PDF) →
  • Lokalplan 152· en del af grunden

    Strøget

    Anvendelse
    Erhvervsområde
    Læs planen (PDF) →
  • Kommuneplanramme R24.S.1.44

    Anvendelse
    Erhvervsområde

    Binder kommunens planlægning, ikke grundejeren direkte.

    Læs planen (PDF) →

Restbyggeret · vejledende

Ca. 7.756 m² etageareal tilbage

690 % af 2.681 m² grund giver 18.499 m²; BBR registrerer 10.743 m² etageareal i dag. Procenten er fra delområde I i lokalplan 208.

Tilladt
Bygget (BBR)

2 bygninger uden etageareal i BBR er ikke talt med. Bygningsreglementet afgør, hvad der tæller som etageareal (kældre, carporte, udhuse), og planens tekst går forud. Spørg kommunen før et projekt.

På planen: zonen som flade, lokalplaner med fuld streg og deres nummer, delområder stiplet, kommuneplanrammer prikket. Det, der rammer grunden, står stærkest — peg på en plan her, så lyser den på kortet.

Hvad du får

Planerne, som registret siger dem — og intet, det ikke siger

Vedtaget, forslag og aflyst hver for sig

status

Status læses fra registret, ikke fra planens navn — i Ringsted hedder en vedtaget plan bogstaveligt “Forslag til lokalplan 328”. Aflyste planer står i en liste for sig.

Landzone siges, ikke gættes

zone.kilde: "afledt"

Zonekortet rummer kun by- og sommerhusområder. Landzone er resten (§ 34), og svaret siger, at det er afledt. Til havs svarer vi 404.

Planens PDF følger med

dokument_url

Hver plan peger på sin PDF hos Plandata. Det er den, der afgør — tallene i svaret er registrets uddrag af den.

“Ingen lokalplan” kommer aldrig af en fejl

502, aldrig tom

Kan Plandata ikke nås, er et lag tomt, eller er svaret afkortet, får du 502. En tom liste er altid et målt svar.

Prøv det

Kald demoen — uden nøgle

Demo-endpointet svarer med et rigtigt opslag: en villagrund i Silkeborg i byzone, uden lokalplan, under en kommuneplanramme på 30 % — og restbyggeretten regnet fra BBR og Matriklen for samme ejendom.

GET/v1/demo/plan

Solbakkevej 70, Silkeborg · byzone · ramme 10-B-41 · restbyggeret vejledende

svar hentet 1. oktober 2026
{
  "punkt": {
    "lon": 9.5328657,
    "lat": 56.1578621
  },
  "epsg25832": [
    533097.89,
    6223777.27
  ],
  "bfe_nummer": 5651067,
  "zone": {
    "status": "byzone",
    "kilde": "zonekort",
    "kommune": {
      "kode": 740,
      "navn": "Silkeborg"
    },
    "konflikt": false
  },
  "har_lokalplan": false,
  "lokalplaner": [],
  "delomraader": [],
  "kommuneplanrammer": [
    {
      "plan_id": 10972225,
      "rammenr": "10-B-41",
      "navn": "Sydbyen vest",
      "status": "vedtaget",
      "distrikt": null,
      "kommune": {
        "kode": 740,
        "navn": null
      },
      "anvendelse": "Boligområde",
      "zone": "Byzone",
      "fremtidig_zone": "Byzone",
      "datoer": {
        "forslag": "2022-01-31",
        "vedtaget": "2022-08-29",
        "ikrafttraedelse": "2022-09-12",
        "aflyst": null
      },
      "dokument_url": "https://dokument.plandata.dk/12_10972215_1662721059028.pdf",
      "bebyggelse": {
        "bebyggelsesprocent": 30,
        "beregnes_af": "Den enkelte ejendom",
        "max_etager": 2,
        "max_hoejde_m": 8.5
      }
    },
    {
      "plan_id": 12189078,
      "rammenr": "10-B-41",
      "navn": "Sydbyen vest, Sydbyen",
      "status": "forslag",
      "distrikt": null,
      "kommune": {
        "kode": 740,
        "navn": null
      },
      "anvendelse": "Boligområde",
      "zone": null,
      "fremtidig_zone": "Byzone",
      "datoer": {
        "forslag": "2026-05-26",
        "vedtaget": null,
        "ikrafttraedelse": null,
        "aflyst": null
      },
      "dokument_url": "https://dokument.plandata.dk/12_12189076_1780294192892.pdf",
      "bebyggelse": {
        "bebyggelsesprocent": 30,
        "beregnes_af": "Den enkelte ejendom",
        "max_etager": 2,
        "max_hoejde_m": null
      }
    }
  ],
  "aflyste_lokalplaner": [],
  "restbyggeret": {
    "vejledende": true,
    "restbyggeret_m2": 22,
    "tilladt_etageareal_m2": 138,
    "grundlag": {
      "kilde": "kommuneplanramme",
      "plan_id": 10972225,
      "plannr": "10-B-41",
      "delnr": null,
      "bebyggelsesprocent": 30,
      "beregnes_af": "Den enkelte ejendom"
    },
    "grundareal_m2": 460,
    "antal_jordstykker": 1,
    "eksisterende_etageareal_m2": 116,
    "eksisterende_bebygget_areal_m2": 141,
    "antal_bygninger": 3,
    "bygninger_uden_etageareal": 2,
    "formel": "restbyggeret_m2 = bebyggelsesprocent / 100 × grundareal_m2 − eksisterende_etageareal_m2",
    "ikke_beregnet": null,
    "forbehold": "Vejledende beregning. Planens tekst (dokument_url) er afgørende, og bygningsreglementets definition af etageareal — herunder hvilke kældre, carporte, garager og udhuse der ikke medregnes — kan ikke læses af registrene. Kontakt kommunen før et projekt. Bebyggelsesprocenten er hentet fra kommuneplanrammen, som binder kommunens planlægning og ikke grundejeren direkte; uden lokalplan afgør kommunen sagen efter byggeloven og bygningsreglementet."
  },
  "kilde": {
    "wfs": "https://geoserver.plandata.dk/geoserver/wfs",
    "lag": [
      "pdk:theme_pdk_kommuneplan_oversigt_vedtaget",
      "pdk:theme_pdk_zonekort_v",
      "pdk:theme_pdk_lokalplan_vedtaget",
      "pdk:theme_pdk_lokalplan_forslag",
      "pdk:theme_pdk_lokalplan_aflyst",
      "pdk:theme_pdk_lokalplandelomraade_vedtaget",
      "pdk:theme_pdk_lokalplandelomraade_forslag",
      "pdk:theme_pdk_kommuneplanramme_alle_vedtaget_v",
      "pdk:theme_pdk_kommuneplanramme_alle_forslag_v"
    ]
  },
  "meta": {
    "kilde": "Plandata.dk (Plan- og Landdistriktsstyrelsen) via Grundfast",
    "grundfast_version": "0.1.0"
  }
}

Med din egen nøgle: GET /v1/plan/ejendom/:bfe

Kom i gang gratis

Kald det

Et koordinat eller et BFE ind, planerne ud

Koordinat-opslaget giver zone og planer. BFE-opslaget slår op inde på ejendommens største jordstykke og lægger restbyggeretten oveni. Samme gf_live_-nøgle og metering som de øvrige registre.

# På et koordinat
curl -H "Authorization: Bearer gf_live_…" \
  "https://api.grundfast.dk/v1/plan?lon=12.373631&lat=55.791429"

# På en ejendom — med vejledende restbyggeret
curl -H "Authorization: Bearer gf_live_…" \
  "https://api.grundfast.dk/v1/plan/ejendom/5651067"

Reference

Felterne i svaret

Felter i plan-svaret
FeltTypeBetydning
zoneobjectbyzone, sommerhusomraade eller landzone. kilde: "zonekort" når et polygon dækker punktet, "afledt" for landzone — zonekortet rummer kun by- og sommerhusområder, og planlovens § 34 gør resten til landzone.
har_lokalplanbooleanOm mindst én VEDTAGET lokalplan dækker punktet. Et målt svar — en fejl giver 502, aldrig false.
lokalplaner[]object[]Vedtagne og forslag: plannr, navn, status, anvendelse, datoer, dokument_url (planens PDF) og bebyggelse (bebyggelsesprocent, beregnes_af, max_etager, max_hoejde_m).
delomraader[]object[]Lokalplanens delområder ved punktet — ofte dér bebyggelsesprocenten står.
kommuneplanrammer[]object[]Rammer fra kommuneplan og kommuneplantillæg: rammenr, anvendelse, nuværende og fremtidig zone, bebyggelse.
aflyste_lokalplaner[]object[]Lokalplaner ved punktet, der er aflyst, bortfaldet eller tilbagetrukket — holdt adskilt fra dem, der gælder.
restbyggeretobject | nullKun på /v1/plan/ejendom/:bfe. Vejledende: tilladt etageareal minus eksisterende, med alle input ekkoet — eller null med årsagen i ikke_beregnet.
Kanttilfælde: afledt landzone, ingen restbyggeret, 404 og 502Svar ud over det normale, som API’et skriver dem
# Ingen zonekort-polygon: landzone efter planlovens § 34 — og det står i svaret:
GET /v1/plan?lon=11.9&lat=55.6
→ 200  { zone: { status: "landzone", kilde: "afledt",
                 kommune: { kode: 350, navn: "Lejre" } },
         har_lokalplan: false, lokalplaner: [] }

# Bebyggelsesprocenten gælder området som helhed — ingen restbyggeret pr. grund:
GET /v1/plan/ejendom/{bfe}
→ 200  { restbyggeret: { restbyggeret_m2: null,
           ikke_beregnet: "Bebyggelsesprocenten beregnes for området som helhed, …" } }

# Punktet ligger uden for alle kommuner (på havet):
→ 404  { error: "no kommune covers this point …" }   # ALDRIG "landzone"

# Plandata kan ikke nås, eller et lag er tømt:
→ 502  { error: "upstream Plandata (plandata.dk WFS) error" }   # ALDRIG "ingen lokalplan"
Sådan regnes restbyggerettenOg hvornår den ikke regnes

restbyggeret_m2 = bebyggelsesprocent / 100 × grundareal_m2 − eksisterende_etageareal_m2. Procenten tages fra den mest specifikke vedtagne plan — delområde, så lokalplan, så kommuneplanramme; et forslag bruges aldrig. Grundarealet er summen af Matriklens registrerede arealer, etagearealet BBR’s samlede bygningsareal. Bygninger uden registreret etageareal (typisk carporte og udhuse) tælles og nævnes, men regnes ikke med.

Tallet er null med en årsag, når procenten gælder området som helhed, er 0, når to vedtagne planer er uenige, når den gælder det enkelte jordstykke på en ejendom med flere, eller når BBR ikke kunne læses. Et tal på forkert grundlag ville ligne en byggeret — derfor intet tal.

Hvem bruger det

Før skitsen, i købsaftalen, i desk studyet

Spørgsmål

Ofte stillede spørgsmål

Fra Plandata.dk, Plan- og Landdistriktsstyrelsens register over kommunernes planer. Ét opslag læser ni lag på én gang: kommuneplanen (for kommunen), zonekortet, vedtagne, foreslåede og aflyste lokalplaner, lokalplanernes delområder i vedtaget og forslag, og kommuneplanrammerne inklusive dem, der er ændret ved kommuneplantillæg.

Zonekortet rummer kun byzone og sommerhusområder — vi har talt det: ingen landzone-polygoner. Efter planlovens § 34 er alt andet landzone. Ligger punktet uden for begge, svarer vi derfor landzone med kilde: "afledt", og først efter at have tjekket, at zonekortet faktisk svarer med indhold. Ligger punktet uden for alle kommuner — på havet — svarer vi 404, ikke landzone.

Nej. Om der er en lokalplan, afgør hvordan kommunen behandler et projekt, så har_lokalplan: false og en tom liste kommer kun af et opslag, der lykkedes. Nedetid, et svar der ikke er JSON, et afkortet svar og et lag, der pludselig er tomt, giver alle 502.

Status står i registret, og vi læser den derfra — ikke fra planens navn eller datoer. Et forslag binder ikke endnu, men fortæller hvad der er på vej; det står ved siden af de vedtagne planer, med vedtagne først. Aflyste, bortfaldne og tilbagetrukne lokalplaner ligger i en liste for sig, så de aldrig læses som gældende.

Den er vejledende. På /v1/plan/ejendom/:bfe tager vi bebyggelsesprocenten fra den mest specifikke vedtagne plan (delområde, så lokalplan, så kommuneplanramme), ganger med grundarealet fra Matriklen og trækker BBR’s samlede bygningsareal fra. Alle input står i svaret. Bygningsreglementets regler for, hvad der tæller med i etagearealet — kældre, carporte, udhuse — kan ikke læses af registrene, og planens tekst er altid det, der afgør sagen.

Når grundlaget ikke tillader et tal pr. ejendom: hvis bebyggelsesprocenten gælder området som helhed, hvis den er 0 (Plandata bruger 0 både for intet byggeri og for ikke angivet), hvis to vedtagne planer på samme niveau er uenige, hvis procenten gælder det enkelte jordstykke og ejendommen har flere, eller hvis BBR ikke kunne læses. Så er restbyggeret_m2 null, og ikke_beregnet siger hvorfor.

Ikke direkte — rammen binder kommunens planlægning, mens lokalplanen binder grundejeren. Er der ingen lokalplan, kan svaret bruge rammens bebyggelsesprocent til restbyggeretten, men forbeholdet siger det højt.

lon/lat i WGS84; DAWA-stilen x/y med srid=4326 eller 25832 virker også. BFE-varianten slår planerne op i et punkt, der garanteret ligger inde på ejendommens største jordstykke. Et opslag er ét kald — også BFE-varianten, selvom den læser tre registre.

Se også

Plandata-API

Zone og lokalplan på et koordinat — med restbyggeret pr. ejendom

Opret en gratis nøgle og send dit første koordinat. Samme nøgle giver BBR, matrikel, byggelinjer og jordforurening.

Gratis op til 5.000 kald/md · intet kreditkort · data fra Plandata.dk