Bali Land Zones: Colors, Codes, RDTR — What Investors Need to Know

When someone shows you a plot and says, “this is a yellow zone, everything is fine,” that answer is too short. On the map of Indonesia’s Ministry of Agrarian Affairs, plots are highlighted in five colors: — green — agricultural land; — yellow — residential development; — red — commercial; — pink — tourism; — orange — mixed commercial and residential. Colors are a visual simplification. Under the law, land is divided not into five colors, but into more than 30 zone codes and subcodes. In each zone, the law describes more than two hundred permitted building types. To understand whether you can build a villa, apartments, or a tourism property on a plot, it is not enough to see a yellow spot on the map. You need to take three steps: 1. Find out the exact code and subcode of the plot on the Ministry of Agrarian Affairs website. 2. Open the RDTR document (Rencana Detail Tata Ruang) — the detailed spatial plan for the specific district or regency. 3. Study the RDTR requirements for exactly the type of building you plan: height, density, setbacks, permitted use. If the RDTR does not allow a villa, no “green certificate” from the seller will legalize it. The seriousness of the RDTR is confirmed by Law No. 26 of 2007 “On Spatial Planning.” When using land, everyone must comply with the spatial plan and land-use permits. A violation is not a fine — it is demolition. What an investor should do: — Never accept a “zone” stated by a seller as fact. Check it yourself on the portal or through a lawyer. — If you are promised a rental villa on agricultural land, this is a gray scheme. Bali authorities are preparing a moratorium on tourism construction in green zones, and the project may become prohibited at any moment. — In the contract, specify that the developer is responsible for obtaining a PBG (building permit) that complies with the RDTR. In Bingin, 45 buildings were demolished in 2025 specifically for zoning violations. This is not theory — this is money that is already gone.

More articles