Notice

New Media API EndpointPull newly uploaded firearm images and rendersAll Media API Endpoint

Category
Rifle
Barrel
Not recorded
Weight, empty
Not recorded
Introduced
2011

About

What it is, and why it matters

Copy a link to this section

The XT98 is a Taiwanese semi-automatic designated marksman rifle chambered in 7.62x51mm NATO, developed by the Combined Service Forces 205th Arsenal and unveiled as a prototype at the Taipei Aerospace and Defense Technology Exhibition in 2011. It is built by rebuilding existing Type 57 rifles (a licensed M14 clone) into a modern chassis system capable of mounting optics and accessories, conceptually similar to the U.S. Mk 14 Enhanced Battle Rifle. A heavier free-floating barrel improves precision in the counter-sniper and overwatch role, while reusing the existing Type 57 receiver inventory reduces procurement cost and shortens operator training.

The XT98 reflects a recurring theme in Taiwanese small-arms development: extending the service life of legacy U.S.-pattern designs. By converting Type 57 rifles, themselves M14 derivatives, into a modern marksman platform, the 205th Arsenal sought a low-cost counter-sniper capability without adopting an entirely new rifle.

Prototype displayed at TADTE 2011; the arsenal reported three prototype rifles completed, pending service trials. The platform recycles in-service Type 57 (M14-pattern) rifles rather than building new actions.

Specification

Everything measured

Copy a link to this section

IdentityWhat it is, who built it and when.

Manufacturer
Combined Service Forces 205th Arsenal
Category
Rifle
Country
Taiwan
Status
Prototype
Produced
2011
Variant of
Marksman rifle

ActionHow it cycles, what trips it, and what feeds it.

Action
Gas operated
Firing mechanism
Hammer fired
Trigger
Single action
Capacity
20
Magazine
Detachable box

MaterialsEach swatch is the material itself, not a colour chosen to stand for it.

Frame
Steel
Barrel
Steel
Stock
Aluminum alloy
Finish
Phosphate

BallisticsFrom the service cartridge, not a handload.

Muzzle velocity
850 m/s
Muzzle energy
3441 J
Effective range
800 m

Trajectory

What the round does downrange

Solved from the muzzle figures and the bullet. The dashed rule is the effective range on the record, and the crosses are the steps the solver returned.

Copy a link to this section

No load solved for this record yetThe flight path is computed from a cartridge and a bullet. This record has no ammunition filed against its chambering, so there is nothing to solve.

Features

What it has

What the record lists as fitted, drawn from the catalogue.

Copy a link to this section
  • Free floating heavy barrel
  • Modular chassis
  • Picatinny rail
  • Optics ready
  • Adjustable cheek riser

Standing

How it compares

Copy a link to this section

Each figure against the firearms of the same type and cartridge that record it, or of the same type where that cartridge has too few. Positions are read to the nearest tenth.

MeasurementThis firearmMedianPosition
Magazine capacityAmong 1,611 rifles205Holds more rounds than about 90%

Answers

Questions about the XT98

Copy a link to this section
What caliber is the XT98?

The XT98 is chambered in 7.62x51mm NATO.

How many rounds does the XT98 hold?

The XT98 holds 20 rounds, fed from a detachable box magazine.

Who makes the XT98?

The XT98 is made by Combined Service Forces 205th Arsenal (Taiwan).

When was the XT98 introduced?

The XT98 was introduced in 2011.

How does the XT98 operate?

The XT98 uses a gas operated action, and its firing mechanism is hammer fired.

Compatibility

Which parts fit this firearm

Copy a link to this section

Studio

Every part that mounts on this, resolved

Not a list the maker typed out: the answer comes from the mounts this firearm exposes and the interface each part needs, so it stays right when either one changes.

  • Every part that mounts on any firearm in the catalogue
  • Interface standards, platforms and fit overrides
  • The same answers through the API and the MCP server

Requires a signed-in GunSpec account on the Studio plan. The answer is computed per part, so it is not part of the public record.

Provenance

What the record holds

Every figure above was taken from one of these pages. The confidence reflects how much of the record came from a page a claim can be checked against.

Copy a link to this section

In service

Republic of China Armed Forces
Taiwan

Provenance

Confidence in this record

55%

Stockists

Where to buy

Offers link straight to the shop. GunSpec never takes the order.

Copy a link to this section

No shop has listed this firearm yet

Stock and prices come from the shops themselves. If you sell this firearm, you can list it and it appears here.

List a firearm

MCP

Ask an assistant about it

The same record, reached the way a person asks for it rather than the way a program does.

Copy a link to this section

Ask GunSpec

Works with

Claude CodeClaude DesktopCursorVS CodeGitHub CopilotWindsurf

Point an MCP client at GunSpec and it answers from the catalogue rather than from memory. A free key covers the read tools.

API

The call that returns this record

The same fields, in the same units, from the same endpoint the page reads.

Copy a link to this section
curl --request GET \  --url 'https://api.gunspec.io/v1/firearms/xt98' \  --header 'X-API-Key: your_key'
Response
{  "id": "xt98",  "name": "XT98",  "manufacturer": {    "id": "csist-205th-arsenal",    "name": "Combined Service Forces 205th Arsenal",    "countryCode": "TW",    "foundedYear": 1976,    "website": null,    "logoUrl": null,    "description": null,    "status": null,    "defunctYear": null,    "stateOwned": null,    "makesFirearms": null,    "parentId": null,    "predecessorId": null,    "createdAt": "2026-02-18 03:40:48",    "updatedAt": "2026-02-18 03:40:48",    "version": "d7aef2fba4b036e7e5ace16458885b5b88a54a633c3aca43b097bea0ef2b3db2"  },  "category": {    "id": "rifle",    "name": "Rifle",    "description": "Long-barreled firearms designed for accurate shooting"  },  "country_of_origin": "TW",  "year_introduced": 2011,  "barrel_length_mm": null,  "weight_empty_g": null,  "action_type": "gas_operated"}