Viljandi ordulinnus on üks esimestest Eestis rajatud kivilinnustest. Viljandi pealinnus oli Liivimaal Riia järel suuruselt teine pealinnus. 17. sajandi algul varemetesse jäänud linnus kaevati suures osas lahti 19. sajandi lõpul. Seejärel on linnusevaremed koos neid ümbritseva Lossipargiga kujunenud puhkealaks. Lossivaremetes korraldatakse kontserte ja on peetud spordiüritusi.
Viljandi ordulinnus koosnes pealinnusest, milleks oli 13. ja 14. sajandi vahetusel rajatud konvendihoone, ning kolmest eeslinnusest. Tänapäeval nimetatatakse pealinnust koos seda ümbritseva I eeslinnusega Kaevumäeks, II eeslinnust Teiseks kirsimäeks ning III eeslinnust Esimeseks kirsimäeks. Sisuliselt oli keskaegne Viljandi linn neljandaks eeslinnuseks.
Linnusel oli kaks väravat, mõlemad kolmandas eeslinnuses. Üks neist avanes läände ja oli linnuse peavärav. Teise kaudu pääses linna, see asus praeguse Lossi tänava joonel. (Praegu lõpeb samal kohal Varese sild.)
Linnusemüüridest on tänini jälgitavad II eeslinnuse põhjasein, I eeslinnuse värav ja konvendihoone välisperimeeter. Äratuntavad on I eeslinnuse põhja- ja idaküljel asunud hooned, linnuse lõunaküljel asunud Villu kelder ning vallikraavi ulatunud dansker.
Viljandi ordulinnuse kohal asus eestlaste muinaslinnus, mis on rajatud hiljemalt viikingiajal. Viliende-nimelist linnust mainitakse Henriku Liivimaa kroonikas, kus on ka detailsed kirjeldused linnuse piiramisest 1211. ja 1223. aastal. Arvatavasti alates Madisepäeva lahingust 1217. aastal asusid linnuses koos eestlased ja sakslased, hiljemalt 1223. aasta alguseks oli püstitatud kirik. 1223. aasta jaanuaris tapsid eestlased kirikusse missale kogunenud sakslased ja kaitsesid linnust sama aasta augustini, kutsudes abivägesid ka Vene aladelt. Linnus vallutati kahenädalase piiramise järel.
Kivilinnuse ehitamist on esmamainitud 1224. Tööde käigu kohta andmed puuduvad. Varasema ehitusetapiga seostub lisaks piirdemüürile vähemalt üks konvendihoonele eelnenud hoonetest, kuid pole teada, milline see oli: oletatud on nii tornlinnust kui ka paleed. 13. ja 14. sajandi vahetusel algas konvendihoone rajamine. See valmis arvatavasti sajandi keskpaigaks. 15. sajandil kõrgendati seda ühe korruse võrra. 15. sajandi II poolest pärineb ka I eeslinnusel paiknev kõrvalhoone, nn ametnikemaja. 14. ja 15. sajandil ehitati tõenäoliselt välja ka eeslinnused, kuid täpsed andmed selle kohta puuduvad.
Linnust piirasid 1481 Vene väed, kuid vallutada seda ei suudetud. Liivi sõja ajal 1560 toimunud piiramine oli edukas, osaliselt palgasõdurite reetlikkuse tõttu. 1582. aasta Jam-Zapolski rahulepingu tulemusel läks linnus poolakatele, kes tegid parandustöid ja korraldasid 1599 revisjoni, mille tekst on säilinud [1].
1600 vallutasid linnuse rootslased. Edaspidi käis linnus Poola–Rootsi sõdades korduvalt käest kätte ja oli 1611. aastaks purustatud. On oletatud, et rootslased rajasid linnusesse laskemoonalao, kuid kindlad allikad selle kohta puuduvad. Kaitseotstarbel linnust seejärel ei taastatud. 18. sajandi lõpul või 19. sajandi algul ehitati III eeslinnusele Viljandi mõisa ait-kuivati, mis on säilinud.
Viljandi ordulinnuse uurimisloo alguseks võib lugeda Eesti Kirjandusmuuseumis säilitatavat käsikirjalist leksikoni, mille autoriks on Ph. Körber. Esimesed uuringud ordulinnusel toimusid 1878–1879 Theodor Schiemanni juhtimisel. Nende korraldamiseks loodi oma ühing (Ausgrabungscomité), millest 1881 kasvas välja Viljandi Kirjanduslik Selts. Nende kaevamiste käigus puhastati rusudest ja kaevati välja kogu pealinnus ja osa seda ümbritsevast I eeslinnusest. 1939 uuriti Armin Tuulse juhatusel nn Villu keldrit linnuse lõunaosas. 1971 ja 1972 toimusid väiksemad arhitektuuriloolised uuringud Kaur Alttoa ja Udo Tiirmaa juhatusel. Väljakaevamised algasid taas 1998 (1998–1999 Andres Tvauri, 2000–2004 Arvi Haak).
II ja III eeslinnust on seni uuritud vaid georadari (1996 Heiki Valk) ja prooviaukudega.
2006. aasta suvel avastas arheoloog Arvi Haak Viljandi ordulinnuses üle 500 aasta vana keldriruumi, mille otstarve on teadmata. Eeldatavalt on ruum rajatud hiliskeskajal, seda kasutati 1560.–1570. aastani.