Narrify extracts text from PDF, JPG, JPEG, and PNG files using pdf.js for PDFs and Tesseract.js for OCR. It converts text to speech with Microsoft voice support, allowing custom voice selection, play, pause, resume, and cancel functions while tracking reading position. A progress indicator, alerts, dynamic button controls, and error handling enhance the user experience.