OCR icon OCR · Image to Text · Word · PDF

Image to Text Converter
Screenshot OCR + Word, PDF Download

Extract editable text from any image, screenshot, photo, scanned document, JPG or PNG in 20+ languages. Download the result as TXT, Word DOC or PDF. 100% browser-based — your images never leave your device.

📄 Image to Text 📷 Screenshot OCR 📝 Word DOC Export 📃 PDF Export 🌐 20+ Languages 🔒 100% Private

Upload Image or Screenshot

Drag & drop or click to select — our Image to Text Converter will extract every readable character

PNGJPG JPEGWebP BMPGIF
Max 25 MB · Auto-preprocessing for better accuracy
Press Ctrl+V to paste a screenshot directly from your clipboard
Image uploaded for Image to Text Converter

Extracting text from image…

Tesseract.js OCR engine initialising

Extracted Text — Editable
0 words 0 min read 100%

What Is the Image to Text Converter?

Our Image to Text Converter is a free, browser-based OCR (Optical Character Recognition) tool that turns any picture, screenshot, JPG, PNG, WebP, BMP or photographed document into editable, searchable text. Drop your image, pick a language, and the tool extracts every readable character in seconds — ready to copy, edit, or download as TXT, Word DOC or PDF.

Powered by Tesseract.js — the browser build of Google’s open-source Tesseract engine — the tool supports 20+ languages including English, Arabic, Urdu, Hindi, Bengali, Tamil, Telugu, French, Spanish, Chinese, Japanese and Korean. It also supports combined languages such as English + Urdu for mixed-language screenshots like WhatsApp chats and bilingual documents.

Before recognition, every uploaded image is automatically preprocessed: grayscale conversion, contrast enhancement and smart upscaling for small images. This dramatically improves accuracy on phone screenshots, low-resolution captures and noisy JPGs. After OCR, you get a live confidence score so you know exactly how reliable the result is.

Three Download Formats — TXT, Word DOC, PDF

📝

Download as TXT

Plain UTF-8 text file. Universal compatibility, smallest size, perfect for code, notes and quick sharing.

📑

Download as Word (DOC)

Microsoft Word compatible .doc file. Opens in Word, Google Docs, LibreOffice, Pages and online editors with proper paragraphs and Unicode support.

📃

Download as PDF

Clean, print-ready PDF with proper margins and Unicode font embedding. Ideal for archiving, sharing, and converting screenshots into shareable documents.

Powerful OCR — Full Feature Set

📷

Screenshot to Text

Paste any clipboard screenshot with Ctrl+V — no need to save the file first.

🌐

20+ Languages

English, Arabic, Urdu, Hindi, Chinese, Japanese, Korean, Bengali, Tamil, Telugu and more.

📊

Confidence Score

See exactly how accurate the OCR result is — live percentage shown with every extraction.

✏️

Editable Result

Fix OCR mistakes directly in the result box before downloading. No need for a separate editor.

⚙️

6 OCR Modes

Automatic, Single Block, Single Column, Single Line, Sparse Text and Raw Line for different layouts.

🔮

Auto Preprocessing

Grayscale, contrast boost and smart upscaling applied automatically to improve text recognition.

💾

Scan History

Last 10 OCR results saved locally for easy access. Click any item to load the result.

🔒

100% Private

All OCR runs locally in your browser — images never uploaded, never logged.

How to Convert Image to Text — 4 Easy Steps

1

Upload Image

Drag & drop your image, click to browse, or press Ctrl+V to paste a screenshot.

2

Pick Language & Mode

Choose the language of the text and the OCR mode (Automatic works for most cases).

3

Click Extract

Hit Extract Text (OCR). The engine processes locally and returns editable text in seconds.

4

Edit & Download

Edit any OCR mistakes, then download as TXT, Word DOC or PDF, or copy to clipboard.

Top Use Cases — When to Use This Tool

📝

Screenshot to Word

Convert a WhatsApp chat, Telegram message or any screen capture into an editable Microsoft Word document in seconds.

📚

Scanned Document to PDF

Turn a photographed page from a book, magazine or printed report into a clean text-based PDF you can search and copy from.

💵

Receipt & Invoice OCR

Extract numbers and totals from receipts, invoices and bills for expense tracking or accounting.

📋

Handwritten Notes

Convert photos of printed lecture notes, whiteboards and study material into editable digital text.

🏷️

Price Tag / Label OCR

Read product labels, nutrition facts and price tags into text for comparison shopping or research.

🌍

Translate Foreign Text

Extract text from foreign-language signs, menus or screenshots first, then paste into Google Translate or DeepL.

📖

Quote & Citation Capture

Snap a photo of a paragraph from a book, extract the text, and paste straight into your research paper or essay.

📱

Mobile Screenshot to DOC

Take a screenshot on your phone, upload here and download as a Word document — perfect for sharing chat content with colleagues.

Frequently Asked Questions

Upload, drag-and-drop, or paste your image into the tool, pick the language and OCR mode, then click Extract Text. The free Image to Text Converter uses Tesseract.js to recognise the characters in your image and returns editable text in seconds.
Yes. After the Screenshot to Text OCR finishes, click Download Word (DOC) to save the extracted text as a Microsoft Word compatible .doc file.
Yes. Click Download PDF to save the extracted text as a clean, print-ready PDF document generated locally in your browser.
20+ languages including English, Arabic, Urdu, Hindi, Bengali, Tamil, Telugu, French, German, Spanish, Portuguese, Italian, Russian, Turkish, Vietnamese, Indonesian, Chinese (Simplified + Traditional), Japanese and Korean.
100% private. All OCR processing happens locally in your browser. Your images are never uploaded to any server.
PNG, JPG, JPEG, WebP, BMP and GIF. The tool also accepts pasted screenshots via Ctrl+V. Maximum file size is 25 MB.
For clean printed text the OCR is typically 95-99% accurate. For phone screenshots, expect 90-97%. The tool auto-applies grayscale and contrast preprocessing and shows a live confidence score.
Yes. The extracted text appears in an editable area so you can fix any OCR mistakes before exporting to TXT, Word (DOC) or PDF.
Automatic works for most documents. Use Single Block for one paragraph. Single Line for short captions or receipts. Sparse Text for scattered words like signs or memes.
Yes. The tool is fully responsive and works on iOS Safari, Android Chrome, and all modern mobile browsers.
✓ Done!
'; triggerDownload(new Blob(['\ufeff', docHtml], { type: 'application/msword;charset=utf-8' }), buildFilename('doc')); toast('Word DOC downloaded'); }; window.i2tDownloadPdf = function(){ var text = document.getElementById('i2t-result-text').value; if(!text){ toast('Nothing to download', true); return; } if(typeof window.jspdf === 'undefined' && typeof window.jsPDF === 'undefined'){ toast('PDF library still loading, try again', true); return; } try { var jsPDF = (window.jspdf && window.jspdf.jsPDF) || window.jsPDF; var hasNonLatin = /[\u0600-\u06FF\u0900-\u097F\u0980-\u09FF\u4E00-\u9FFF\u3040-\u309F\u30A0-\u30FF\uAC00-\uD7AF]/.test(text); if(hasNonLatin){ buildPdfViaCanvas(jsPDF, text); } else { buildPdfNative(jsPDF, text); } } catch(err){ toast('PDF export failed: ' + (err.message || 'unknown'), true); } }; function buildPdfNative(jsPDF, text){ var doc = new jsPDF({ unit: 'mm', format: 'a4' }); var pageW = doc.internal.pageSize.getWidth(), pageH = doc.internal.pageSize.getHeight(); var margin = 15, maxLineW = pageW - margin * 2, lineHeight = 6; doc.setFont('helvetica', 'bold'); doc.setFontSize(14); doc.setTextColor(43, 79, 129); doc.text('OCR Extracted Text', margin, margin + 4); doc.setFont('helvetica', 'normal'); doc.setFontSize(9); doc.setTextColor(120); doc.text('Generated by Image to Text Converter \u2014 ' + new Date().toLocaleString(), margin, margin + 10); doc.setFontSize(11); doc.setTextColor(0); var lines = doc.splitTextToSize(text, maxLineW), y = margin + 18; for(var i = 0; i < lines.length; i++){ if(y > pageH - margin){ doc.addPage(); y = margin; } doc.text(lines[i], margin, y); y += lineHeight; } doc.save(buildFilename('pdf')); toast('PDF downloaded'); } function buildPdfViaCanvas(jsPDF, text){ var doc = new jsPDF({ unit: 'mm', format: 'a4' }); var pageW = doc.internal.pageSize.getWidth(), pageH = doc.internal.pageSize.getHeight(); var margin = 15, contentW_mm = pageW - margin * 2, contentH_mm = pageH - margin * 2 - 12; var dpi = 3, canvasW = Math.round(contentW_mm * dpi * 3.78); var lineHeightPx = 26, fontPx = 18, pad = 16; var isRTL = /[\u0600-\u06FF]/.test(text); var measure = document.createElement('canvas').getContext('2d'); measure.font = fontPx + 'px Arial, sans-serif'; var maxTextW = canvasW - pad * 2; function wrap(line){ if(!line) return ['']; var words = line.split(' '), lines = [], cur = ''; for(var i = 0; i < words.length; i++){ var test = cur ? cur + ' ' + words[i] : words[i]; if(measure.measureText(test).width <= maxTextW){ cur = test; } else { if(cur) lines.push(cur); if(measure.measureText(words[i]).width > maxTextW){ var part = ''; for(var c = 0; c < words[i].length; c++){ var t2 = part + words[i][c]; if(measure.measureText(t2).width <= maxTextW){ part = t2; } else { lines.push(part); part = words[i][c]; } } cur = part; } else { cur = words[i]; } } } if(cur) lines.push(cur); return lines; } var allLines = []; text.split('\n').forEach(function(rawLine){ wrap(rawLine).forEach(function(l){ allLines.push(l); }); }); doc.setFont('helvetica', 'bold'); doc.setFontSize(14); doc.setTextColor(43, 79, 129); doc.text('OCR Extracted Text', margin, margin + 4); doc.setFont('helvetica', 'normal'); doc.setFontSize(9); doc.setTextColor(120); doc.text('Generated by Image to Text Converter \u2014 ' + new Date().toLocaleString(), margin, margin + 10); var linesPerPage = Math.floor((contentH_mm * dpi * 3.78 - pad * 2) / lineHeightPx); if(linesPerPage < 5) linesPerPage = 5; for(var pageIdx = 0; pageIdx < Math.ceil(allLines.length / linesPerPage); pageIdx++){ var slice = allLines.slice(pageIdx * linesPerPage, (pageIdx + 1) * linesPerPage); var canvasH = pad * 2 + slice.length * lineHeightPx; var canvas = document.createElement('canvas'); canvas.width = canvasW; canvas.height = canvasH; var ctx = canvas.getContext('2d'); ctx.fillStyle = '#ffffff'; ctx.fillRect(0, 0, canvasW, canvasH); ctx.fillStyle = '#000000'; ctx.font = fontPx + 'px Arial, "Segoe UI", "Noto Sans Arabic", "Noto Sans Devanagari", sans-serif'; ctx.textBaseline = 'top'; ctx.direction = isRTL ? 'rtl' : 'ltr'; var y = pad; slice.forEach(function(line){ if(isRTL){ ctx.textAlign = 'right'; ctx.fillText(line, canvasW - pad, y); } else { ctx.textAlign = 'left'; ctx.fillText(line, pad, y); } y += lineHeightPx; }); var dataUrl = canvas.toDataURL('image/png'); var imgW_mm = contentW_mm, imgH_mm = canvasH / canvasW * contentW_mm; if(pageIdx > 0){ doc.addPage(); } var topY = (pageIdx === 0) ? margin + 14 : margin; doc.addImage(dataUrl, 'PNG', margin, topY, imgW_mm, imgH_mm); } doc.save(buildFilename('pdf')); toast('PDF downloaded'); } function buildFilename(ext){ var base = 'ocr-result'; if(file && file.name){ base = file.name.replace(/\.[^.]+$/, '').replace(/[^a-z0-9_\-]+/gi, '-').slice(0, 40) || 'ocr-result'; } return base + '-' + new Date().toISOString().slice(0, 10) + '.' + ext; } function triggerDownload(blob, filename){ var a = document.createElement('a'); a.href = URL.createObjectURL(blob); a.download = filename; document.body.appendChild(a); a.click(); document.body.removeChild(a); setTimeout(function(){ URL.revokeObjectURL(a.href); }, 200); } window.i2tClear = function(){ file = null; imgEl = null; lastConfidence = 0; document.getElementById('i2t-file').value = ''; document.getElementById('i2t-preview').style.display = 'none'; document.getElementById('i2t-loading').style.display = 'none'; hideResult(); toast('Cleared'); }; window.i2tClearResult = function(){ document.getElementById('i2t-result-text').value = ''; hideResult(); }; function addHistory(text){ history.unshift({ text: text, confidence: lastConfidence, time: new Date().toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' }) }); if(history.length > 10) history.pop(); renderHistory(); } function renderHistory(){ var wrap = document.getElementById('i2t-history'), list = document.getElementById('i2t-history-list'); if(!history.length){ wrap.style.display = 'none'; return; } wrap.style.display = 'block'; list.innerHTML = ''; history.forEach(function(entry){ var item = document.createElement('div'); item.className = 'i2t-history-item'; var preview = entry.text.substring(0, 80).replace(/\n/g, ' '); item.innerHTML = '' + entry.confidence + '%' + escapeHtml(preview) + '' + entry.time + ''; item.addEventListener('click', function(){ showResult(entry.text, entry.confidence); lastConfidence = entry.confidence; toast('Loaded from history'); }); list.appendChild(item); }); } window.i2tFaq = function(btn){ btn.closest('.i2t-faq-item').classList.toggle('open'); }; function fmtSize(b){ if(b < 1024) return b + ' B'; if(b < 1048576) return (b/1024).toFixed(1) + ' KB'; return (b/1048576).toFixed(2) + ' MB'; } function escapeHtml(s){ if(s === null || s === undefined) return ''; return String(s).replace(/[&<>"']/g, function(m){ return { '&':'&', '<':'<', '>':'>', '"':'"', "'":''' }[m]; }); } function capitalize(s){ if(!s) return ''; return s.charAt(0).toUpperCase() + s.slice(1, 30); } })();
Scroll to Top
convertsfiles

convertsfiles

40+ free tools: PDF, image converter & calculators

Check it out on Product Hunt →