大文字と小文字（おおもじとこもじ、アッパーケース文字とローワーケース文字）は、アルファベットにおける同一字母の2つの表現形である。同じ字母の大文字と小文字は同じ文字の代替表現であり、同じ名前と発音を持ち、アルファベット順に並べ替える際には同じように扱われる。多くの場合、アルファベットに属する全ての文字は大文字と小文字の2つの形を持つ。大文字と小文字の区別のことをレターケース（letter case）という。

一般的には大文字と小文字は混在させて使用され、読みやすさを考慮して大文字と小文字の両方を使用する。大文字と小文字の選択は、言語の文法や特定の分野の慣習によって規定されることが多い。正書法では、大文字は主に文の最初の文字や固有名詞の語頭のような特別な目的のために使用され、それ以外については小文字を使用するのが一般的である。

いくつかの分野では、大文字か小文字のどちらかのみを使用することが慣例となっている。例えば、工学分野の設計図は、一般的に全て大文字でラベル付けされている。一方、数学では、大文字はオブジェクト間の関係を示すことがあり、しばしば上位のオブジェクトを表すのに使用される（例えば、Xは要素xを含む集合を表すなど）。

 用語 

英語においては、大文字をuppercase（アッパーケース）、小文字をlowercase（ローワーケース）という。これらの用語は、「」と呼ばれる、活版印刷用の活字を収納するための引き出しの一般的なレイアウトに由来している。伝統的に、大文字の活字を入れたケースは、小文字のケースの上に配置していた。

古書体学において、アセンダーやディセンダーがほとんどない、もしくは全くないもの（バチカン写本やケルズの書など）をマジャスキュール（majuscule (, )）という。その視覚的なインパクトのため、マジャスキュールという用語は、後に一般的に「大文字」と呼ばれるようになったもののことも指すようになった。

それに対して、ミニュスキュール（minuscule）は小文字のことを指す。この単語は、ミニチュア（miniature）や接頭辞mini-との混同から、miniscule（ミニスキュール）と綴られることが多い。これは伝統的にスペルミスとみなされてきたが（minusculeの語源はminusであるため）、現在では非常に一般的であり、一部の辞書では非標準または変形スペルとして受け入れられている。

 タイポグラフィにおける考慮 
小文字のグリフは、大文字のグリフを単に小さくしただけの場合（“C”と“c”、“S”と“s”など）もあれば、一見ほとんど関係ないように見える場合（“D”と“d”、“G”と“g”など）もある。以下に英語アルファベットの大文字と小文字を上下に並べたものを挙げる（正確な表現は、使用する書体やフォントによって異なる）。
 大文字 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 小文字 a b c d e f g h i j k l m n o p q r s t u v w x y z

タイポグラフィ的には、大文字と小文字の基本的な違いは、大文字が大きくて小文字が小さいということではなく、一般的に大文字は高さが全て同じであるということである。ただし、書体によっては例外もあり、特に“Q”や“J”はベースラインよりも下にはみ出る場合もある。また、様々なダイアクリティカルマークは文字の通常の高さに追加することができる。

小文字の高さには、一般的な小文字の高さよりも上にはみ出るもの（アセンダー）や下にはみ出るもの（ディセンダー）があるため、バリエーションが多い。通常、b,d,f,h,k,l,tはアセンダーを持つ文字で、g,j,p,q,yはデセンダーを持つ文字である。また、一部の伝統的なフォントや古典的なフォントで使われている旧式の数字では、6と8がアセンダーを持ち、3、4、5、7、9がディセンダーを持つ。

 大文字と小文字の使い分け 

ラテン文字、ギリシア文字、キリル文字、コプト文字、アルメニア文字、、ワラング・クシティ文字、チェロキー文字、を使用している言語では、文字の明瞭性と読みやすさを高めるために、大文字・小文字の区別をしている（bicameral scripts）。また、かつて使われていたデザレット文字にも大文字・小文字の区別があった。グルジア文字にはいくつかのバリエーションがあり、それらを別の大文字とする試みもあったが、現代のグルジア語の書き言葉では大文字と小文字を区別していない。

他の多くの言語では、大文字と小文字の区別がない（）。これには、ほとんどの音節文字やその他の非アルファベット文字が含まれる。

大文字と小文字の区別がある文字では、一般的にテキストの大部分には小文字が使用され、大文字は文頭や固有名詞の語頭など、限られた場所でのみ使用される。また、強調表現で大文字が使用されることもある。頭字語は全て大文字（オールキャップス）で書かれることが多い。

 キャピタライゼーション 

キャピタライゼーション（capitalisation、大文字化）とは、単語の最初の文字を大文字にして、残りの文字を小文字にして書くことである。大文字表記のルールは言語によって異なり、非常に複雑であるが、大文字表記を採用している現代のほとんどの言語では、全ての固有名詞および全ての文の最初の単語の1文字目を大文字で表記する。

英語の大文字表記は、文脈に関係なく一般的な正書法のルール（例：タイトルと見出しと本文）に基づいて、形式的な文章では普遍的に標準化されている。文の頭文字、固有名詞、固有形容詞の頭文字を大文字にする。曜日や月の名前の頭文字や、一人称代名詞の"I"、感動詞の"O"も大文字で表記される（後者は現代ではあまり使用されず、"oh"と表記されることが多い）。1文字目の大文字と小文字の区別だけで意味が変わる単語の組がいくつかあり、これをキャピトニムという。敬称や地位や威信を示す個人の肩書きは、人名と一緒に使用する場合や直接の挨拶として使用する場合には大文字になる（例えば、"Mr. Smith"、"Bishop O'Brien"、"Professor Moore"など）が、単独で使用する場合やより一般的な意味で使用する場合には通常は大文字にはならない。また、一神教の神を指す単語（文脈によってはそれを指す代名詞でさえも）は、頭文字を大文字にする（例：“God”）のが慣例となっている。

その他の単語は通常、小文字で始まる。しかし、見出しや出版物のタイトルなど、強調するために大文字を使用する場合もある（下記参照）。いくつかの伝統的な詩の形式では、文法的な特徴とは無関係に、詩の行の始まりを示す目印として大文字が使われてきた。

ドイツ語では、固有名詞を含めて全ての名詞が大文字で始まる。英語においても、主に17～18世紀には重要な名詞を大文字で始めることが一般的であった。ロマンス語や他のほとんどのヨーロッパ言語では、曜日の名前、月の名前、および国籍や宗教などの形容詞は、通常、小文字で始まる。いくつかの言語では、De、Dem（デンマーク語）、Sie、Ihnen（ドイツ語）、Vd、Ud（スペイン語におけるustedの略）などのように、フォーマルな敬語代名詞の頭文字を大文字にする習慣がある。

 特別な文字と二重音字 
 ドイツ語の文字"ß"（エスツェット）は、通常語頭には現れない文字であることから、小文字しかなかった。オールキャップスの場合は伝統的に二重音字"SS"に置き換えることになっていた。2017年6月に大文字のエスツェット（ẞ）が正式に認められた。
 いくつかの言語では、特定の二重音字は1文字とみなされることがある。オランダ語では、語頭の二重音字“ij”を大文字にする場合は、2文字とも大文字で書く（例えば、“Ijsland”ではなく“IJsland”）。他の言語、例えばウェールズ語やハンガリー語では、二重音字は1文字とみなされるが、オランダ語とは異なり、構成要素の1番目が大文字になっていても2番目は小文字で書かれる。南スラブ言語のラテン文字表記にも同様の二重音字lj、nj、džが存在するが、これらの二重音字の大文字小文字に関しUnicodeでは、3種の表記（全て大文字、全て小文字、1文字目だけ大文字）のすべてに対し1つずつ区画を割り当てている。
 ハワイ語の正書法では、シングルクォーテーションやアポストロフィに似た「ʻ」（オキナ）は声門閉鎖音を表し、文字としてもダイアクリティカルマークとしても位置づけられる。オキナには大文字・小文字の区別はなく、文頭・語頭など通常大文字で書かれる場所にオキナが現れる場合は、その次の文字を大文字で表記する。Unicode標準では、オキナはとして符号化されているが、シングルクォーテーションやアポストロフィで代用することも珍しくない。

 使用法 

 ケーススタイル 

英語では、様々な場面で様々なケーススタイルが使われている。

 （sentence case）
 "The quick brown fox jumps over the lazy dog"
 文章の最初の単語をキャピタライゼーションし、固有名詞やその他の単語も特定の規則で必要とされる場合にキャピタライゼーションする、大文字と小文字の混在したスタイル。
 プログラミングでは、センテンスケースは他の規則よりも自動化が容易である。例えば、英語版ウィキペディアでは、ページタイトルの最初の文字はデフォルトで大文字になっている。
 （title case）
 "The Quick Brown Fox Jumps over the Lazy Dog"
 特定の部分集合（特に冠詞、短い前置詞や接続詞）以外の全ての単語をキャピタライゼーションしたスタイル。キャピタルケース（capital case）、ヘディングスタイル（headline style）ともいう。テキスト処理では、品詞に関係なく全ての単語をキャピタライゼーションする場合もあり、これをスタートケース（start case）またはイニシャルキャップ（initial caps）という。
 オールキャップス（all caps）
 "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
 全ての文字を大文字で書くスタイル。これは、見出しに使用したり、タイプライターなど太字が使用できない場合の強調表現など、特殊な状況で使用される。インターネットの出現に伴い、強調のためにオールキャップスがよく使われるようになったが、オールキャップスで入力することは、一部の人たちの間でネチケットに反するとみなされており、それは人前で叫ぶことに等しいと言われている。特にパスポートなどの身分証明書では、姓と名を区別するために、姓をオールキャップスで書くのが一般的である。オールキャップスによる長い文章は読みにくくなる。これは、小文字におけるアセンダーやディセンダーが認識と可読性の向上に寄与しているためである。
 スモールキャップス（small caps）
 ""
 オールキャップスに似ているが、センテンスケースで小文字で書く部分を、小文字の"x"と同じ高さの大文字で表記するスタイル。これは、などの特定のフォントの特徴である。組版の伝統では、スモールキャップスの高さは書体のx-heightと同じか、それより少し大きくすることができる。スモールキャップスは、頭字語、名前、数学的実体、印刷されたテキスト内のコンピュータコマンド、ビジネスや個人用の便箋など、あるフレーズを本文と区別する必要がある状況で使用することができる。
 オールローワーケース（all lowercase）
 
 "the quick brown fox jumps over the lazy dog"
 全ての文字を小文字で書くスタイル。詩などの芸術的効果のために使用されることがある。また、コンピュータ言語や、SMSやインスタントメッセージングなどの非公式な電子通信でもよく見られる（シフトキーを避けて、より速くタイプするため）。アップルの共同創業者であるスティーブ・ジョブズは、署名に全て小文字を使用している。

 特別なケーススタイル 

コンピュータプログラミングや製品ブランディング、その他の専門分野では、標準的な文章では使用されない特殊なケーススタイルが使用されることがある。

 キャメルケース（camel case）
 "theQuickBrownFoxJumpsOverTheLazyDog" または "TheQuickBrownFoxJumpsOverTheLazyDog"
 スペースや句読点を削除し、各単語をキャピタライゼーションする。1つ目の単語からキャピタライゼーションする場合（"CamelCase"、"PowerPoint"、"TheQuick..."など）を、アッパーキャメルケース（upper camel case）またはパスカルケース（Pascal case）という。最初の単語のみキャピタライゼーションしない場合（"iPod"、"eBay"、"theQuickBrownFox..."など）を、ローワーキャメルケース（lower camel case）やドロメダリーケース（dromedary case）という。ローワーキャメルケースは、情報技術製品やサービスのブランディングでよく使われる。
 スネークケース（snake case）
 "the_quick_brown_fox_jumps_over_the_lazy_dog"
 句読点を除去し、スペースをアンダーバーに置き換える。通常は、大文字・小文字のどちらかのみを使用する（例："UPPER_CASE_EMBEDDEDDED_UNDERSCORE"、"lower_case_embedded_underscore"）が、OCamlでは大文字と小文字を混在させることもできる。このスタイルはpothole caseと呼ばれることもあり、特にPythonでは変数の命名にこの慣習がよく使われている。
 ケバブケース（kebab case）
 "the-quick-brown-fox-jumps-over-the-lazy-dog"
 スネークケースに似ているが、アンダーバーの代わりにハイフンを使用する。スピナルケース（spinal case）、パラムケース（param case）、Lispケースなどともいう。
 スタッドリーキャップス（studly caps）
 "tHeqUicKBrOWnFoXJUmpsoVeRThElAzydOG"
 オルタネーティングキャップス（alternating caps）ともいう。大文字の使用に意味的または構文的な意味を持たないもの。母音だけが大文字になることもあれば、大文字と小文字が交互になることもあるが、単にランダムであることが多い。studlyとは「男らしい」「性的魅力がある」といった意味で、この書き方をしようとする書き手が格好つけようとしていると皮肉る意味合いによる命名である。

 単位記号 

国際単位系（SI）及び法定計量単位における単位記号の表記においては、大文字と小文字の違いが厳格に定められている。
 単位の名称が人名に由来する場合は、単位記号の最初の文字のみが立体の大文字で表記される（単位記号#大文字で始まる記号）。
 電気伝導率の単位のジーメンス（siemens）の単位記号は、大文字の"S"である（人名のヴェルナー・フォン・ジーメンスに由来するため）。
 線量当量の単位のシーベルト（sievert）の単位記号は、1文字目が大文字の"Sv"である（人名のロルフ・マキシミリアン・シーベルトに由来するため）
 その他の単位記号は、すべて立体の小文字で表記される。
 時間のSI基本単位の秒（second）の単位記号は、小文字の"s"である。
 立体角の単位のステラジアン（steradian）の単位記号は、小文字の"sr"である。

ただし、リットルの単位記号は人名由来ではないため、小文字の"l"であるが、数字の"1"と紛らわしいため、例外的に大文字で"L"と表記してもよい（リットル#l から L へ）。

上記の規則は「単位記号」の場合のものであり、計量単位の「名称」を英語で綴る場合は、文頭の場合を除き、人名由来であっても全て小文字で書き始める。
 メートル（記号は m）の名称は、metre である。
 ニュートン（記号は N）の名称は、newton である。
 ヘルツ（記号は Hz）の名称は、hertz である。
 セルシウス度（記号は ℃）の名称は、degree Celsius である（この場合も小文字で書き始め、Celsiusは大文字の C で始まる。）。

 SI接頭語の記号 
SI接頭語の記号を大文字とするか小文字とするかは、単位記号の記法ルールとは異なる。1874年以降に制定されたSI接頭語のうち、分量接頭語は小文字であり、倍量接頭語は大文字である。しかし1795年に制定された倍量接頭語である、デカ（da）、ヘクト（h）、キロ（k）については小文字が使われている。なお、SI接頭語の記号もすべて（µ も含めて）立体で表記する。

 フォールドケースと大文字小文字変換 
コンピュータ用に開発された文字セットでは、大文字と小文字の各文字は別々の文字としてエンコードされている。大文字・小文字を変換するためには、同じ文字の大文字・小文字を表す2つの文字コードを紐付ける必要がある。

大文字・小文字を区別しない操作（ケース・インセンシティブ）は、大文字と小文字が一致するように文字コード表を折りたたむ（fold）という考えから、フォールドケース（fold case）ともいう。文字列の大文字・小文字の変換は、例えば大文字・小文字を同一視した比較を行うなど、コンピュータアプリケーションでは一般的に行われている。多くの高水準プログラミング言語は、少なくともASCII文字セットについては、大文字小文字変換のための簡単なメソッドを提供している。

大文字と小文字を等価として扱うかどうかは、コンピュータシステムや場合によって異なる。例えば、ユーザのパスワードは、より多様性を持たせ、破られにくくするために、一般的には大文字と小文字が区別される。一方、キーワード検索を行う際に大文字と小文字を区別すると、検索結果が絞り込まれすぎてしまう可能性があるため、一般には同一視される。

 Unicodeにおけるフォールドケースと文字の識別 
Unicodeでは、各キャラクタに大文字・小文字の区別に関して、大文字（upper case）、小文字（lower case）、タイトルケース（title case）の3種類の属性が定義されている。ここで「タイトルケース」とは、合字や二重音字の2文字目で、1文字目の大小に連動して変化するもののことを指す。これらのプロパティは、大文字小文字が異なる用字内の全ての文字を、大小の異なる別の文字に関連付ける。

Unicodeテクニカルノート#26で簡単に議論されているように、実装上の問題として、ラテン文字、ギリシャ文字、キリル文字の統一を試みると、大混乱を引き起こし、事実上、全ての大文字小文字操作をケース・センシティブなものにしてしまう。言い換えれば、A, B, E, H, K, M, O, P, T, X, Yなどの文字の形は、ラテン文字、ギリシャ文字、キリル文字の間で共有されている（ホモグリフ）。ここで、同じ字形のBに対して単一の文字コードを与えたとき、それに対応する小文字が、ラテン文字ではb（U+0062）、ギリシャ文字ではβ（U+03B2）、キリル文字ではв（U+0432）と異なっており、プログラムで大文字を小文字に変換する際に、どの文字に変換すればよいかの識別が困難になる。そのため、対応するラテン文字、ギリシャ文字、キリル文字の大文字（それぞれU+0042、U+0392、U+0412）も、外観は基本的に同じであるにもかかわらず、別々の文字としてエンコードされている。