William McKinley werd op 29 januari 1843 geboren in het stadje Niles, Ohio. Hij woonde daar tot hij tien jaar oud was. Toen verhuisde hij met zijn familie naar het nabijgelegen Poland, Ohio. Zijn liefdevolle familie bezorgde William Jr., het zevende van acht kinderen, een leuke jeugd die ook zorgvuldig door zijn ouders werd geleid. Zoals de meeste jonge jongens bracht hij zijn jeugd door met vissen, jagen, schaatsen, paardrijden en zwemmen. Zijn vader had een kleine ijzergieterij en bracht de jonge William een sterke werkethiek en een respectvolle houding bij. Nancy Allison McKinley, zijn vroom religieuze moeder, leerde hem de waarde van gebed, hoffelijkheid en eerlijkheid in alle omgang.
Onderwijs en militaire dienst
Onderwijs was belangrijk voor William, en hij studeerde hard op een school die werd geleid door het Methodist seminarie in zijn geboorteplaats Polen, Ohio. Na zijn afstuderen, ging hij naar Allegheny College in Meadville, Pennsylvania, in 1860. Hij bezocht Allegheny echter maar voor één semester, vanwege ziekte en financiële moeilijkheden.
Toen de Burgeroorlog uitbrak, sloot William zich aan bij de Twenty-third Ohio Volunteer Infantry. Tijdens de oorlog bewees de jonge soldaat zich een dapper soldaat op het slagveld, vooral tijdens de bloedige slag bij Antietam. Als officier diende tweede luitenant McKinley in de staf van kolonel Rutherford B. Hayes, de toekomstige president van de Verenigde Staten. Zijn relatie met Hayes, die hij als zijn mentor beschouwde, bleef zijn hele leven constant. Hij eindigde zijn vierjarige diensttijd in het leger als brevet-majoor, waarmee hij een titel verwierf die hem zijn hele politieke loopbaan zou bijblijven.
Recht en politieke loopbaan
Toen de Burgeroorlog was afgelopen, keerde McKinley terug naar Ohio om zijn carrière in de rechten en de politiek te beginnen. Hij studeerde rechten aan de Albany Law School en nadat hij in 1867 was geslaagd voor het bar-examen, begon hij zijn advocatenpraktijk in Canton, Ohio. Tijdens een picknick in Canton in 1869 – het jaar dat hij zijn intrede deed in de politiek – ontmoette McKinley zijn toekomstige vrouw, Ida Saxton, met wie hij twee jaar later trouwde. Hij was toen zevenentwintig en zij was drieëntwintig.
Hoewel hij van beroep advocaat was, stelde zijn betrokkenheid bij de Republikeinse organisatie zijn toekomst veilig. Zijn eerste verkiezing in 1869 was die voor officier van justitie. Hij stelde zich met succes kandidaat voor het Congres in 1876 en diende tot 1891, met uitzondering van een korte periode toen hij verloor bij de verkiezingen van 1882. Als congreslid werd McKinley in 1889 voorzitter van de House Ways and Means Committee. In die machtige positie stelde hij het McKinley Tariff van 1890 op en loodste hij het erdoor. Omdat deze sterk protectionistische maatregel de consumentenprijzen aanzienlijk verhoogde, wezen boze kiezers McKinley en veel andere Republikeinen af bij de verkiezingen van 1890. Verbijsterd door zijn nederlaag keerde McKinley terug naar Ohio en stelde zich kandidaat als gouverneur in 1891, een race die hij won, maar met een kleine marge.
Als gouverneur probeerde McKinley de onenigheid tussen management en arbeiders onder controle te krijgen en, naar hij hoopte, te verminderen. Hij ontwikkelde een arbitragesysteem om arbeidsconflicten te beslechten en overtuigde de republikeinen van Ohio, van wie velen weigerden de rechten van de arbeiders te erkennen, om zijn arbitrageprogramma te steunen. McKinley stond sympathiek tegenover de arbeiders, maar bleek niet bereid al hun eisen in te willigen en riep in 1894 de Nationale Garde op om het stakingsgeweld van de leden van de United Mine Workers in te dammen. In het licht van de economische problemen in het midden van de jaren 1890 toonde McKinley zich een bekwaam en kundig politicus. Hij kreeg zelfs sympathie van het grote publiek toen zijn eigen financiële fortuin te lijden had onder de economische depressie van 1893 – hij had meeondertekend voor de leningen van een vriend die vervolgens failliet ging. Hij won de gunst van de kiezers en werd in 1894 teruggeplaatst als gouverneur. Met zijn ervaring als gouverneur en congreslid en zijn populariteit bij de Republikeinen was McKinley in staat zich in 1896 kandidaat te stellen voor het Witte Huis.