Skip to main content

Forcodes Introduction

FORCODES - A Vietnam location identification code system


1. Overview

1.1 What is Forcodes?

  • Forcodes is a "Make in Vietnam" location identification code system, by 44+ Technologies. It’s easy to read, remember, and share, letting you pinpoint a place with a short code. Instead of long addresses or hard-to-share coordinates, you can use a compact code like HN8HFHOIFD.
  • Forcodes leverages a geodatabase of over 22.000.000 verified and daily updated addresses, with AI identification technology based on over 2.000.000.000 street-level 360° photos across Vietnam.
  • Forcodes use L6 Hexagon algorithm (created by 44+ Technologies)

1.2 How does it work?

  • The map is divided into small "grid" cells covering the entire country/world.
  • Each cell has a unique code.
  • A familiar region prefix comes first (HN = Hà Nội, HCM = Ho Chi Minh City, DNG = Đà Nẵng, …).
  • Followed by a compact location code that identifies the cell.
  • When you enter a code, the system takes you to the exact position (the cell center) on the map.
  • The more “detailed” the code (higher resolution), the higher the accuracy—from area-level down to buildings/rooms.

1.3 Extensions for 3D Space and Dynamic Objects

  • Problem: Need to identify apartments on different floors, underground structures, or the location of mobile objects (vehicles, drones).
  • Solution: ForCodes can be extended using standardized suffixes. The core ForCode will identify 2D locations on the earth's surface.
    • Altitude: ...-MPQRV.Z+120 (120 meters above ground level).
    • Floor: ...-MPQRV.F15 (15th floor of a building).
    • Dynamic objects: ...-MPQRV.T[timestamp] to identify a location at a specific time. This approach allows adding a new layer of information without changing the core code system

1.4 Key benefits

BenefitDescriptionReal-world example
🎯 ShortOnly 8–12 characters vs. long addresses"HN8HFHOIFD" vs. "No. 15, Alley 123 ABC St, Ward XYZ…"
🇻🇳 Local-firstStarts with familiar province/city codesHN (Hà Nội), HCM (TP.HCM), DNG (Đà Nẵng)
⚡ FastSearch and share instantlyPaste code into app → shows on map
🎯 AccurateFrom area-level down to metersFrom districts to meeting rooms
💰 Cost-savingLower ops and staffing costsFewer mistakes → less rework

1.5 Comparison with other systems

MethodExampleProsCons
Traditional address"15, Alley 123 ABC St, Ward XYZ, Hà Nội"FamiliarLong, hard to remember, easy to confuse
GPS coordinates"21.028511, 105.804817"Highly preciseHard to remember or communicate
PlusCode"7PH72QMQ+37"ShortUnfamiliar, hard to read
What3Words"kiem.tra.vi.tri"MemorableNeeds internet, can be confused
🚀 Forcodes"HN8HFHOIFD"Short + Familiar + AccurateNew, needs adoption

2. Algorithm & Technology

2.1 Forcodes format

[Province code][Ward code][Location code]
Example: HNCG8HFHOIFD (Hà Nội, Cầu Giấy Ward)

Conventions:

  • Province/City code: 2–3 uppercase ASCII letters, no accents, following the admin code table (e.g., HN = Hà Nội, HCM = Ho Chi Minh City, DNG = Đà Nẵng)
  • Ward/Commune code: Up to 5 letters, no accents, concatenated (e.g., P1 = Ward 1, TH = Tân Hòa, CG = Cầu Giấy)
  • Location code: The compact string that encodes the detailed geospatial cell

Examples:

  • HCMTHABC1234: Ho Chi Minh City, Tân Hòa Ward
  • DNGHK7XYZPQR: Đà Nẵng, Hòa Khánh Ward
  • HNCG8HFHOIFD: Hà Nội, Cầu Giấy Ward

2.2 Encoding (address → code)

  1. Input: geographic coordinates (lat, lng)
  2. Determine the province/city code (2–3 uppercase letters, no accents)
  3. Determine the ward/commune short code (no accents, up to 5 chars)
  4. Convert the coordinates to a grid cell index
  5. Encode the cell index into a compact string
  6. Concatenate: [Province][Ward][Location]Forcodes

2.3 Decoding (code → coordinates)

  1. Split a Forcodes string into three parts: province, ward, location code
  2. Use the code tables to resolve the administrative area
  3. Decode the location code back to the grid cell index
  4. Convert the cell to geographic coordinates (lat, lng)

Province/City Code Table

RegionPost-merger Province/CityCodeIncludes
Hà NộiHNHà Nội
Tuyên QuangTQTuyên Quang + Hà Giang
Cao BằngCBCao Bằng
Lạng SơnLSLạng Sơn
Lào CaiLCILào Cai + Yên Bái
Thái NguyênTNThái Nguyên + Bắc Kạn
Phú ThọPTPhú Thọ + Vĩnh Phúc + Hòa Bình
Bắc NinhBNBắc Ninh + Bắc Giang
Hưng YênHYHưng Yên + Thái Bình
Hải PhòngHPHải Phòng + Hải Dương
Ninh BìnhNBNinh Bình + Hà Nam + Nam Định
Quảng NinhQNHQuảng Ninh
Thanh HóaTHThanh Hóa
Nghệ AnNANghệ An
Hà TĩnhHTHà Tĩnh
Quảng TrịQTQuảng Trị + Quảng Bình
Thừa Thiên HuếHUEThừa Thiên Huế
Đà NẵngDNGĐà Nẵng + Quảng Nam
Quảng NgãiQNGQuảng Ngãi + Kon Tum
Gia LaiGLGia Lai + Bình Định
Khánh HòaKHKhánh Hòa + Ninh Thuận
Đắk LắkDLKĐắk Lắk + Phú Yên
Lâm ĐồngLDLâm Đồng + Đắk Nông + Bình Thuận
Hồ Chí Minh CityHCMHCMC + Bình Dương + Bà Rịa–Vũng Tàu
Đồng NaiDNĐồng Nai + Bình Phước
Tây NinhTNHTây Ninh + Long An
Đồng ThápDTĐồng Tháp + Tiền Giang
Vĩnh LongVLVĩnh Long + Bến Tre + Trà Vinh
Cần ThơCTCần Thơ + Sóc Trăng + Hậu Giang
Cà MauCMCà Mau + Bạc Liêu
An GiangAGAn Giang + Kiên Giang

📏 Adjustable Accuracy

Forcodes lets you tune accuracy to your use case:

LevelRangeTypical usesExample
🌍 Area1–60 kmProvince/region locationFind hotels in Đà Nẵng
🏘️ District200 m – 8 kmArea navigation, deliveryDeliver to a district
🏢 Building60–460 mBuilding/site locationFind an office or store
🚪 Room3–65 mRoom-level locationMeeting rooms, apartments
📍 Precise0.5–9 mDevice/desk-level locationIoT, asset tracking

Choosing the right level

  • 📦 Delivery: “Building” level (compact yet accurate)
  • 🏥 Emergency: “Room” level (highest accuracy)
  • 🎯 Marketing: “Area” level (broad coverage)
  • 🔧 Maintenance: “Precise” level (device location)

🎯 Comparison with other systems

AspectForcodesPlusCodeWhat3WordsGPS Coordinates
Length8–12 chars10–11 chars3 words15–20 chars
Memorability⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
Accuracy⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
Localization⭐⭐⭐⭐⭐⭐⭐
Vendor-neutral⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐

Example

Location: Hamy HQ (21.028511, 105.804817)

  • Forcodes: HN8HFHOIFD (10 chars)
  • PlusCode: 7PH72QMQ+37 (11 chars)
  • What3Words: kiem.tra.vi.tri (4 Vietnamese words)
  • GPS: 21.028511,105.804817 (18 chars)

🔌 Easy integration

Simple APIs

Create a Forcodes:

Send: Coordinates (lat, lng) + Desired accuracy level
Receive: Forcodes (e.g., "HN8HFHOIFD")

Decode a Forcodes:

Send: Forcodes (e.g., "HN8HFHOIFD")
Receive: Exact coordinates + Area information

Compute distance:

Send: 2 Forcodes
Receive: Accurate distance (meters)

Multi-platform integration

  • 📱 Mobile Apps: iOS, Android SDK
  • 🌐 Web: JavaScript library
  • 🔧 Backend: REST API
  • 📊 Excel: Import/export plugin
  • 🗺️ Maps: Openmap.vn platform/OSM