Deprecated: Return type of Phpfastcache\Util\ArrayObject::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/devzheng/workspace/psr/vendor/phpfastcache/phpfastcache/lib/Phpfastcache/Util/ArrayObject.php on line 106

Deprecated: Return type of Phpfastcache\Util\ArrayObject::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/devzheng/workspace/psr/vendor/phpfastcache/phpfastcache/lib/Phpfastcache/Util/ArrayObject.php on line 115

Deprecated: Return type of Phpfastcache\Util\ArrayObject::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/devzheng/workspace/psr/vendor/phpfastcache/phpfastcache/lib/Phpfastcache/Util/ArrayObject.php on line 130

Deprecated: Return type of Phpfastcache\Util\ArrayObject::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/devzheng/workspace/psr/vendor/phpfastcache/phpfastcache/lib/Phpfastcache/Util/ArrayObject.php on line 48

Deprecated: Return type of Phpfastcache\Util\ArrayObject::next() should either be compatible with Iterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/devzheng/workspace/psr/vendor/phpfastcache/phpfastcache/lib/Phpfastcache/Util/ArrayObject.php on line 56

Deprecated: Return type of Phpfastcache\Util\ArrayObject::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/devzheng/workspace/psr/vendor/phpfastcache/phpfastcache/lib/Phpfastcache/Util/ArrayObject.php on line 80

Deprecated: Return type of Phpfastcache\Drivers\Memcached\Item::jsonSerialize() should either be compatible with JsonSerializable::jsonSerialize(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/devzheng/workspace/psr/vendor/phpfastcache/phpfastcache/lib/Phpfastcache/Core/Item/ItemExtendedTrait.php on line 438
Best Public Elementary Schools in Madison County (2026)

Best Madison County Public Elementary Schools (2026)

For the 2026 school year, there are 4 public elementary schools serving 1,452 students in Madison County, NC.
The top-ranked public elementary schools in Madison County, NC are Hot Springs Elementary School, Brush Creek Elementary School and Madison Middle School. Overall testing rank is based on a school's combined math and reading proficiency test score ranking.
Madison County, NC public elementary schools have an average math proficiency score of 62% (versus the North Carolina public elementary school average of 50%), and reading proficiency score of 59% (versus the 49% statewide average). Elementary schools in Madison County have an average ranking of 10/10, which is in the top 10% of North Carolina public elementary schools.
Minority enrollment is 13% of the student body (majority Hispanic), which is less than the North Carolina public elementary school average of 58% (majority Black and Hispanic).

Best Public Elementary Schools in Madison County (2026)

School
(Math and Reading Proficiency)
Location
Quick Facts
Rank: #11.
Hot Springs Elementary School
(Math: 80-89% | Reading: 70-79%)
Rank:
10/
10
Top 10%
63 Serpentine Ave
Hot Springs, NC 28743
(828) 622-3292
Gr: K-5 | 128 students Student-teacher ratio: 11:1 Minority enrollment: 11%
Rank: #22.
Brush Creek Elementary School
(Math: 65-69% | Reading: 60-64%)
Rank:
9/
10
Top 20%
265 Upper Brush Creek Road
Marshall, NC 28753
(828) 649-1547
Gr: K-5 | 356 students Student-teacher ratio: 12:1 Minority enrollment: 7%
Rank: #33.
Madison Middle School
(Math: 59% | Reading: 58%)
Rank:
7/
10
Top 50%
95 Upper Brush Creek Rd
Marshall, NC 28753
(828) 649-2269
Gr: 6-8 | 468 students Student-teacher ratio: 12:1 Minority enrollment: 10%
Rank: #44.
Mars Hill Elementary School
(Math: 59% | Reading: 54%)
Rank:
7/
10
Top 50%
200 School House Lane
Mars Hill, NC 28754
(828) 689-2922
Gr: K-5 | 445 students Student-teacher ratio: 13:1 Minority enrollment: 6%

Frequently Asked Questions

What are the top-ranked public elementary schools in Madison County, NC?
The top-ranked public elementary schools in Madison County, NC include Hot Springs Elementary School, Brush Creek Elementary School and Madison Middle School.
How many public elementary schools are located in Madison County?
4 public elementary schools are located in Madison County.
What is the racial composition of students in Madison County?
Madison County public elementary schools minority enrollment is 13% of the student body (majority Hispanic), which is less than the North Carolina public elementary schools average of 58% (majority Black and Hispanic).

Recent Articles

Media Literacy as a Core Skill: How to Tell if a School Teaches It Well
Media Literacy as a Core Skill: How to Tell if a School Teaches It Well
Learn how to evaluate whether a public school teaches media literacy effectively, from fact-checking and source evaluation to digital citizenship and critical thinking.
Screen Time, Paper Learning, and the New Back-to-Basics Debate
Screen Time, Paper Learning, and the New Back-to-Basics Debate
Explore why some public schools are reducing screen time, bringing back paper learning, and rethinking the balance between technology and traditional instruction.
Student Data, AI Tools, and Privacy: Questions to Ask Your District
Student Data, AI Tools, and Privacy: Questions to Ask Your District
Learn how public schools use AI, protect student data, and the key privacy questions every parent should ask their school district in 2026.

Quick Links