Chuyển ảnh thành văn bản
trên trình duyệt
Thả ảnh chụp màn hình, ảnh điện thoại, bản scan hoặc PDF một trang và copy văn bản trong vài giây. Tiếng Việt, tiếng Anh và 23 ngôn ngữ khác. Bộ nhận dạng chạy ngay trong trình duyệt của bạn — tệp không gửi lên máy chủ của chúng tôi.
Tự kiểm tra: mở DevTools, vào tab Network, thả tệp — bạn sẽ thấy không có yêu cầu nào mang ảnh của bạn đi.
Ba bước.
Thả ảnh vào
JPG, PNG, WebP, HEIC từ iPhone, hoặc PDF một trang. Tệp mở trong trình duyệt và ở lại đó. Lần đầu dùng công cụ, bộ nhận dạng (khoảng 10 MB) tải về trình duyệt và lưu cache — mọi lần chạy sau đó khởi động tức thì và hoạt động ngoại tuyến.
Đợi vài giây để bộ máy đọc
Tesseract.js — bản WebAssembly của bộ máy OCR Tesseract do Google duy trì — chạy hoàn toàn trong trình duyệt của bạn. Một bản scan A4 sạch hoàn thành trong 3–8 giây trên laptop hiện đại; ảnh điện thoại chụp hóa đơn hoặc biển hiệu thường dưới 4 giây. Thanh tiến trình hiển thị cả giai đoạn khởi động bộ máy và giai đoạn nhận dạng trang.
Copy văn bản hoặc tải .txt
Kết quả hiện trong ô văn bản thuần kèm điểm độ tin cậy. Copy vào clipboard hoặc tải về dưới dạng .txt UTF-8. Tất cả những gì đã chạy — lõi WASM, mô hình ngôn ngữ, chính việc nhận dạng — đều diễn ra trên thiết bị của bạn. Không tệp, không văn bản nhận dạng, không metadata nào đến máy chủ của chúng tôi.
OCR thực sự làm gì
OCR (Optical Character Recognition, nhận dạng ký tự quang học) biến những điểm ảnh trông như chữ cái thành văn bản máy tính hiểu được. Một ảnh chụp hóa đơn hay bản scan trang sách chỉ là những chấm màu với máy tính cho đến khi một mô hình được huấn luyện trên hàng triệu ký tự in ánh xạ mỗi mẫu chấm trở lại thành a, b, 9, =. Bộ máy công cụ này sử dụng là Tesseract — cùng bộ máy mà Internet Archive dùng để số hóa sách, bản miễn phí của ABBYY và phần lớn các trình đọc PDF mã nguồn mở đang chạy — chỉ khác là ở đây nó được biên dịch sang WebAssembly để chạy trong trình duyệt thay vì trên máy chủ của ai khác.
Bạn có thể thả vào những gì
JPG, PNG, WebP, HEIC (iPhone) và PDF một trang. HEIC được giải mã ngay trong trình duyệt — không cần bước chuyển đổi riêng. PDF nhiều trang: chỉ trang đầu được nhận dạng; nếu cần tất cả, hãy chia tệp PDF trước với split-pdf và xử lý từng trang. Ảnh trực tiếp từ điện thoại đều dùng được; ảnh chụp màn hình, bản scan từ máy quét phẳng và screenshot màn hình cũng vậy. Giới hạn thực tế là 25 MB mỗi tệp — vượt mức đó trình duyệt bắt đầu khó giữ đồng thời canvas và heap WASM trong bộ nhớ.
Thế nào là đầu vào tốt
Chất lượng OCR phụ thuộc vào ảnh nhiều hơn là vào bộ máy. Một bản scan 300 DPI từ máy quét phẳng của trang đánh máy đạt 98–99% độ chính xác mà không cần tinh chỉnh. Ảnh sắc nét của hóa đơn dưới ánh sáng tốt: 95%+. Ảnh mờ của hợp đồng chụp nghiêng dưới ánh sáng yếu: 60–80%, và kết quả cần phải đọc lại. Ba thứ ảnh hưởng độ chính xác nhất: độ sắc nét (lấy nét máy ảnh trước khi chụp), độ tương phản (hóa đơn chữ trắng trên nền đen khó hơn chữ đen trên nền trắng) và hướng ảnh (bộ máy xử lý được nghiêng nhỏ nhưng ảnh xoay 90 độ phải xoay lại trước). Nếu bạn đang scan CCCD, hộ chiếu, bảng lương hay hợp đồng và độ chính xác quan trọng, trước hết hãy dùng ứng dụng scan — Ghi chú trên iOS, Google Drive hoặc Adobe Scan sẽ chỉnh phối cảnh và tương phản trước khi lưu.
Ngôn ngữ
Phiên bản v1 đi kèm 25 ngôn ngữ — mỗi locale Vastiko một ngôn ngữ cộng với tiếng Trung giản thể cho người dùng đại lục. Latinh: tiếng Anh, Đức, Pháp, Tây Ban Nha, Ý, Bồ Đào Nha (bao gồm cả Brazil), Ba Lan, Hà Lan, Đan Mạch, Thụy Điển, Romania, Hungary, Czech, Thổ Nhĩ Kỳ, Indonesia, Việt. Kirin: Nga, Ukraine. Hy Lạp. Ả Rập (viết từ phải sang trái). Thái. CJK: Nhật, Hàn, Trung giản thể (đại lục), Trung phồn thể (Đài Loan / Hong Kong).
Công cụ tự đoán ngôn ngữ của bạn từ locale trình duyệt ở lần tải đầu tiên — trình duyệt tiếng Việt mở với tiếng Việt được chọn sẵn, trình duyệt Nhật với tiếng Nhật, v.v. Bạn có thể đổi bất kỳ lúc nào từ thanh trên cùng; lựa chọn cuối cùng được lưu giữ giữa các phiên. Mỗi gói ngôn ngữ chỉ tải về lần đầu sử dụng (1–6 MB tùy alphabet — alphabet Latinh nén tốt hơn CJK) và lưu cache trong trình duyệt. Đổi ngôn ngữ là tải một lần mỗi ngôn ngữ; các lần dùng sau là tức thì.
Tài liệu tiếng Việt trong điều kiện thực tế hiếm khi 100% tiếng Việt. Một hợp đồng nhắc đến Excel, PDF và Zalo. Sao kê ngân hàng có SWIFT, IBAN và tên ngân hàng nước ngoài bằng tiếng Anh. Một CV liệt kê công cụ kỹ thuật tiếng Anh xen kẽ kinh nghiệm bằng tiếng Việt. Vì thế, chọn bất kỳ ngôn ngữ nào khác tiếng Anh làm chính sẽ tự động nạp tiếng Anh làm alphabet phụ trong cùng lần nhận dạng — bộ máy khi đó xem xét cả hai alphabet và chọn cách đọc có độ tin cậy cao hơn cho mỗi từ. Chi phí: gấp ~2× bộ nhớ và ~30% chậm hơn so với gói đơn, đáng vì giải pháp ngược lại là tên thương hiệu tiếng Anh ra lộn xộn ngay giữa tiếng Việt.
Công cụ này không làm tốt việc gì
Chữ viết tay. Tesseract được huấn luyện trên văn bản in. Chữ thảo, đơn thuốc viết tay, ghi chú trong sổ — đều làm mô hình lúng túng (Microsoft Read API và Google Cloud Vision làm tốt hơn đáng kể, nhưng cả hai đều yêu cầu upload ảnh). Bảng phức tạp. PDF bảng tính ra văn bản phẳng với các cột dính vào nhau; công cụ này bảo toàn thứ tự đọc, không phải cấu trúc bảng. Với bảng cần giữ là dữ liệu, dùng pdf-to-excel. Font trang trí hoặc cách điệu. Logo, font tiêu đề lớn, hiệu ứng văn bản — thường thất bại hoặc trả về vô nghĩa, vì mô hình mong đợi hình dạng văn bản thường. Độ phân giải rất thấp. Screenshot đoạn văn rộng 320 pixel: đoán mò. Rộng 1500 pixel: đọc được.
Vì sao chúng tôi giữ việc này trong trình duyệt
Khi một người làm OCR, tài liệu thường mang tính cá nhân: scan CCCD để làm thủ tục visa, hóa đơn từ phòng khám tư, bảng lương để vay mua nhà, hợp đồng ai đó gửi dưới dạng JPG thay vì Word. Đường ngắn nhất từ những ảnh đó đến văn bản đọc được trong clipboard thường đi qua một trang OCR miễn phí âm thầm lưu trữ upload «để cải thiện chất lượng». Chúng tôi đã kiểm tra các trang phổ biến cho privacy audit trình chỉnh sửa PDF và cùng kiểu này lặp lại trong OCR: upload lên máy chủ, chính sách giữ dữ liệu nói «vài giờ» nhưng đụng tới cùng ổ đĩa nhiều tháng sau, analytics bên thứ ba nhận hash hình dạng tệp. Chúng tôi đã làm công việc cho OCR chạy hoàn toàn trên thiết bị vì loại tệp bạn chỉ vào đây chính xác là loại bạn không muốn giao cho máy chủ của ai khác.
Tệp của bạn xảy ra gì
Mở DevTools, vào tab Network, thả tệp vào. Bạn sẽ thấy một lượt tải duy nhất lõi WASM và mô hình ngôn ngữ tiếng Việt (tổng cộng khoảng 10 MB) ở lần đầu, sau đó hoàn toàn không có yêu cầu nào ra ngoài mang theo bất kỳ phần nào của tệp. Các lần dùng sau không có yêu cầu nào hết — bộ máy đã trong cache và trang hoạt động ngoại tuyến. Văn bản nhận dạng sống trong textarea của trình duyệt mà bạn có thể copy hoặc tải về dưới dạng .txt. Không gì trong đó chạm vào log nào của chúng tôi, ở bất kỳ thời điểm nào.
Khi OCR phía máy chủ hợp lý hơn
Nếu bạn xử lý 10.000 hóa đơn mỗi đêm, công cụ trong trình duyệt sai hình thức — bạn cần hàng đợi và đội worker GPU. Nếu cần OCR chữ viết tay với độ chính xác cao, các API đám mây vẫn tốt hơn mã nguồn mở. Nếu tài liệu của bạn công khai — kho lưu trữ lịch sử, hợp đồng thuộc phạm vi công cộng, screenshot blog của chính bạn — không có lợi ích quyền riêng tư nào và máy chủ có thể nhanh hơn. Vấn đề không phải là OCR cục bộ thắng ở mọi tình huống; mà là với những ảnh nằm trong cuộn camera của một người, phép tính đảo ngược và không nên đòi hỏi niềm tin mù quáng vào chính sách giữ dữ liệu.
Nếu bạn đã có PDF với lớp văn bản — phần lớn PDF tạo bằng máy đều có — dùng pdf-to-txt thay vì OCR: nhanh hơn và không mất dữ liệu, vì nó đọc văn bản bên dưới thay vì chạy OCR trên trang đã render.
Câu hỏi thường gặp
Ảnh của tôi có lên máy chủ của các bạn không?
Không. Ảnh mở trong trình duyệt của bạn và được xử lý ở đó. Bộ nhận dạng — Tesseract.js — tải về một lần (~10 MB), lưu cache trong trình duyệt và chạy cục bộ. Để kiểm tra, mở DevTools, vào tab Network và thả tệp; bạn sẽ thấy không có yêu cầu nào ra ngoài mang theo ảnh của bạn.
Hỗ trợ những loại tệp nào?
JPG, PNG, WebP, HEIC (iPhone) và PDF một trang. HEIC giải mã trong trình duyệt — không cần chuyển đổi riêng. PDF nhiều trang: chỉ xử lý trang đầu; chia PDF trước với split-pdf nếu cần mọi trang.
Nhận dạng được những ngôn ngữ nào?
25 ngôn ngữ: Anh, Đức, Pháp, Tây Ban Nha, Ý, Bồ Đào Nha (gồm cả Brazil), Ba Lan, Hà Lan, Đan Mạch, Thụy Điển, Romania, Hungary, Czech, Thổ Nhĩ Kỳ, Indonesia, Việt, Nga, Ukraine, Hy Lạp, Ả Rập, Thái, Nhật, Hàn, Trung giản thể và Trung phồn thể. Bộ chọn nằm trên thanh trên cùng; mặc định tự động phát hiện từ locale trình duyệt và giữ giữa các phiên.
Độ chính xác của nhận dạng?
Trên bản scan sạch 300 DPI văn bản đánh máy: 98–99%. Trên ảnh sắc nét của trang in hoặc hóa đơn: 95%+. Trên ảnh mờ, ánh sáng kém hoặc nghiêng: 60–80% — kết quả cần đọc lại. Mỗi kết quả hiển thị điểm độ tin cậy để bạn biết rơi vào đâu trong khoảng này.
Tài liệu trộn tiếng Việt và tiếng Anh thì sao?
Được xử lý tự động. Chọn tiếng Việt làm chính và bộ máy nạp tiếng Anh làm alphabet phụ trong cùng lần nhận dạng — nhờ đó tên thương hiệu (Excel, Zalo, PDF), URL và thuật ngữ kỹ thuật tiếng Anh ra rõ ràng song song với văn bản tiếng Việt. Một huy hiệu nhỏ + EN cạnh bộ chọn hiển thị khi chế độ trộn này đang bật. Chi phí ~30% chậm hơn và ~2× bộ nhớ; chúng tôi để bật mặc định vì giải pháp ngược lại — lần nhận dạng một ngôn ngữ trên tài liệu trộn — chính là thứ làm hỏng tên thương hiệu.
Có hoạt động với chữ viết tay không?
Kém. Tesseract được huấn luyện trên văn bản in — chữ thảo, đơn thuốc viết tay, ghi chú trong sổ làm nó nhầm. Với chữ viết tay, Microsoft Read API và Google Cloud Vision tốt hơn đáng kể, nhưng cả hai đều yêu cầu upload ảnh.
Sao lần chạy đầu chậm thế?
Vì bộ nhận dạng — khoảng 10 MB WebAssembly cộng mô hình ngôn ngữ — tải về trình duyệt lần đầu. Sau đó bộ máy nằm trong cache và nhận dạng bắt đầu tức thì. Trang hoạt động ngoại tuyến sau lần tải đầu.
Dùng được trên điện thoại không?
Được. Trang là trang web bình thường chạy trong mọi trình duyệt di động hiện đại. Trên điện thoại cũ lần chạy đầu lâu hơn vì phải tải bộ máy; các lần sau nhanh.
Còn bảng, layout nhiều cột hoặc tài liệu phức tạp?
Văn bản ra theo thứ tự đọc như luồng đoạn văn phẳng — cấu trúc bảng không được bảo toàn. Với PDF cần dòng và cột thành dữ liệu, dùng pdf-to-excel. Với PDF đã có lớp văn bản (phần lớn PDF tạo bằng máy đều có), dùng pdf-to-txt — nhanh hơn, không mất dữ liệu và không cần OCR.
Miễn phí thật chứ? Có giới hạn gì không?
Có — không tài khoản, không watermark, không giới hạn lần xuất. Xử lý chạy trên thiết bị của bạn nên không có chi phí máy chủ để bù. Giới hạn thực tế kích thước tệp: 25 MB mỗi ảnh để trình duyệt không hết bộ nhớ.