カンナダ文字（カンナダもじ、, kannaḍa akṣaramāle、, kannaḍa varṇamāle）は、主にインドのカルナータカ州で話されているカンナダ語を表記するための文字。古代インドのブラーフミー文字から派生した文字の1つであり、書字方向は他の派生文字(デーヴァナーガリーなど)と同じく左から右への横書きである。単語と単語の間は欧米諸言語のように分かち書きする。書字システムの性質によりアブギダに分類される。カンナダ語だけでなく、カンナダ語使用地域周辺で話されているトゥル語やコンカニ語などの言語の表記にも使用され、一部にマラーティー語の話者でこの文字を用いる人もいる。

歴史 

カンナダ文字は、紀元前にインド北部で成立したブラーフミー文字が、 デカン高原南部（インド中南部）において時が経つにつれ字形変化して成立したものである。

紀元前にインド北部で成立したブラーフミー文字はその後インド各地で様々に字体が変化していき、4世紀頃には南北で字形に著しい差ができるようになっていた。この頃にデカン高原南部で使用されていた字形が現在のカンナダ文字とテルグ文字の大元となる（この時代の文字を、その特徴から箱型文字、あるいは時代の文字という意味でカダンバ文字などと呼ぶ）である。この頃からのによるテクストが現存しており、例えば5世紀に刻文されたとされるは古カンナダ語で書かれている。

さらに時代が下るにつれて、筆記道具が変化し、貝葉（シュロ椰子）に先端の細い鉄筆で傷を付けながら書記するという筆記方法が生まれた。そのため、貝葉の繊維に沿って筆記して書面が破けることのないよう、できるだけ曲線の多い文字の形に変化していった（また、筆記用具の変化に伴い、筆順も変化し、それが字形の変化を引き起こした）。字形の曲線化傾向が顕著になり始めた9世紀前後の文字を（原カンナダ文字とも）という。

さらには、10世紀以降東西間での字形の差が徐々に現れ始め、通時的に東隣のアーンドラ・プラデーシュ州において使用されるテルグ文字とほぼ同じく字形変化をしてきた文字であり、テルグ文字との違いがはっきりと現れるようになったのは遅くて15世紀頃と比較的最近のことである。この時期あたり以降の東の字体がテルグ文字、西の字体がカンナダ文字である。

カンナダ文字・テルグ文字双方とも、16世紀頃になってから大きな字形変化はなくなり、さらには19世紀初め頃には印刷が盛んになってきた。そのため、字体差がはっきり現れるようになったとはいえ、現在のカンナダ文字とテルグ文字は多くの字母が酷似している。

書字システムの特徴 
カンナダ文字の子音字母は単独で「子音+随伴母音（カンナダ文字の場合は a）」の音節を表す。そのためカンナダ文字は音節文字である。例えば、基本子音字母 ಕ は単独で "ka" と読まれる1つの音節である。

子音に短母音 a 以外の母音を付けた音節を記したいときは、子音字母に母音符号を付ける。例えば、子音 k に長母音 ā  を付けた音節 “kā”を表記するには、母音符号 ಾ の破線の円に子音字母を入れて ಕಾ と書き、これを "kā"  と読む。同様に短母音 o  を付けたい場合は ೊ という形の母音符号を使って同様に ಕೊ と書き、これを "ko"  と読む。

また、子音のない、母音だけで成り立つ音節を記す場合は別個に母音の基礎字母があり、それを使う。例えば ಆ は単独で ā  を表す。

このように、基礎字母を単独で「子音 + 母音」の音節として読み、音節に付属している母音を変えたいときに付加記号を付けるこのような書字システムのことをアブギダと呼ぶ。カンナダ文字の起源となったブラーフミー文字自体がこのような書字システムであり、そのため、この文字から派生した南アジア・東南アジアの文字のほとんどがアブギダに分類される。英語やドイツ語などで使用されるラテン文字は、子音と母音を別個の独立字母として表すため、ラテン文字のような表記システムをカンナダ文字のようなアブギダとは区別してアルファベットと呼ぶ。

子音 
カンナダ文字の子音字母とその発音をここに記す。この字母表の順序は辞書順である。発音の列には、ローマ字への翻字と発音記号(IPA)を記す。

これらの字母の字形についていくつかの特徴が挙げられる。
 多くの字母の上部に、右端が上に反った形の横棒の字画があるのが分かる(中には右部に短く書かれる字母もある)。この字画の部分は「タレカットゥ」と呼ばれる。タレカットゥは、ブラーフミー系諸文字の発達段階において縦画の始筆部であったものが変化したものであり、デーヴァナーガリーなど北方系文字にある上部横線(シローレーカー)に相当する。後述する母音符号を付記する際、タレカットゥをもつ文字はその右端のカール部分を変形させて符号を付ける。
 閉鎖音を表す字母の中には、 pa に対して  pha のように、無気音に対して下部中央に短い縦棒を付記するだけで有気音を表す字母としているものがある。元々ドラヴィダ語族の1つであるカンナダ語には有気音と無気音の音韻対立がなく、p も ph も言語音としては同じ音として認識され、有気音を表す字母の必要性はなかった。有気音の字母は、有気音と無気音の音韻対立をもつサンスクリットなどの印欧語族インド語派の言語などからの借用語によく使われる。
なお、 は古典に使用されていた文字であり、現在では使用されない。

母音 
次に母音字を説明する。下表の1番目の列は、子音のつかない母音のみの音節を表すのに使われる。2番目にある母音付加記号の列は、子音に後続する母音 a を他の母音に替えるのに用いられる。その使用例を3列目に示す。

は元々サンスクリットにおいて母音として扱われていたものであり、ときにに書き換えられる。他にももサンスクリット起源の母音を表す字母であるが、現在ではほとんど使用されない。

付加記号の内いくつかは上部に付加するものであり、その内 をのぞいた （母音消去符号）は、子音字がタレカットゥ（上部右端がカールした横画）を持つかどうかによって付け方が異なる。
 タレカットゥのある子音字：右端のカールした部分を書き換える
 ಚ ca ⇒ ಚಾ cā, ಚೇ cē, ಚೌ cau.
 ತ ta ⇒ ತೆ te, ತೌ tau, ತ್ t.
 タレカットゥのない子音字：子音字の筆画の終点（右上端で終わる）から続けて書く
 ಟ ṭa ⇒ ಟೈ ṭai, ಟೌ ṭau, ಟ್ ṭ.
 ಳ ḷa ⇒ ಳಾ ḷā, ಳೋ ḷō, ಳ್ ḷ.

 ಜ ja ⇒ ಜಾ jā, ಜೊ jo, ಜೌ jau.
 ಣ ṇa ⇒ ಣೇ ṇē, ಣೌ ṇau, ಣ್ ṇ.

 ಙ ṅa ⇒ ಙಾ ṅā, ಙೋ ṅō, ಙ್ ṅ.
 ಞ ña ⇒ ಞೇ ñē, ಞೌ ñau, ಞ್ ñ.
 ಱ ṟa ⇒ ಱಾ ṟā, ಱೈ ṟai, ಱೌ ṟau.
 ೞ ḻa ⇒ ೞಾ ḻā, ೞೌ ḻau, ೞ್ ḻ.

ただし、子音字と母音付加記号の組み合わせによっては、例外的な付き方をするものもやや多く(とはいえテルグ文字ほどには多くない)、特にについては、例外が多いというよりも、付け方が3パターンあると言うほうが早い。ここに、それぞれの付加記号について例外的な付け方や注意点などを示す。
（母音消去符号）：
 タレカットゥと字画の終点が離れている字母: タレカットゥに続けずに右端の字画の終点に続けて書く。
{| class="wikitable" style="text-align:center;font-size:160%;"
|- style="font-size:70%;"
! colspan="2" | !! ā !! au !! 母音消去
|-
| style="background:#ccc;font-size:70%;" |jha || style="background:#ccc;" class="Unicode" | ಝ ||class="Unicode" | ಝಾ ||class="Unicode" | ಝೌ ||class="Unicode" | ಝ್
|-
| style="background:#ccc;font-size:70%;" |ma || style="background:#ccc;" class="Unicode" | ಮ ||class="Unicode" | ಮಾ ||class="Unicode" | ಮೌ ||class="Unicode" | ಮ್
|-
| style="background:#ccc;font-size:70%;" |ya || style="background:#ccc;" class="Unicode" | ಯ ||class="Unicode" | ಯಾ ||class="Unicode" | ಯೌ ||class="Unicode" | ಯ್
|}

：タレカットゥをとった字形によって、次の3パターンの規則のどれかに分かれる。
 上部が円弧状の字形の字母（をのぞく）: タレカットゥを取り除き、さらに円弧のようなものを付け加える
 例：ಗ ga ⇒ ಗಿ gi, ಗೀ gī; ದ da ⇒ ದಿ di, ದೀ dī; ರ ra ⇒ ರಿ ri, ರೀ rī, ಝ jha ⇒ ಝಿ jhi, ಝೀ jhī.
 字画の終わりがタレカットゥに繋がっており（したがってなどは除く）、なおかつ字画の終わりが右下から左上へ伸びていく形の字母（タレカットゥはないが  kha と  ba を含む;  ca を除く）：タレカットゥをとった上、続け書きする。付加記号の形の変化に注意。
 例：ಖ kha ⇒ ಖಿ khi, ಖೀ khī; ಜ ja ⇒ ಜಿ ji, ಜೀ jī; ತ ta ⇒ ತಿ ti, ತೀ tī; ಬ ba ⇒ ಬಿ bi, ಬೀ bī; ಮ ma ⇒ ಮಿ mi, ಮೀ mī; ಯ ya ⇒ ಯಿ yi, ಯೀ yī
 その他：タレカットゥを取り除いた後、上表の通りの記号を付ける。中には続け書きするものもある。 pa などのようにタレカットゥの直下に点のある字母（を除く）では、その点の所から付加記号を書き始める。
 例：ಕ ka ⇒ ಕಿ ki, ಕೀ kī; ಘ gha ⇒ ಘಿ ghi, ಘೀ ghī; ಙ ṅa ⇒ ಙಿ ṅi, ಙೀ ṅī; ಪ pa ⇒ ಪಿ pi, ಪೀ pī.
  は少々紛らわしいが、上の2番目の方法に従う: ಶ śa ⇒ ಶಿ śi, ಶೀ śī.
  は、タレカットゥの直前の字画までも取り除いてから付加記号を付け加える: ಚ ca ⇒ ಚಿ ci, ಚೀ cī; ಹ ha ⇒ ಹಿ hi, ಹೀ hī.

：
：通常より下から付加記号を書き始める。
{| class="wikitable Unicode" style="font-size:160%;text-align:center;"
|-style="text-align:center;font-size:70%;"
! colspan="2" | !! u !! ū
|-
| style="background:#ccc;font-size:70%;" |pa || style="background:#ccc;" | ಪ || ಪು || ಪೂ
|-
| style="background:#ccc;font-size:70%;" |pha || style="background:#ccc;" | ಫ || ಫು || ಫೂ
|-
| style="background:#ccc;font-size:70%;" |va || style="background:#ccc;" | ವ || ವು || ವೂ
|}

：
 のときと同じで通常より下から付加記号を書き始める。ū と読み間違えないよう、タレカットゥの右端が変化しているかどうかを確かめること。
{| class="wikitable Unicode" style="font-size:160%;text-align:center;"
|-style="font-size:70%;"
! colspan="2" | !! o !! ō !! ū（参考）
|-
| style="background:#ccc;font-size:70%;" |pa || style="background:#ccc;" | ಪ || ಪೊ || ಪೋ || ಪೂ
|-
| style="background:#ccc;font-size:70%;" |pha || style="background:#ccc;" | ಫ || ಫೊ || ಫೋ || ಫೂ
|-
| style="background:#ccc;font-size:70%;" |va || style="background:#ccc;" | ವ || ವೊ || ವೋ || ವೂ
|}

{| class="wikitable Unicode" style="font-size:160%;text-align:center;"
|-style="font-size:70%;"
! colspan="2" | !! o !! ō !! （参考）
|-
| style="background:#ccc;font-size:70%;" |jha || style="background:#ccc;" | ಝ || ಝೊ || ಝೋ || 
|-
| style="background:#ccc;font-size:70%;" |ma || style="background:#ccc;" | ಮ || ಮೊ || ಮೋ || ವ va, ವೂ vū
|-
| style="background:#ccc;font-size:70%;" |ya || style="background:#ccc;" | ಯ || ಯೊ || ಯೋ || 
|}

 には、付け方に例外はない。

二重子音 
"kt" などの二重子音は、（母音 a をとる符号）を使って表す事ができるが、基本的には2番目の子音を下、あるいは右下に少し小さく書くという方法で表す。下に書く文字はタレカットゥをとる。
例：ದ್ದ dda, ಡ್ಝೆ ḍjhe. - このような書き方があるために、 は普通語末に使われる。

ただし、2番目の子音としてよく出てくる次の6つの子音字は、下に来る際に形を変える。下にきたときの形を単独のフォントで表すことができないので、子音字の下にきたときの例を示す。

他にも、子音字の右に ౯ を書くと、子音の前に r- が付く。例： gha ⇒ ರ್ಘ rgha.  - この書字法があるため、 ra は普通下に子音字が置かれることはない。

特殊記号と句読点 
音節末の子音を表すのに、次の特殊な記号がある。

句読点には、伝統的には次のものがある。

しかし、現在は欧米式の ピリオド(.)、コンマ、疑問符(?) を用い、伝統的なものはほとんど用いられない。

数字 
インド系の各文字には独自の字体をもつ数字がある。カンナダ文字における数字は下表のようなものである。

使用法は算用数字と全く同じである。例：  = 906 = 九百六。

ただ、現在では欧米式の "0123456789" がほとんどの場で使用され、カンナダ文字独自のものはほとんど用いられない。

コンピュータでの文字処理 
以上に見てきたように、カンナダ文字は子音文字と母音記号の組み合わせや二重子音の組み合わせ方が複雑で、ときに例外をとることもある。このような複雑な書字体系をもつカンナダ文字は（これに限らずブラーフミー系文字全般に言えることだが）コンピュータに字形を正しく出力させるのが難しく、出力システムの設計・構築は難題である（複雑なテキスト配置を参照）。

Unicodeにおけるコードの定義 
Unicodeでは、以下の領域に下記の文字が定義されている。

なお、読点および句点はカンナダ文字枠には定義されておらず、デーヴァナーガリーにて定義されているU+0964 及び U+0964 を利用する(ただし今後 U+0CE4 及び U+0CE5 として定義される可能性はある)。ピリオド(.)、コンマ、疑問符(?) は英文のものと全く同じであり、カンナダ文字枠には定義されていない。

Windows上での処理 
Windows XP、Windows Server 2003以降のオペレーティングシステム (OS) では、該当のテキスト処理システムをインストールすれば、キーボード上でカンナダ文字を入力することができる。インストール法など詳しくはHelp:多言語対応 (インド系文字)を参照。

キーボード
Windowsのカンナダ語キーボードの配列は以下の通り。