Perfekt gas, även kallad idealgas, en gas som i sitt fysikaliska beteende överensstämmer med ett särskilt, idealiserat förhållande mellan tryck, volym och temperatur som kallas den allmänna gaslagen. Denna lag är en generalisering som innehåller både Boyles lag och Charles lag som specialfall och anger att för en specificerad mängd gas är produkten av volymen v och trycket p proportionell mot den absoluta temperaturen t; dvs. i ekvationsform pv = kt, där k är en konstant. En sådan relation för ett ämne kallas dess tillståndsekvation och är tillräcklig för att beskriva dess grova beteende.
Den allmänna gaslagen kan härledas från den kinetiska teorin för gaser och bygger på antagandet att (1) gasen består av ett stort antal molekyler som är i slumpmässig rörelse och lyder Newtons rörelselagar, (2) molekylernas volym är försumbart liten i förhållande till den volym som gasen upptar, och (3) inga krafter verkar på molekylerna annat än under elastiska kollisioner av försumbar längd.
Och även om ingen gas har dessa egenskaper, beskrivs beteendet hos verkliga gaser ganska nära av den allmänna gaslagen vid tillräckligt höga temperaturer och låga tryck, när relativt stora avstånd mellan molekylerna och deras höga hastigheter övervinner all växelverkan. En gas lyder inte ekvationen när förhållandena är sådana att gasen, eller någon av de ingående gaserna i en blandning, är nära sin kondensationspunkt, den temperatur vid vilken den blir flytande.
Den allmänna gaslagen kan skrivas i en form som är tillämplig på alla gaser, i enlighet med Avogadros lag, om konstanten som specificerar mängden gas uttrycks i termer av antalet gasmolekyler. Detta görs genom att som massanordning använda gram-mol, dvs. molekylvikten uttryckt i gram. Tillståndsekvationen för n gram-mol av en perfekt gas kan då skrivas som pv/t = nR, där R kallas den universella gaskonstanten. Denna konstant har mätts för olika gaser under nästan ideala förhållanden med höga temperaturer och låga tryck, och det har visat sig att den har samma värde för alla gaser: R = 8,314472 joule per mol-kelvin.