Обра́тная совмести́мость — наличие в новой версии компьютерной программы или компьютерного оборудования интерфейса, присутствующего в старой версии, в результате чего другие программы (или человек) могут продолжать работать с новой версией без значительной переделки (или переучивания). Полная обратная совместимость означает, что при замене старой версии компонента на новую, функционирование всей системы в целом не нарушится.
Обратная совместимость является одним из важнейших приоритетов в компьютерной индустрии. Обеспечение обратной совместимости позволяет пользователям, при переходе к новой версии, частично или полностью сохранить ценность тех наработок, которые они приобрели при адаптации к работе с предыдущими версиями программного или аппаратного обеспечения.
В то же время, обеспечение обратной совместимости обладает и недостатками, сдерживая развитие технологий. Так, в современных компьютерах очень много «унаследовано» от их предыдущих поколений, от чего нельзя отказаться из-за совместимости. Это позволяет сохранить предыдущие инвестиции производителей и потребителей, но одновременно не позволяет реализовать более прогрессивные функции и повышает вероятность возникновения ошибок.
Обратная совместимость применительно к программному обеспечению означает способность более поздних версий программы работать с файлами, созданными более ранней версией этой же программы или программы, реализующей те же алгоритмы, что и более ранняя версия. Так, например, в Microsoft Office присутствует поддержка целого ряда форматов, которые на данный момент почти не используются.
Обратная совместимость применительно к аппаратному обеспечению означает способность более новых типов оборудования эмулировать работу предшествующих. Так, например, микропроцессоры Intel до сих пор поддерживают весь набор инструкций, использовавшихся ещё в самых первых представителях этого ряда.
Главным недостатком обратной совместимости является усложнение аппаратного или программного обеспечения. В случае с ПО это чаще всего приводит к увеличению размеров программного продукта, а в случае с аппаратным обеспечением это приводит усложнению архитектуры, то есть строения, соответствующего элемента аппаратного обеспечения. В конечном итоге всё это приводит к увеличению стоимости производства и поддержки (часто после смены базовой технологии невозможно найти специалистов поддержки, владеющих обеими технологиями в достаточной степени).
Между тем, отсутствие обратной совместимости вызывает ряд неудобств. Так, например, в операционных системах Windows 2000/XP эмулятор MS-DOS не обладает полной обратной совместимостью с реальной ОС MS-DOS, в отличие от Windows 9x (в состав которой входит не эмулятор, а «настоящая» MS-DOS, запускаемая до Windows и используемая для работы DOS-приложений). Вследствие этого во многих случаях предприятия вынуждены пользоваться более ранними версиями этой операционной системы, либо устанавливать полноценную MS-DOS на виртуальные компьютеры, так как используемое программное обеспечение требует полноценной ОС MS-DOS, а не урезанной в возможностях.