hukum grimm adalah kaidah yang dinamai berdasarkan jacob grimm yang menjelaskan konsonan-konsonan hentian dalam bahasa proto-indo-eropa yang berkembang dalam bahasa proto-jermanik (leluhur dari rumpun bahasa jermanik dalam keluarga bahasa indo-eropa) pada milenium pertama sebelum masehi.
hukum tersebut menetapkan sejumlah korespondensi antara konsonan hentian dan frikatif rumpun bahasa jermanik dengan konsonan-konsonan hentian dalam rumpun bahasa indo-eropa yang termasuk dalam kelompok kentum (grimm banyak memberikan contoh dalam bahasa latin dan yunani).
hukum grimm adalah sistem perubahan bunyi yang pertama kali ditemukan tanpa adanya keraguan.
walau pada awalnya ditemukan dalam bidang filologi, penemuan tersebut menjadi awal dari terbentuknya fonologi historis sebagai bagian yang terpisah dari linguistik historis.
korespondensi antara p dalam bahasa latin dan f dalam bahasa jermanik pertama kali dicatat oleh friedrich von schlegel pada tahun 1806.
pada tahun 1818, rasmus christian rask memperluas korespondensi-korespondensinya pada rumpun-rumpun bahasa indo-eropa lainnya, seperti sansekerta dan yunani, serta konsonan-konsonan yang berkaitan.
pada tahun 1822, jacob grimm, kakak dari grimm bersaudara, mengajukan hukum tersebut dalam buku deutsche grammatik serta memperluasnya dengan memasukkan bahasa jerman.
grimm telah mengetahui bahwa terdapat banyak kata yang memiliki konsonan-konsonan yang berbeda sebelum diramalkan dalam hukumnya.
pengecualian-pengecualian ini disangkal para ahli bahasa selama beberapa dekade, namun pada akhirnya dapat dijelaskan dalam hukum verner dari ahli bahasa asal denmark karl verner.
hukum grimm terdiri dari tiga bagian yang membentuk perubahan berantai.
perubahan-perubahan tersebut direkonstruksi sebagai berikut:
konsonan hentian tak bersuara dari proto-indo-eropa berubah menjadi konsonan frikatif.
konsonan hentian bersuara dari proto-indo-eropa berubah menjadi konsonan hentian tak bersuara.
konsonan hentian bersuara dengan aspirasi dari proto-indo-eropa berubah menjadi konsonan hentian bersuara atau frikatif (sebagai alofon).
perubahan tersebut secara ringkas direpresentasikan sebagai berikut:
di sini setiap suara mengalami pergeseran ke kanan dan menjadi suara baru.
perhatikan pula bahwa pada proto-jermanik, bunyian yang ditandai dengan (b), (d), (g) dan (gw) adalah hentian atau frikatif dalam beberapa lingkungan, sehingga tidak diketahui penjelasan lebih lanjut soal perubahan tersebut, dan ada kemungkinan bahwa ada pergeseran dalam berbagai cara sebelum sampai pada situasi saat ini.
tiga tahapan di atas menunjukkan sebuah "reaksi tarik", di mana pergeseran bunyi yang terjadi dalam hal sebuah bunyi hilang dan diganti oleh bunyi lain.
tahapan-tahapan tersebut dapat juga mengalami perubahan yang berbeda.
deretan perubahan-perubahan mungkin pula terjadi sebagai berikut:
hentian tak bersuara mengalami aspirasi dalam kondisi tertentu.
hentian bersuara menjadi hentian tak bersuara.
hentian beraspirasi menjadi frikatif.
deretan ini akan berujung pada hasil akhir yang sama.
bentuk hukum grimm ini sering diusulkan pada konteks teori glotalik dalam proto-indo-eropa, yang didukung oleh segelintir ahli bahasa.
susunan teori ini menjelaskan bahwa "hentian tak bersuara" dalam pie memang pada mulanya tak bersuara, sehingga tahap yang kedua tidak akan terjadi demikian, atau tidak mengalami pengawasuaraan, tetapi kehilangan fitur artikulasi seperti glotalisasi.
susunan alternatif ini juga menerangkan fonetik dari hukum verner (lihat bawah), yang lebih mudah dijelaskan ketika hukum grimm diformulasi dengan cara serupa.
ketika perubahan seperti yang dijelaskan oleh hukum grimm telah terjadi, maka hanya terdapat satu jenis konsonan bersuara, tanpa adanya perbedaan antara hentian bersuara dan frikatif bersuara.
konsonan-konsonan bersuara tersebut merupakan konsonan hentian pada awalan kata (pada kebanyakan kasus), serta setelah konsonan sengau, namun selebihnya merupakan konsonan frikatif.
tidak diketahui apakah konsonan-konsonan tersebut pada permulaannya adalah hentian atau frikatif.
hentian bersuara yang diaspirasi mungkin pada awalnya berubah menjadi frikatif bersuara, sebelum mengeras menjadi hentian dalam situasi tertentu.
namun konsonan-konsonan tersebut mungkin pada awalnya juga merupakan konsonan hentian, yang kemudian mengalami perubahan menjadi konsonan frikatif dalam banyak posisi.
pada saat yang bersamaan ketika perubahan di bawah hukum grimm terjadi, berlaku pula pergeseran lain yang dikenal sebagai hukum verner.
hukum ini membuat konsonan-konsonan frikatif tak bersuara dalam beberapa kasus tertentu menjadi bersuara yang mengikuti pergeseran menurut hukum grimm, sehingga menghasilkan beberapa pengecualian tertentu dari kaidah.
proto-indo-eropa *bhrh2tr ("saudara laki-laki") > proto-jermanik *brr (inggris kuno broor, jerman tinggi kuno bruothar/bruodar)
proto-indo-eropa *ph2tr ("ayah") > proto-jermanik *fadr (inggris kuno fder, jerman tinggi kuno fatar)
pada contoh di atas, bunyi *t yang sama muncul sebagai * pada satu kata (mengikuti hukum grimm), tetapi sebagai *d pada kata lain (tampaknya melanggar hukum grimm).
bunyi *gw dalam rumpun jermanik yang berasal dari *gwh*kw:
setelah bunyi *n ia bertahan sebagai hentian labiovelar *gw, tetapi kemudian berubah menjadi konsonan velar *g dalam rumpun jermanik barat.
sebelum huruf vokal, ia berubah menjadi *w, kemungkinan setelah melewati tahap frikatif *w.
pada awalan kata, refleks yang paling memungkinkan adalah hentian labiovelar *gw, namun tidak diketahui bagaimana perkembangan selanjutnya.
dalam posisi ini, ia berubah menjadi *w, *g atau *b pada proto-jermanik akhir.
sebelum vokal *u, ia berubah menjadi *g, dikarenakan kehilangannya elemen labial sebelum huruf vokal labial.
(lihat kaidah bouklos)
refleks lain adalah *b (seperti yang ditunjukkan antara kata bahasa inggris bid < *bidjan dan irlandia kuno guidid), yang juga muncul sebagai *w dalam kasus-kasus tertentu, seperti pada kata warm (hangat) dan wife (istri, apabila penjelasan yang diberikan tepat).
bunyi proto-jermanik *hw yang mengalami penyuaraan dalam hukum verner jatuh dalam kelompok yang sama dan bergeser secara identik, seperti dalam kata 'serigala betina': bahasa jerman tinggi pertengahan wlbe
perubahan lebih lanjut di samping hukum grimm, serta perubahan suara dalam rumpun bahasa indo-eropa lainnya, sering mengaburkan efeknya.
contoh yang ilustratif adalah sebagai berikut.
kata-kata kerabat non-jermanik
latin: ps, pedis, latvia: pda, lituania: pda, rusia:  (pod) "di bawah; lantai", sansekerta: pda, yunani kuno: ,  (pos, pods)
denmark: fod, frisia barat: foet, gothik: ftus, inggris: foot, jerman: fu, faroe, islandia: ftur, norwegia, swedia: fot
albanian: tret, latin: tertius, lituania: treias, rusia:  (tretij), sansekerta: treta, wales: trydydd,yunani kuno:  (tritos),
denmark, swedia: 'tredje, frisia kuno: thredda, gothik: ridja, inggris: third, islandia: riji, sakson kuno: thriddio
*wn- ~ *un-
latin: canis, wales: ci (bentuk jamak cwn), yunani kuno:  (kn)
belanda: hond, denmark, norwegia, swedia: hund, gothik: hunds, islandia, faroe: hundur, inggris: hound, jerman: hund
irlandia: cad, latin: quod, lituania: kas, rusia: - (ko-), sansekerta: kd
denmark: hvad, faroe: hvat, gothik: hunds, inggris: what, islandia: hva, norwegia: hva
belanda: diep, frisia barat: djip, gothik: diups, inggris: deep, islandia: djpur, swedia: djup
irlandia: deich, latin: decem, lituania: deimt, rusia:  (desyat'), sansekerta: daan, yunani:  (dka)
belanda: tien, denmark, norwegia: ti, faroe: tggju, gothik: tahun, inggris: ten, islandia: tu, swedia: tio
latin: gel, lituania: gelmenis, gelum, yunani:  (gelandrs)
belanda: koud, denmark: kold, faroe, islandia: kaldur, frisia barat: kld, inggris: cold, jerman: kalt, norwegia: kald, swedia: kall
lituania: gyvas, rusia:,  (ivoj), sansekerta jv-
belanda: kwiek, denmark: kvik, faroe, islandia: kvikur, frisia barat: kwik, kwyk, gothik: qius, inggris: quick, jerman: keck, norwegia: kvikk, swedia: kvick
sansekerta: bhrt, yunani kuno:  (phrtr) ("anggota persaudaraan")
belanda, frisia barat: broeder, denmark, norwegia, swedia: broder, faroe, islandia: brir, gothik: broar, inggris: brother, jerman: bruder
sansekerta: mdhu, yunani homer:  (methu)
belanda: mede, denmark, norwegia: mjd, frisia barat: meede, faroe: mjur, inggris: mead, swedia: mjd
sansekerta: stighnoti, yunani kuno:  (stekhein)
belanda: stijgen, denmark, norwegia: stige, faroe, islandia: stga, gothik steigan, inggris kuno: stgan, jerman: steigen (semuanya berarti "naik")
belanda: zingen, frisia barat: sjonge, denmark: synge/sjunge, faroe, islandia: syngja, gothik siggwan, inggris: sing, islandia kuno: syngva, syngja, jerman: singen, swedia: sjunga
avesta: garm, prusia kuno: gorme, sansekerta: gharm-
(selebihnya bergabung dengan g dan w yang sudah ada)
belanda, jerman: warm, frisia barat: waarm, inggris: warm, islandia: varmur, swedia: varm
pergeseran dalam gugus konsonan
menurut hukum grimm, ketika terdapat sepasang obstruen, maka hanya bunyi pertama yang akan mengalami pergeseran (apabila mungkin), dan tidak ada pergeseran obstruen yang kedua.
apabila salah satunya tak bersuara, maka gugus konsonan akan mengalami pengawasuaraan, serta obstruen pertama (apabila mungkin) akan kehilangan labialisasi.
contoh utama dari pergeseran ini terjadi dengan obstruen setelah *s (resulting in *sp, *st, *sk, *skw), atau obstruen yang sebelum *t (yang menghasilkan *ft, *ss, *ht, *ht) atau *s (yang menghasilkan *fs, *ss, *hs, *hs).
perubahan yang terakhir lebih sering terjadi pada sufiks, dan pembatasan fonotaktik ini dikenal sebagai hukum spiran jermanik.
hukum ini mempengaruhi selama periode proto-jermanik.
gugus konsonan *tt bergeser menjadi *ss, namun juga terkadang berubah menjadi *st.
contoh-contoh sebelum *s:
kata-kata kerabat non-jermanik
latin: spuere, lituania: spjuti
belanda: spuwen, frisia barat: spije, denmark, norwegia, swedia: spy, faroe: spggja, gothik: speiwan, inggris spew, islandia: spja, jerman: speien
belanda: staan, faroe, islandia, norwegia: standa, denmark, swedia: st, frisia barat: stean, gothik: standan, inggris stand, jerman: stehen
inggris: short, islandia: skorta, jerman tinggi kuno: scurz
belanda: schelden, frisia barat: skelle, inggris: scold, islandia: skld, jerman: schelten, norwegia: skald
beberapa ahli bahasa memperdebatkan asal usul kata "scold", namun julius pokorny, di antara ahli bahasa, mengusulkan *skwetlo sebagai akar kata.
bahasa inggris dan jerman kemudian mengalami perubahan dari bahasa belanda memiliki contoh-contoh sebelum *t:
kata-kata kerabat non-jermanik
prusia kuno: au-klipts "tersembunyi", yunani kuno:  (klepts)
gothik: hliftus "pencuri"
latin: atta, yunani:  (tta)
gothik: atta "ayah", jerman tinggi kuno: atto
irlandia: ocht, latin: oct, yunani kuno:  (okt)
belanda, frisia barat, jerman: acht, gothik: ahtu, inggris: eight, islandia: tta
belanda, frisia barat, jerman: nacht, gothik: nahts, inggris: night, islandia: ntt
kata bahasa islandia ntt
korespondensi terhadap pie
hukum suara jermanik, beserta dengan perubahan-perubahan teratur yang direkonstruksi untuk bahasa-bahasa indo-eropa lainnya, juga menetapkan korespondensi suara antara berbagai cabang dari rumpun yang sama.
contohnya, awalan *b- dalam bahasa jermanik berkorespondensi dengan *f- dalam bahasa latin, dalam bahasa sansekerta, dalam bahasa yunani, b- dalam rumpun slavia, baltik dan keltik, dst., sementara awalan *f- berkorespondensi dengan huruf p- dalam bahasa latin, sansekerta, yunani, rumpun slavia serta baltik, dan tanpa konsonan awal dalam rumpun keltik.
kelompok pertama dapat ditelusuri sampai pada *
salah satu keberadaan yang paling jelas adalah digraf pada bahasa inggris berupa wh yang berkorespondensi dengan digraf bahasa latin dan rumpun roman qu, yang dapat ditemukan pada interogativa (asdikamba) yang dikenal sebagai five ws. keduanya berasal dari bentuk kw (seperti pada kwik, bentuk lain dari kata quick, 'cepat').
pengucapan saat ini telah melewati pergeseran suara lainnya, seperti kontraksi dari pengucapan wh dalam bahasa inggris, walaupun huruf yang bertahan mencerminkan asal-usulnya.
pergeseran konsonan bahasa jerman tinggi
gorgia tuskan, evolusi serupa yang mempengaruhi dialek tuska dengan bahasa italia standar.
bahasa hongaria dari rumpun bahasa ural telah mengalami pergeseran yang serupa, sehingga menghasilkan banyak huruf f dan h, dan dapat dibandingkan dengan bahasa finlandia, yang tidak mengalami perubahan yang sama.
bahasa armenia, bahasa indo-eropa lainnya, telah mengalami evolusi yang serupa.