Die Schils ist ein rund 16 Kilometer langer linker Nebenfluss der Seez im SchweizerKanton St. Gallen. Sie durchfliesst das Schilstal, ein Seitental des Seeztals, und entwässert dabei ein Gebiet von rund 56 Quadratkilometern. Der Fluss verläuft dabei hauptsächlich auf dem Gemeindegebiet von Flums, nur die Mündung liegt in der Gemeinde Walenstadt.
Die Schils entspringt an einem Grat zwischen dem Spitzmeilen und dem Wissgandstöckli auf 2306 m ü. M. direkt an der Grenze zum Kanton Glarus. Der Fluss verläuft in nordöstlicher Richtung durch das Tal bis zum Dorf Flums, welches er im Westen tangiert. Er fliesst nun Richtung Nordwesten in einem begradigten Flussbett, nimmt den Tobelbach auf und mündet nordöstlich der Burg Gräpplang auf 432 m ü. M. in die ebenfalls begradigte Seez.