Optical character recognition (OCR), of in het Nederlands: optische tekenherkenning is een transformatie waarbij uit een afbeelding van een tekst door middel van patroonherkenning alle tekens uit de afbeelding als zodanig worden herkend en apart opgeslagen door een computer(programma). Oftewel, de tekst uit een afbeelding wordt omgezet in bewerkbare tekst. Een voorbeeld hiervan is automatische kentekenplaatherkenning.
Meestal wordt een scanner gebruikt om een afbeelding van het papier te maken en naar de computer te sturen. De afbeelding wordt meestal aangemaakt met een resolutie van 150-300 dpi en opgeslagen in het TIFF-formaat.
Wanneer alle tekens herkend zijn kan de OCR-software verschillende bewerkingen uitvoeren. De bekendste bewerking is het opslaan van de tekens in een verder bewerkbaar bestandsformaat, waarbij dikwijls zowel de taal van het origineel, als de fonts en de opmaak worden gereproduceerd. In dit geval wordt het een "full text OCR" genoemd.
Door OCR neemt een pagina met tekst nog maar een paar kilobyte aan geheugenopslag in. Bovendien is hij daarna weer bewerkbaar in een tekstverwerker. Belangrijk is ook dat de tekst nu doorzoekbaar kan worden gemaakt, bijvoorbeeld in een digitale bibliotheek of in een zoekmachine.