{
 "meta": {
  "title": "Office (cs_office) map data for Counter-Strike 2",
  "homepage": "https://csbepro.com/counter-strike-2/office/",
  "author": "CSbePRO",
  "license": "CC BY 4.0 - free to use with a link to the homepage above",
  "license_url": "https://creativecommons.org/licenses/by/4.0/",
  "version": "1.0",
  "updated": "2026-10",
  "units": "Hammer units unless stated otherwise. 39.4 units = 1 metre. Radar pixels refer to the 1024 x 1024 in-game radar."
 },
 "name": "Office",
 "slug": "office",
 "code": "cs_office",
 "type": "Hostage rescue",
 "source": {
  "game_files": [
   "maps/cs_office.vpk (entities/default_ents.vents_c, entities/unnamed_2_42786_1734.vmdl_c, entities/unnamed_2_42786_1736.vmdl_c)",
   "resource/overviews/cs_office.txt",
   "pak01_dir.vpk: panorama/images/overheadmaps/cs_office_radar_psd.vtex_c"
  ],
  "build": "1.41.8.8",
  "build_date": "2026-09-30",
  "client_version": 2000922
 },
 "radar": {
  "size_px": 1024,
  "pos_x": -1838,
  "pos_y": 1858,
  "scale": 4.1,
  "formula": "px = (x + 1838) / 4.1 ; py = (1858 - y) / 4.1",
  "verified": "all 30 spawn points on the floor, centres match the loading-screen icons, hostage spots on the floor"
 },
 "facts": {
  "author": "Alexander \"Hobbit\" Manilov",
  "released": "2000, Counter-Strike Beta 7.0, as The Office Complex",
  "reworked_by": [
   "Ritual Entertainment",
   "Turtle Rock Studios",
   "Hidden Path Entertainment",
   "Valve"
  ],
  "beta_7_0": "President's Office wing where Long is now, vents between the hallways, almost no garage or back yard",
  "cs_1_0": "heavy main door opening only from inside; garage not connected to the back tunnel; both changed in 1.1",
  "cs_1_6": "credits room behind a breakable wall in Storage Room; a monitor shows cs_office in WorldCraft",
  "csgo": "radio with Gabe Newell news report; Central South Office Park; Shepard Mortgage Company",
  "hostages_cut": "from four to two in a 2013 update",
  "setting": null,
  "factions": null,
  "sources": [
   "https://counterstrike.fandom.com/wiki/Office",
   "https://bo3.gg/wiki/office"
  ]
 },
 "collections": [
  {
   "name": "The Office Collection",
   "slug": "the-office-collection",
   "added": "2013-08-14",
   "origin": "Arms Deal update",
   "skins": 6,
   "top_skins": [
    "P2000 | Silver (Mil-Spec)",
    "MP7 | Whiteout (Mil-Spec)"
   ],
   "weekly_drop": "no",
   "url": "https://csbepro.com/cs2-skins/collection/the-office-collection/"
  }
 ],
 "spawns": {
  "t": {
   "count": 15,
   "centre": [
    1518.0,
    591.2,
    -142.0
   ],
   "points": [
    [
     1635,
     535,
     -142
    ],
    [
     1568,
     545,
     -142
    ],
    [
     1705,
     556,
     -142
    ],
    [
     1724,
     624,
     -142
    ],
    [
     1710,
     687,
     -142
    ],
    [
     1408,
     523,
     -142
    ],
    [
     1354,
     483,
     -142
    ],
    [
     1443,
     588,
     -142
    ],
    [
     1408,
     649,
     -142
    ],
    [
     1354,
     684,
     -142
    ],
    [
     1507,
     536,
     -142
    ],
    [
     1453,
     496,
     -142
    ],
    [
     1542,
     601,
     -142
    ],
    [
     1507,
     662,
     -142
    ],
    [
     1453,
     697,
     -142
    ]
   ]
  },
  "ct": {
   "count": 15,
   "centre": [
    -1083.5,
    -1728.8,
    -318.0
   ],
   "points": [
    [
     -888,
     -1888,
     -318
    ],
    [
     -817,
     -1904,
     -318
    ],
    [
     -936,
     -1816,
     -318
    ],
    [
     -896,
     -1736,
     -318
    ],
    [
     -817,
     -1712,
     -318
    ],
    [
     -1112,
     -1568,
     -318
    ],
    [
     -1096,
     -1497,
     -318
    ],
    [
     -1184,
     -1616,
     -318
    ],
    [
     -1264,
     -1576,
     -318
    ],
    [
     -1288,
     -1497,
     -318
    ],
    [
     -1149,
     -1891,
     -318
    ],
    [
     -1087,
     -1852,
     -318
    ],
    [
     -1234,
     -1874,
     -318
    ],
    [
     -1262,
     -1789,
     -318
    ],
    [
     -1223,
     -1716,
     -318
    ]
   ]
  }
 },
 "buyzones": 2,
 "hostages": {
  "per_round": 2,
  "spots": [
   {
    "number": 1,
    "name": "top corridor by T Spawn",
    "origin": [
     1507.9,
     894.0,
     -145.0
    ],
    "radar_px": [
     816.1,
     235.1
    ],
    "exclusion_groups": [
     2
    ],
    "ct_spawn_path_u": 4125,
    "ct_knife_s": 16.5,
    "t_spawn_path_u": 367,
    "t_knife_s": 1.5,
    "to_nearest_rescue_zone_u": 3842
   },
   {
    "number": 2,
    "name": "T Spawn",
    "origin": [
     1720.0,
     752.0,
     -152.0
    ],
    "radar_px": [
     867.8,
     269.8
    ],
    "exclusion_groups": [
     2
    ],
    "ct_spawn_path_u": 4118,
    "ct_knife_s": 16.5,
    "t_spawn_path_u": 258,
    "t_knife_s": 1.0,
    "to_nearest_rescue_zone_u": 3838
   },
   {
    "number": 3,
    "name": "T Spawn",
    "origin": [
     1736.0,
     522.0,
     -152.0
    ],
    "radar_px": [
     871.7,
     325.9
    ],
    "exclusion_groups": [
     2
    ],
    "ct_spawn_path_u": 3983,
    "ct_knife_s": 15.9,
    "t_spawn_path_u": 229,
    "t_knife_s": 0.9,
    "to_nearest_rescue_zone_u": 3698
   },
   {
    "number": 4,
    "name": "Radio, below T Spawn",
    "origin": [
     1572.0,
     287.0,
     -149.0
    ],
    "radar_px": [
     831.7,
     383.2
    ],
    "exclusion_groups": [
     3,
     2
    ],
    "ct_spawn_path_u": 3716,
    "ct_knife_s": 14.9,
    "t_spawn_path_u": 309,
    "t_knife_s": 1.2,
    "to_nearest_rescue_zone_u": 3435
   },
   {
    "number": 5,
    "name": "Conference Room, far end",
    "origin": [
     2240.9,
     68.0,
     -147.0
    ],
    "radar_px": [
     994.9,
     436.6
    ],
    "exclusion_groups": [
     3,
     1
    ],
    "ct_spawn_path_u": 4332,
    "ct_knife_s": 17.3,
    "t_spawn_path_u": 1107,
    "t_knife_s": 4.4,
    "to_nearest_rescue_zone_u": 4052
   },
   {
    "number": 6,
    "name": "Storage Room",
    "origin": [
     1454.0,
     -82.6,
     -154.0
    ],
    "radar_px": [
     802.9,
     473.3
    ],
    "exclusion_groups": [
     3,
     1
    ],
    "ct_spawn_path_u": 3360,
    "ct_knife_s": 13.4,
    "t_spawn_path_u": 1280,
    "t_knife_s": 5.1,
    "to_nearest_rescue_zone_u": 3051
   },
   {
    "number": 7,
    "name": "Conference Room, door side",
    "origin": [
     1656.0,
     -138.1,
     -149.0
    ],
    "radar_px": [
     852.2,
     486.9
    ],
    "exclusion_groups": [
     3,
     1
    ],
    "ct_spawn_path_u": 3904,
    "ct_knife_s": 15.6,
    "t_spawn_path_u": 791,
    "t_knife_s": 3.2,
    "to_nearest_rescue_zone_u": 3586
   },
   {
    "number": 8,
    "name": "Conference Room",
    "origin": [
     2050.0,
     -344.0,
     -151.0
    ],
    "radar_px": [
     948.3,
     537.1
    ],
    "exclusion_groups": [
     1
    ],
    "ct_spawn_path_u": 4007,
    "ct_knife_s": 16.0,
    "t_spawn_path_u": 1167,
    "t_knife_s": 4.7,
    "to_nearest_rescue_zone_u": 3693
   },
   {
    "number": 9,
    "name": "Kitchen",
    "origin": [
     1357.0,
     -585.2,
     -143.0
    ],
    "radar_px": [
     779.3,
     595.9
    ],
    "exclusion_groups": [
     1
    ],
    "ct_spawn_path_u": 3571,
    "ct_knife_s": 14.3,
    "t_spawn_path_u": 1425,
    "t_knife_s": 5.7,
    "to_nearest_rescue_zone_u": 3263
   }
  ],
  "groups_note": "group 2 = spots 1-4 (T Spawn side), group 1 = spots 5-9 (Storage Room, Kitchen, Conference Room), group 3 = spots 4-7; one hostage per group is our reading of the exclusion groups",
  "rescue_zones": [
   {
    "model": "maps/cs_office/entities/unnamed_2_42786_1734.vmdl",
    "origin": [
     -584,
     -1892,
     -240
    ],
    "half_extents": [
     456,
     172,
     96
    ],
    "size_u": [
     912,
     344
    ],
    "size_m": [
     23.1,
     8.7
    ],
    "area_m2": 202,
    "where": "between CT Spawn and Garage"
   },
   {
    "model": "maps/cs_office/entities/unnamed_2_42786_1736.vmdl",
    "origin": [
     -1192,
     -1580,
     -240
    ],
    "bounds_local": [
     [
      -152,
      -444,
      -96
     ],
     [
      152,
      235,
      96
     ]
    ],
    "size_u": [
     304,
     679
    ],
    "size_m": [
     7.7,
     17.2
    ],
    "area_m2": 133,
    "where": "along CT Spawn"
   }
  ],
  "rules_cs2": {
   "untie_s": 4,
   "untie_with_rescue_kit_s": 1,
   "win": "one rescue wins the round",
   "round_time": "2 minutes, plus 1 minute when the first hostage is untied"
  }
 },
 "callouts": {
  "official_count": 17,
  "official_zones": 34,
  "official_note": "origin is a corner of each place zone, not its centre; one name can have several zones",
  "official": [
   {
    "id": "BackCourtyard",
    "name": "Back Courtyard",
    "zones": 2,
    "origins": [
     [
      1184.0,
      -928.0,
      -184.0
     ],
     [
      480.0,
      -928.0,
      -184.0
     ]
    ],
    "origins_radar_px": [
     [
      737.1,
      679.5
     ],
     [
      565.4,
      679.5
     ]
    ]
   },
   {
    "id": "BackWay",
    "name": "Back Way",
    "zones": 4,
    "origins": [
     [
      416.0,
      -1296.0,
      -184.0
     ],
     [
      320.0,
      -1296.0,
      -184.0
     ],
     [
      480.0,
      -1296.0,
      -184.0
     ],
     [
      512.0,
      -1296.0,
      -184.0
     ]
    ],
    "origins_radar_px": [
     [
      549.8,
      769.3
     ],
     [
      526.3,
      769.3
     ],
     [
      565.4,
      769.3
     ],
     [
      573.2,
      769.3
     ]
    ]
   },
   {
    "id": "Bathroom",
    "name": "Bathroom",
    "zones": 1,
    "origins": [
     [
      650.0,
      -237.5,
      -107.0
     ]
    ],
    "origins_radar_px": [
     [
      606.8,
      511.1
     ]
    ]
   },
   {
    "id": "CTSpawn",
    "name": "CT Spawn",
    "zones": 1,
    "origins": [
     [
      -1487.5,
      -1787.5,
      -278.7
     ]
    ],
    "origins_radar_px": [
     [
      85.5,
      889.1
     ]
    ]
   },
   {
    "id": "ConferenceRoom",
    "name": "Conference Room",
    "zones": 1,
    "origins": [
     [
      1750.0,
      -445.0,
      -106.7
     ]
    ],
    "origins_radar_px": [
     [
      875.1,
      561.7
     ]
    ]
   },
   {
    "id": "FrontCourtyard",
    "name": "Front Courtyard",
    "zones": 3,
    "origins": [
     [
      -1216.0,
      -416.0,
      -176.0
     ],
     [
      -736.0,
      -416.0,
      -176.0
     ],
     [
      -224.0,
      -416.0,
      -176.0
     ]
    ],
    "origins_radar_px": [
     [
      151.7,
      554.6
     ],
     [
      268.8,
      554.6
     ],
     [
      393.7,
      554.6
     ]
    ],
    "players_say": "Front Yard"
   },
   {
    "id": "Garage",
    "name": "Garage",
    "zones": 5,
    "origins": [
     [
      -1012.5,
      -1387.5,
      -278.7
     ],
     [
      -1118.8,
      -1637.5,
      -282.7
     ],
     [
      -448.0,
      -1787.5,
      -278.7
     ],
     [
      144.0,
      -1664.0,
      -278.8
     ],
     [
      -864.0,
      -1056.0,
      -278.7
     ]
    ],
    "origins_radar_px": [
     [
      201.3,
      791.6
     ],
     [
      175.4,
      852.6
     ],
     [
      339.0,
      889.1
     ],
     [
      483.4,
      859.0
     ],
     [
      237.6,
      710.7
     ]
    ],
    "players_say": "Garage and Rescue"
   },
   {
    "id": "Kitchen",
    "name": "Kitchen",
    "zones": 1,
    "origins": [
     [
      1350.0,
      -400.0,
      -106.7
     ]
    ],
    "origins_radar_px": [
     [
      777.6,
      550.7
     ]
    ]
   },
   {
    "id": "MainHall",
    "name": "Main Hall",
    "zones": 3,
    "origins": [
     [
      64.0,
      -320.0,
      -107.0
     ],
     [
      64.0,
      -576.0,
      -107.0
     ],
     [
      1216.0,
      -576.0,
      -107.0
     ]
    ],
    "origins_radar_px": [
     [
      463.9,
      531.2
     ],
     [
      463.9,
      593.7
     ],
     [
      744.9,
      593.7
     ]
    ],
    "players_say": "Main Hall and Elevator"
   },
   {
    "id": "Office",
    "name": "Office",
    "zones": 1,
    "origins": [
     [
      -480.0,
      208.0,
      -112.0
     ]
    ],
    "origins_radar_px": [
     [
      331.2,
      402.4
     ]
    ]
   },
   {
    "id": "SideAlley",
    "name": "Side Alley",
    "zones": 1,
    "origins": [
     [
      -800.0,
      256.0,
      -320.0
     ]
    ],
    "origins_radar_px": [
     [
      253.2,
      390.7
     ]
    ]
   },
   {
    "id": "SideHall",
    "name": "Side Hall",
    "zones": 3,
    "origins": [
     [
      1376.0,
      1024.0,
      -106.8
     ],
     [
      640.0,
      416.0,
      -106.8
     ],
     [
      352.0,
      416.0,
      -106.8
     ]
    ],
    "origins_radar_px": [
     [
      783.9,
      203.4
     ],
     [
      604.4,
      351.7
     ],
     [
      534.1,
      351.7
     ]
    ],
    "players_say": "Side Hall and Long"
   },
   {
    "id": "SideYard",
    "name": "Side Yard",
    "zones": 2,
    "origins": [
     [
      -1200.0,
      848.0,
      -256.0
     ],
     [
      -960.0,
      848.0,
      -256.0
     ]
    ],
    "origins_radar_px": [
     [
      155.6,
      246.3
     ],
     [
      214.1,
      246.3
     ]
    ]
   },
   {
    "id": "SnipersNest",
    "name": "Sniper's Nest",
    "zones": 1,
    "origins": [
     [
      -1600.0,
      -900.0,
      -186.7
     ]
    ],
    "origins_radar_px": [
     [
      58.0,
      672.7
     ]
    ]
   },
   {
    "id": "Stairwell",
    "name": "Stairwell",
    "zones": 1,
    "origins": [
     [
      100.0,
      -750.0,
      -138.7
     ]
    ],
    "origins_radar_px": [
     [
      472.7,
      636.1
     ]
    ]
   },
   {
    "id": "StorageRoom",
    "name": "Storage Room",
    "zones": 1,
    "origins": [
     [
      1400.0,
      -225.0,
      -106.7
     ]
    ],
    "origins_radar_px": [
     [
      789.8,
      508.0
     ]
    ]
   },
   {
    "id": "TSpawn",
    "name": "T Spawn",
    "zones": 3,
    "origins": [
     [
      1216.0,
      -128.0,
      -106.7
     ],
     [
      1712.0,
      608.0,
      -106.8
     ],
     [
      1408.0,
      -128.0,
      -106.7
     ]
    ],
    "origins_radar_px": [
     [
      744.9,
      484.4
     ],
     [
      865.9,
      304.9
     ],
     [
      791.7,
      484.4
     ]
    ]
   }
  ],
  "common_count": 16,
  "common": [
   {
    "name": "Hideout",
    "area": "CT Spawn"
   },
   {
    "name": "Short Stairs",
    "area": "CT Spawn"
   },
   {
    "name": "2nd Sniper's Nest",
    "area": "CT Spawn"
   },
   {
    "name": "Van",
    "area": "CT Spawn"
   },
   {
    "name": "Rescue",
    "area": "CT Spawn"
   },
   {
    "name": "Blue",
    "area": "CT Spawn"
   },
   {
    "name": "Dumpster",
    "area": "Back Courtyard"
   },
   {
    "name": "Elevator",
    "area": "Back Courtyard"
   },
   {
    "name": "Soda",
    "area": "Front Entrance"
   },
   {
    "name": "Cubby",
    "area": "Front Entrance"
   },
   {
    "name": "Front",
    "area": "Front Entrance"
   },
   {
    "name": "Ladder",
    "area": "Front Entrance"
   },
   {
    "name": "Long",
    "area": "Long"
   },
   {
    "name": "Vending",
    "area": "Long"
   },
   {
    "name": "Doorway",
    "area": "Main Hall"
   },
   {
    "name": "Couch",
    "area": "T Spawn"
   }
  ]
 },
 "timings": {
  "method": "Timed in game with a stopwatch: from spawn, knife out, normal running, no bunny hops. Hostage distances in the hostages section are measured along the radar.",
  "routes": [
   {
    "from": "CT Spawn",
    "to": "Sniper's Nest window",
    "seconds": 7.02,
    "view": "Main Hall to Elevator"
   },
   {
    "from": "CT Spawn",
    "to": "Back Courtyard, through the gate",
    "seconds": 9.11,
    "view": "top entrance to Back Way"
   },
   {
    "from": "CT Spawn",
    "to": "top of Ladder",
    "seconds": 10.04,
    "view": "through Office and Side Hall to Long"
   },
   {
    "from": "CT Spawn",
    "to": "Stairwell",
    "seconds": 10.65,
    "view": "up to Cubby"
   },
   {
    "from": "CT Spawn",
    "to": "T Spawn",
    "seconds": 17.0
   },
   {
    "from": "T Spawn",
    "to": "Back Way",
    "seconds": 8.05
   },
   {
    "from": "T Spawn",
    "to": "Cubby",
    "seconds": 9.38
   }
  ]
 },
 "duels": {
  "method": "Straight lines between positions with line of sight on the radar mask. Height is not modelled. Lines from the client sketch.",
  "list": [
   {
    "from": "Sniper's Nest window",
    "to": "Elevator",
    "units": 2530,
    "metres": 64.2,
    "area": "Main Hall"
   },
   {
    "from": "top of Ladder",
    "to": "Long",
    "units": 1613,
    "metres": 40.9,
    "area": "Office"
   },
   {
    "from": "top of Long",
    "to": "Main Hall",
    "units": 1436,
    "metres": 36.4,
    "area": "Long"
   },
   {
    "from": "Side Hall",
    "to": "Office",
    "units": 1201,
    "metres": 30.5,
    "area": "Side Hall"
   },
   {
    "from": "Elevator (Back Way side)",
    "to": "Back Courtyard",
    "units": 1079,
    "metres": 27.4,
    "area": "Back Courtyard"
   },
   {
    "from": "Stairwell",
    "to": "Cubby",
    "units": 1058,
    "metres": 26.8,
    "area": "Stairwell"
   },
   {
    "from": "top of Back Way",
    "to": "Garage",
    "units": 943,
    "metres": 23.9,
    "area": "Back Way"
   },
   {
    "from": "top of Long",
    "to": "Vending",
    "units": 852,
    "metres": 21.6,
    "area": "Long"
   },
   {
    "from": "Side Hall",
    "to": "Side Hall (Cubby)",
    "units": 542,
    "metres": 13.8,
    "area": "Side Hall"
   },
   {
    "from": "Doorway",
    "to": "Main Hall (Elevator end)",
    "units": 423,
    "metres": 10.7,
    "area": "Main Hall"
   }
  ],
  "points": {
   "Sniper's Nest window": {
    "radar_px": [
     55,
     570
    ],
    "world": [
     -1612,
     -479
    ]
   },
   "Elevator": {
    "radar_px": [
     672,
     570
    ],
    "world": [
     917,
     -479
    ]
   },
   "top of Ladder": {
    "radar_px": [
     204,
     398
    ],
    "world": [
     -1002,
     226
    ]
   },
   "Long": {
    "radar_px": [
     595,
     441
    ],
    "world": [
     602,
     50
    ]
   },
   "top of Long": {
    "radar_px": [
     621,
     223
    ],
    "world": [
     708,
     944
    ]
   },
   "Main Hall": {
    "radar_px": [
     609,
     573
    ],
    "world": [
     659,
     -491
    ]
   },
   "Side Hall": {
    "radar_px": [
     609,
     438
    ],
    "world": [
     659,
     62
    ]
   },
   "Office": {
    "radar_px": [
     316,
     438
    ],
    "world": [
     -542,
     62
    ]
   },
   "Back Courtyard": {
    "radar_px": [
     660,
     909
    ],
    "world": [
     868,
     -1869
    ]
   },
   "Elevator (Back Way side)": {
    "radar_px": [
     667,
     646
    ],
    "world": [
     897,
     -791
    ]
   },
   "Stairwell": {
    "radar_px": [
     466,
     660
    ],
    "world": [
     73,
     -848
    ]
   },
   "Cubby": {
    "radar_px": [
     463,
     402
    ],
    "world": [
     60,
     210
    ]
   },
   "top of Back Way": {
    "radar_px": [
     545,
     674
    ],
    "world": [
     396,
     -905
    ]
   },
   "Garage": {
    "radar_px": [
     549,
     904
    ],
    "world": [
     413,
     -1848
    ]
   },
   "Vending": {
    "radar_px": [
     582,
     427
    ],
    "world": [
     548,
     107
    ]
   },
   "Side Hall (Cubby)": {
    "radar_px": [
     477,
     430
    ],
    "world": [
     118,
     95
    ]
   },
   "Doorway": {
    "radar_px": [
     711,
     490
    ],
    "world": [
     1077,
     -151
    ]
   },
   "Main Hall (Elevator end)": {
    "radar_px": [
     654,
     576
    ],
    "world": [
     843,
     -504
    ]
   }
  },
  "image": "https://csbepro.com/wp-content/uploads/2026/10/CS2-Map-Office-Weapon-Duels.jpg"
 }
}