旧暦（きゅうれき）とは、改暦があった場合のそれ以前に使われていた暦法のことである。改暦後の暦法は新暦。多くの国ではグレゴリオ暦が現行暦のため、グレゴリオ暦の前の暦法を指す.

 東アジア 
東アジアの多くの国では、グレゴリオ暦に改暦する前は中国暦またはそれをもとにした暦が使われていた。これらの暦は太陰太陽暦に分類されるため、旧暦を単に太陰太陽暦と言ったり、正しい語法ではないが太陰暦・陰暦と言ったりする。なおその場合、新暦は太陽暦・陽暦とも言う。

グレゴリオ暦への改暦以前に多数の改暦があったがグレゴリオ暦への改暦に比べれば小さな変更にすぎないため、暦法の細部を問題にしないときはグレゴリオ暦以前の暦法をまとめて旧暦と呼ぶことも多い。

各国の旧暦は基本はほとんど同じだが、標準時が異なる。そのため時差により朔や節気の日付がずれ、同じ日の日付が1日または1月ずれることがある。たとえば2007年2月18日未明（日本標準時）の朔は日本や中国では日付が変わって2月18日だったが、ベトナムではまだ2月17日だった。そのため旧正月（旧暦1月1日）が日本や中国では2月18日、ベトナムでは2月17日になった。この種のずれは数年に一度起こるがほとんどの場合翌月1日（旧暦で）には解消されるので、旧正月のずれを引き起こす1月以外では大きな混乱を引き起こすことはない。なお、旧暦に使われている標準時はその国の標準時と異なることがある。

 日本 
日本の暦は、この1500年程は、 元嘉暦 → 儀鳳暦 → 大衍暦 → 宣明暦 → 貞享暦 → 宝暦暦 → 寛政暦 → 天保暦 → グレゴリオ暦（現行の暦）と遷移してきたので、現行暦の直前の暦を旧暦とすると、天保暦ということになる。天保暦はわずか29年間しか行用されなかった（日本で行用された暦としては最も短い。）が、今なお占いや伝統行事などで需要があり、旧暦もしくは陰暦の俗称で用いられている。ただし後述するとおり、現在旧暦として使われている暦は、改暦前の天保暦とわずかに異なる。

天保暦は天保15年1月1日（1844年2月18日）に寛政暦から改暦され明治5年12月2日（1872年12月31日）まで約29年間使われていた。その翌日の12月3日をもって明治6年（1873年）1月1日に改められ、グレゴリオ暦（太陽暦）に改暦された。改暦は明治5年11月9日（1872年12月9日）に布告し、翌月に実施された。この年の急な実施は明治維新後、明治政府が月給制度にした官吏の給与を（旧暦のままでは明治6年は閏6月があるので）年13回支払うのを防ぐためだったといわれる（改暦にともなう混乱の詳細は、明治改暦」の節を参照）。

もっとも、グレゴリオ暦への移行は改暦とともに社会全般に徹底されたわけではなかった。官暦（政府発行の暦）でも、明治6年版では改暦の混乱を避けるためとして旧暦が併記されたが、翌年以後も旧暦併記が続けられた。伝統行事・生活慣習などでの使用状況を考慮したものであったが、官暦での旧暦併記がグレゴリオ暦普及を阻害するとの批判もあるなど議論が繰り返された。官暦での旧暦併記廃止の過渡期に、日付に代わる月の満ち欠けの記載が始まっている。1908年（明治41年）には帝国議会衆議院で「陽暦励行に関する建議」が可決され、1910年（明治43年）の官暦から旧暦併記が行われなくなる。1910年の旧暦併記廃止は同時代の人々に「旧暦廃止」と認識され、旧暦に基づいた行事が新暦や月遅れに移行する画期のひとつとなった。

 「旧暦」の計算 
旧暦の計算は、江戸時代までは京都における真太陽時により暦の計算に必要な中気・朔の日時を経験的に知られていた定数や周期に基づいて求めていた。そのため閏月の付加や毎年変化する大小月（30日の大月、29日の小月）も毎年計算していた。

現在の「旧暦」で使っている時間帯は日本標準時（UTC+9）で、これは東経135度の平均太陽時とほぼ等しい。これに対し京都の経度は東経135度46分で、UTC+9:03に当たる。さらに均時差により最大±15分の時差が生まれる。また、天体の位置も天体力学（位置天文学）に基づく式で計算している。このため、江戸時代の天保暦によって計算した日付と現在の旧暦とでは日が1日前後したり月名が変わったりする場合がある。

なお明治改暦以降、正式な暦ではなくなったため国立天文台では改暦以前の新暦旧暦の対照には回答するものの改暦後の対照には応じない立場である。一方、同じ国の機関であっても海上保安庁海洋情報部では非公式ながら2010年までの新暦旧暦の対照表を公表している（2010年以降の公表予定はない）。

ただし国立天文台は、毎年2月のはじめの「官報」に「暦要項」を告示、翌年の「二十四節気および雑節」、「朔弦望」（朔＝ついたち、望＝15日など）などを提示している（すなわち、「30日の大月、29日の小月」の計算と提示は「公的」に行われている）。2015年（平成27年）の場合、2月2日 (月) に発行された第6463号の25ページ〜26ページに「平成28年 暦要項」が「告示」（掲載）されている。

 中国など 
清（現在の中華人民共和国・台湾・モンゴル）と朝鮮（現在の韓国・北朝鮮）では、1644年に清が制定した時憲暦が使われていた。朝鮮半島では1896年に、中国では1912年の中華民国成立時にグレゴリオ暦に改暦された。

旧暦は中国では農暦と呼ぶことが多く、この場合新暦は公暦と呼ぶ。他に旧暦・陰暦・夏暦とも呼ぶ。韓国では陰暦と呼ぶことが多い（旧暦とも）。英語では “Chinese calendar”と言う。

これらの国では日本とは異なり、改暦以前からある祝祭日や年中行事は旧暦で祝うのが普通である。特に旧正月はグレゴリオ暦の正月より盛大に祝われる。中国では春節、韓国ではソルラルと呼ばれ、中国・台湾・韓国のみならず、華人の多いシンガポール・マレーシア・インドネシア・フィリピンで、国の休日となっている。中国では春節の他に端午節、中秋節が旧暦での国の休日となっている。韓国ではチュソク（旧暦8月15日）、釋迦誕辰日（旧暦4月8日）がある。

韓国と中国では誕生日を旧暦で表す習慣がある。ただし新暦を使う人も混在していて、単に日付を聞いただけではどちらかわからないことがある。

その代わりインドに起源を持つ時輪暦を修正した暦が改暦以前から民間や宗教行事で広く使われており、他国の旧暦に似た位置づけにある。時輪暦は過去に公の暦だったことはないが、旧暦として紹介されることがある。

 ベトナム 
ベトナムの旧暦は中国暦とほぼ同じである。ただしベトナム標準時（UTC+7）を使うため、日付は異なることがある。旧暦の扱いは中国などに似ていて、旧正月（テト）はやはり盛大に祝われる。国外ではベトナム暦とも呼ばれる。

 西洋 

西洋では、旧暦 (old calendar / old style) とはグレゴリオ暦に改暦する前のユリウス暦のことである。なお新大陸のいくつかの国ではユリウス暦が使われたことはないが、同様である。グレゴリオ暦への改暦は1582年（フランス、イタリア諸国（例外あり）、スペインおよびその支配下にあったポルトガル・ポーランド）から1924年（ギリシャ）にかけて各国ばらばらに行われた。

英語では日付の脇に Old Style または O.S. と書いた場合、ユリウス暦での日付を示す。

ドイツでは改暦の時期が領邦によりまちまちだったため、スラッシュ（/）で新旧の日付を併記したり日付に都市名を添えたりする習慣が続いた。

なお、古代ローマにおいてはユリウス暦以前の太陰（太陽）暦であるローマ暦が存在した。