PageSourceSearch

https://www.imagetotext.info/api-docs

html imagetotext.info collected 2026-09-24 10:04:53 UTC 61,664 bytes, 1,149 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3
4<head>
5    
6    <meta charset="UTF-8">
7<meta name="viewport" content="width=device-width, initial-scale=1.0">
8<meta http-equiv="X-UA-Compatible" content="ie=edge">
9<link rel="icon" type="image/x-icon" href="https://www.imagetotext.info/favicon.ico">
10<meta name="_token" content="H0OAFxDpu3OjKzopOeuhh8eSUOO7gcozLNRdzz8S" />
11<title>API Docs</title>
12<meta name="description" content="API Docs" />
13
14<link rel="canonical" href="https://www.imagetotext.info/api-docs" />
15        <link rel="preload" href="https://www.imagetotext.info/web_assets/frontend/fonts/roboto-variable.woff2" as="font" type="font/woff2"
16    crossorigin fetchpriority="high">
17<link defer rel="stylesheet"
18    href="https://www.imagetotext.info/web_assets/frontend/css/critical-style.css?v=36.38">
19
20
21<link rel="stylesheet"
22    href="https://www.imagetotext.info/web_assets/frontend/css/style.css?v=36.38">
23
24    <!-- Google tag (gtag.js) -->
vendor: 68 bytes, lines 24-25
24
25    <script async src="https://www.googletagmanager.com/gtag/js?id=
25G-0JQ2R0N4GP
vendor: 16 bytes, lines 25-26
25"></script>
26    
26<script>
27        
vendor: 176 bytes, lines 27-34
27window.dataLayer = window.dataLayer || [];
28
29        function gtag() {
30            dataLayer.push(arguments);
31        }
32        gtag('js', new Date());
33
34        gtag('config', '
34G-0JQ2R0N4GP
vendor: 8 bytes, lines 34-35
34');
35    
35</script>
35
36    
37        
38 
39        <style>
40        header {
41            background: white;
42        }
43
44        .bg-top {
45            /* background: #F6F8FC; */
46            border-top: 1px solid #EAEAEA;
47            padding: 0px 0px 35px 0px;
48        }
49
50        .api-docs-container {
51            width: 1400px;
52            max-width: 100%;
53            margin: 0 auto;
54            padding: 0 10px;
55            display: flex;
56        }
57
58        .menu-bar-outer {
59            position: relative;
60            border-right: 2px solid #EAEAEA;
61            margin-right: 30px;
62            margin-top: 25px;
63        }
64
65        .menu-bar {
66            /* flex-basis: 300px; */
67            flex: 1;
68            display: flex;
69            flex-direction: column;
70            /* border-right: 2px solid #EAEAEA; */
71            /* margin-right: 30px; */
72            min-width: 170px;
73            position: sticky;
74            top: 0;
75        }
76
77        .docs-bar {
78            flex: 6;
79        }
80
81        .menu-bar strong {
82            font-size: var(--font-size-x-small);
83            text-transform: uppercase;
84            color: #A59DB5;
85            font-weight: 400;
86        }
87
88        .menu-bar .heading-label {
89            font-size: var(--font-size-small);
90            margin-left: 10px;
91            font-weight: 600;
92        }
93
94        .menu-bar .subheading-label {
95            font-size: var(--font-size-small);
96            margin-left: 20px;
97            font-weight: 500;
98        }
99
100        .code-area {
101            background: #F6F8FC;
102            border-radius: 5px;
103            padding: 5px 15px;
104            color: #718096;
105            font-size: var(--font-size-small);
106            display: flex;
107            flex-direction: column;
108        }
109
110        .code-area b,
111        .code-area span {
112            font-size: 16px;
113        }
114
115        ul li {
116            list-style: none;
117        }
118
119        p {
120            font-size: 16px;
121        }
122
123        @media only screen and (max-width: 425px) {
124            .menu-bar-outer {
125                display: none;
126            }
127
128            .code-area {
129                word-break: break-all;
130            }
131        }
132
133        @media only screen and (max-width: 768px) {
134            .menu-bar-outer {
135                width: 100%;
136                border-right: none;
137            }
138
139            .api-docs-container {
140                flex-wrap: wrap;
141            }
142        }
143    </style>
144    
145                                
145<script async data-cfasync="false" src="https://cdn.snigelweb.com/adengine/imagetotext.info/loader.js" type="text/javascript"></script>
145
146                                    </head>
147
148<body class="">
149            
150    
151    <header>
152    <div class="navbar desktop">
153        <div class="logo-div">
154            <div>
155                <a href="https://www.imagetotext.info" class="logo">
156                    <img src="https://www.imagetotext.info/web_assets/frontend/img/logo.svg?v=36.38"
157                        alt="logo" height="40" width="40" />
158                    <span>Image To Text</span>
159                </a>
160            </div>
161            <div class="nav-links tools">
162                <ul>
163                    <li>
164                        <a href="https://www.imagetotext.info/image-translator">
165                            Image Translator
166                        </a>
167                    </li>
168                    <li>
169                        <a href="https://www.imagetotext.info/jpg-to-word">
170                            JPG To Word
171                        </a>
172                    </li>
173                    <li>
174                        <a href="https://www.imagetotext.info/jpg-to-excel">
175                            JPG To Excel
176                        </a>
177                    </li>
178                    <li>
179                        <a href="https://www.imagetotext.info/pdf-to-excel">
180                            PDF To Excel
181                        </a>
182                    </li>
183                </ul>
184            </div>
185        </div>
186        <div class="nav-links topnav" id="myTopnav">
187            <ul>
188                <li>
189                    <button class="search-icon" id="openSearchBar">
190                        <img src="https://www.imagetotext.info/web_assets/frontend/img/icons/search-icon.svg?v=1.4" alt="search"
191                            width="20" height="20" />
192                        <span>Search</span>
193                    </button>
194                </li>
195                                    <li class="online-chat-li js-online-chat">
196                        <a href="javascript:void(0)" id="live-chat-open">
197                            <img src="https://www.imagetotext.info/web_assets/frontend/img/icons/chat-us.svg?v=1.4" alt="chat" width="32"
198                                height="32" />
199                            Live Chat
200                        </a>
201                    </li>
202                
203                <li class="get-api-nav-li">
204                    <a href="https://www.imagetotext.info/premium" class="eTrack" e-track="navbar pricing">
205                        <img src="https://www.imagetotext.info/web_assets/frontend/img/icons/pricing-icon.svg?v=1.4" alt="pricing"
206                            width="32" height="32" />
207                        <span>Pricing</span>
208                    </a>
209                </li>
210                                    <li>
211                        <a href="https://www.imagetotext.info/login" class="account-item auth-btns">
212                            <img src="https://www.imagetotext.info/web_assets/frontend/img/icons/login.svg?v=36.38"
213                                alt="login" width="32" height="32" />
214                            <span>Login</span>
215                        </a>
216                    </li>
217                            </ul>
218        </div>
219    </div>
220    <div class="navbar mobile">
221        <div class="logo-div">
222            <a href="https://www.imagetotext.info" class="logo">
223                <img height="40" width="40"
224                    src="https://www.imagetotext.info/web_assets/frontend/img/logo.svg?v=36.38"
225                    alt="logo" />
226                <span>Image To Text</span>
227            </a>
228        </div>
229        <div class="nav-links">
230            <ul>
231                <li>
232                    <span class="icon" onclick="toggle_menubar()">
233                        <div class="mobile-menu-trigger">
234                            <img class="navbar-icon"
235                                src="https://www.imagetotext.info/web_assets/frontend/img/navbar-menu-icon.svg?v=36.38"
236                                alt="Navbar Icon" width="18" height="18" />
237                            <img class="close-icon d-none"
238                                src="https://www.imagetotext.info/web_assets/frontend/img/navbar-close-icon.svg?v=36.38"
239                                alt="Navbar Icon" width="18" height="18" />
240                        </div>
241                    </span>
242                </li>
243            </ul>
244        </div>
245        <div class="mobile-nav-dropdown">
246            <ul class="margin-left-0">
247                <li>
248                    <a class="navbar-li" href="https://www.imagetotext.info/image-translator">
249                        <span>Image Translator</span>
250                        <img class="go-icon d-none"
251                            src="https://www.imagetotext.info/web_assets/frontend/img/mobile-dropdown-icon.svg?v=36.38"
252                            alt="view more icon" />
253                    </a>
254                </li>
255                <li>
256                    <a class="navbar-li" href="https://www.imagetotext.info/jpg-to-word">
257                        <span>JPG To Word</span>
258                        <img class="go-icon d-none"
259                            src="https://www.imagetotext.info/web_assets/frontend/img/mobile-dropdown-icon.svg?v=36.38"
260                            alt="view more icon" />
261                    </a>
262                </li>
263                <li>
264                    <a class="navbar-li" href="https://www.imagetotext.info/jpg-to-excel">
265                        <span>JPG To Excel</span>
266                        <img class="go-icon d-none"
267                            src="https://www.imagetotext.info/web_assets/frontend/img/mobile-dropdown-icon.svg?v=36.38"
268                            alt="view more icon" />
269                    </a>
270                </li>
271
272                <li>
273                    <a class="navbar-li" href="https://www.imagetotext.info/pdf-to-excel">
274                        <span>PDF To Excel</span>
275                        <img class="go-icon d-none"
276                            src="https://www.imagetotext.info/web_assets/frontend/img/mobile-dropdown-icon.svg?v=36.38"
277                            alt="view more icon" />
278                    </a>
279
280                </li>
281
282
283                
284                                    <li class="online-chat-nav js-online-chat">
285                        <a class="navbar__lower" href="javascript:void(0)" id="live-chat-open">
286                            <div>
287                                <img src="https://www.imagetotext.info/web_assets/frontend/img/navbar-chat-icon.svg?v=36.38"
288                                    alt="navbar chat icon" width="30" height="30" />
289                                <span> Chat us</span>
290                            </div>
291                            <img class="go-icon d-none"
292                                src="https://www.imagetotext.info/web_assets/frontend/img/mobile-dropdown-icon.svg?v=36.38"
293                                alt="view more icon" />
294
295                        </a>
296                    </li>
297                                <li>
298                    <a href="javascript:void(0)" class="navbar__lower js-open-search-mobile">
299                        <div>
300                            <img src="https://www.imagetotext.info/web_assets/frontend/img/icons/search-icon.svg?v=1.4"
301                                alt="navbar search icon" width="30" height="30" />
302                            <span> Search</span>
303                        </div>
304                        <img class="go-icon d-none"
305                            src="https://www.imagetotext.info/web_assets/frontend/img/mobile-dropdown-icon.svg?v=36.38"
306                            alt="view more icon" />
307                    </a>
308                </li>
309                <li>
310                    <a href="https://www.imagetotext.info/premium" class="navbar__lower">
311                        <div>
312                            <img src="https://www.imagetotext.info/web_assets/frontend/img/navbar-pricing-icon.svg?v=36.38"
313                                alt="navbar pricing icon" width="30" height="30" loading="lazy" />
314                            <span> Pricing</span>
315                        </div>
316                        <img class="go-icon d-none"
317                            src="https://www.imagetotext.info/web_assets/frontend/img/mobile-dropdown-icon.svg?v=36.38"
318                            alt="view more icon" />
319                    </a>
320                </li>
321                                    <li>
322                        <a href="https://www.imagetotext.info/login" class="navbar__lower">
323                            <div>
324                                <img src="https://www.imagetotext.info/web_assets/frontend/img/icons/login.svg?v=36.38"
325                                    alt="Login" width="30" height="30" />
326                                <span> Login</span>
327                            </div>
328
329                        </a>
330                    </li>
331                            </ul>
332        </div>
333    </div>
334</header>
335    
336
337    
338        <section class="bg-top">
339        <div class="api-docs-container">
340            <div class="menu-bar-outer">
341                <div class="menu-bar">
342                    <strong>Document Menu</strong>
343                    <a href="#base-url" class="heading-label">Base URL</a>
344                    <a href="#authentication" class="heading-label">Authentication</a>
345                    <a href="#api-endpoints" class="heading-label">API Endpoints</a>
346                    <a href="#image-file-upload" class="subheading-label">Image File Upload</a>
347                    <a href="#image-url" class="subheading-label">Image URL</a>
348                    <a href="#base64-image-data" class="subheading-label">Base64 Image Data</a>
349                    
350                    <a href="#response-format" class="heading-label">Response Format</a>
351                    <a href="#success-response" class="subheading-label">Success Response</a>
352                    <a href="#error-response" class="subheading-label">Error Response</a>
353                </div>
354            </div>
355            <div class="docs-bar">
356                <h1>API Documentation</h1>
357                <p>The Image To Text API allows you to convert images containing text into machine-readable text. This
358                    documentation provides details on how to make requests to the API and the expected responses.</p>
359                <h2 id="base-url">Base URL</h2>
360                <p>The base URL for making API requests is:</p>
361                <div class="code-area">https://www.imagetotext.info/api/imageToText</div>
362                <h2 id="authentication">Authentication</h2>
363                <p>To access the Image To Text API, you need to include an API key in the request header.</p>
364                <p>Header:</p>
365                <div class="code-area"><span><b>Authorization:</b> <span>Bearer YOUR_API_KEY</span></span></div>
366                <p>Replace 'YOUR_API_KEY' with your actual API key obtained from the service provider.</p>
367                <h2 id="api-endpoints">API Endpoints</h2>
368                <h3 id="image-file-upload">1. Image File Upload</h3>
369                <p>This endpoint allows you to directly upload an image file for text extraction.</p>
370                <p>Send a POST request to the base URL with the following headers and form data:</p>
371                <div class="code-area">
372                    <b>Header:</b>
373                    <span>Content-Type: multipart/form-data</span>
374                    <b>Form Data:</b>
375                    <span> image: (file) The image file to be converted.</span>
376                </div>
377                <h3 id="image-url">2. Image URL</h3>
378                <p>This endpoint allows you to provide the URL of the image to be processed for text extraction.</p>
379                <p>Send a POST request to the base URL with the following headers and JSON body:</p>
380                <div class="code-area">
381                    <b>Header:</b>
382                    <span>Content-Type: application/json</span>
383                    <b>JSON Body:</b>
384                    <span>image_url: (string) The URL of the image to be converted.</span>
385                </div>
386                <h3 id="base64-image-data">3. Base64 Image Data</h3>
387                <p>This endpoint allows you to provide the image data as a Base64-encoded string.</p>
388                <p>Send a POST request to the base URL with the following headers and JSON body:</p>
389                <div class="code-area">
390                    <b>Header:</b>
391                    <span>Content-Type: application/json</span>
392                    <b>JSON Body:</b>
393                    <span>base64: (string) The base64-encoded image data (including the data URI prefix).</span>
394                </div>
395                <h3 id="base64-image-data">Curl Request Example</h3>
396                <p>Place YOUR_API_KEY with your original API Key</p>
397                <div class="code-area">
398                    <pre class="code-curl">
399$curl = curl_init();
400curl_setopt_array($curl, array(
401CURLOPT_URL => 'https://www.imagetotext.info/api/imageToText',
402CURLOPT_RETURNTRANSFER => true,
403CURLOPT_ENCODING => '',
404CURLOPT_MAXREDIRS => 10,
405CURLOPT_TIMEOUT => 0,
406CURLOPT_FOLLOWLOCATION => true,
407CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
408CURLOPT_CUSTOMREQUEST => 'POST',
409CURLOPT_POSTFIELDS => array('base64' => 'base64 encoded string'),
410CURLOPT_HTTPHEADER => array(
411'Authorization: Bearer YOUR_API_KEY',
412),
413));
414$response = curl_exec($curl);
415curl_close($curl);
416echo $response;
417                    </pre>
418                </div>
419                
420                <h2 id="response-format">Response Format</h2>
421                <p>The API response will be in JSON format. The structure of the response depends on the success or failure
422                    of the request.</p>
423                <h3 id="success-response">Success Response</h3>
424                <div class="code-area">
425                    <span>{</span>
426                    <span><b>"error":</b> false,</span>
427                    <span><b>"result":</b> "imagetotext.info"</span>
428                    <span>}</span>
429                </div>
430                <ul>
431                    <li>error: Indicates whether an error occurred (false for success).</li>
432                    <li>result: The converted text or response message.</li>
433                </ul>
434                <h3 id="error-response">Error Response</h3>
435                <div class="code-area">
436                    <span>{</span>
437                    <span><b>"error":</b> true,</span>
438                    <span><b>"message":</b> "Error Occurred, Please Try Again"</span>
439                    <span>}</span>
440                </div>
441                <h3 id="error-response">Validation Error</h3>
442                <div class="code-area">
443                    <span>{</span>
444                    <span><b>"error":</b> true,</span>
445                    <span><b>"message":</b> "Image File, Image URL, or Base64 Data URI string is required."</span>
446                    <span>}</span>
447                </div>
448                <h3 id="error-response">Authorization Error</h3>
449                <div class="code-area">
450                    <span>{</span>
451                    <span><b>"type":</b> invalid_request,</span>
452                    <span><b>"message":</b> "Unauthorize or Not Premium"</span>
453                    <span>}</span>
454                </div>
455                <h3 id="error-response">Incorrect API Error</h3>
456                <div class="code-area">
457                    <span>{</span>
458                    <span><b>"type":</b> invalid_request,</span>
459                    <span><b>"message":</b> "incorrect API key provided"</span>
460                    <span>}</span>
461                </div>
462                <h3 id="error-response">Throttle Error</h3>
463                <div class="code-area">
464                    <span>{</span>
465                    <span><b>"type":</b> invalid_request,</span>
466                    <span><b>"message":</b> "You are Blocked for 1 Hour"</span>
467                    <span>}</span>
468                </div>
469                <ul>
470                    <li>error: Indicates whether an error occurred (true for error).</li>
471                    <li>type: Indicates the request type</li>
472                    <li>message: A descriptive error message explaining the cause of the error.</li>
473                </ul>
474            </div>
475        </div>
476    </section>
477    
478
479    
480    <footer>
481        <section class="section footer-section">
482            <div class="container">
483                <div class="footer-grid">
484                    <div>
485                        <a class="imgtotxt_logo-footer" href="https://www.imagetotext.info"><img
486                                src="https://www.imagetotext.info/web_assets/frontend/img/icons/footer-logo.svg?v=2.3" alt="Logo"
487                                height="40" width="40" loading="lazy">
488                            Image to Text
489                        </a>
490                        <p class="footer-text">
491                            We present an online OCR (Optical Character Recognition) service to extract text from
492                            images.
493                        </p>
494                    </div>
495                    <div>
496                        <div class="footer_title">
497                            <p>Other Tools</p>
498                        </div>
499                        <div class="links_list">
500                            <div class="d-flex align-items-center gap-8px text-nowrap">
501                                <a href="https://www.imagetotext.info/bulk-image-to-text">
502                                    Batch Image To Text </a>
503                                    <img src="https://www.imagetotext.info/web_assets/frontend/img/icons/home_bulk_redirect.svg?v=2.3" alt="new">
504                            </div>
505                            <a href="https://www.imagetotext.info/jpg-to-word">
506                                Jpg To Word </a>
507                            <a href="https://www.imagetotext.info/pdf-to-text">
508                                Pdf To Text </a>
509                            <a href="https://www.imagetotext.info/pdf-to-word">
510                                Pdf To Word </a>
511                            <a href="https://www.imagetotext.info/text-to-
511pdf">
512                                Text To PDF </a>
513                            <a href="https://www.imagetotext.info/text-to-word">
514                                Text To Word </a>
515                        </div>
516                    </div>
517                    <div>
518                        <div class="footer_title">
519                            <p>Quick Links</p>
520                        </div>
521                        <div class="links_list">
522                                                                                        <a href="https://www.imagetotext.info/blog">
523                                    Blogs
524                                </a>
525                                                            <a href="https://www.imagetotext.info/privacy-policy.php">
526                                    Privacy Policy
527                                </a>
528                                                            <a href="https://www.imagetotext.info/refund-policy">
529                                    Refund Policy
530                                </a>
531                                                            <a href="https://www.imagetotext.info/terms-of-services.php">
532                                    Terms &amp; Conditions
533                                </a>
534                                                            <a href="https://www.imagetotext.info/contact-us.php">
535                                    Contact Us
536                                </a>
537                                                    </div>
538                    </div>
539                    <div>
540                        <div class="footer_title">
541                            <p>Resources</p>
542                        </div>
543                        <div class="links_list">
544                                                                                        <a href="https://www.imagetotext.info/premium">
545                                    Premium Plan
546                                </a>
547                                                            <a href="https://www.imagetotext.info/premium#apiPlan">
548                                    API Plan
549                                </a>
550                                                            <a href="https://www.imagetotext.info/api-docs">
551                                    API Documentation
552                                </a>
553                                                            <a href="https://www.imagetotext.info/jpg-to-excel-api-docs">
554                                    JPG to Excel API Docs
555                                </a>
556                                                    </div>
557                    </div>
558                    <div>
559                                                <div class="footer_title">
560                            <p>Email</p>
561                        </div>
562                        <a href="mailto:[email protected]" class="mailto-link">[email protected]</a>
563                        <div class="social-media-links">
564                            <span>
565                                <a href="https://www.facebook.com/imagetotext0" target="_blank" rel="noopener noreferrer">
566                                    <img src="https://www.imagetotext.info/web_assets/frontend/img/icons/facebook.svg?v=36.38"
567                                        alt="icon" loading="lazy" height="30" width="30">
568                                </a>
569                            </span>
570                            <span>
571                                <a href="https://x.com/ImgtoText" target="_blank" rel="noopener noreferrer">
572                                    <img src="https://www.imagetotext.info/web_assets/frontend/img/icons/twitter.svg?v=36.38"
573                                        alt="icon" loading="lazy" height="30" width="30">
574                                </a>
575                            </span>
576                            <span>
577                                <a href="https://www.linkedin.com/company/image-to-text-info/" target="_blank"
578                                    rel="noopener noreferrer">
579                                    <img src="https://www.imagetotext.info/web_assets/frontend/img/icons/linkedin.svg?v=36.38"
580                                        alt="icon" loading="lazy" height="30" width="30">
581                                </a>
582                            </span>
583                            <span>
584                                <a href="https://www.pinterest.com/image_to_text_info/" target="_blank"
585                                    rel="noopener noreferrer">
586                                    <img src="https://www.imagetotext.info/web_assets/frontend/img/icons/pinterest.svg?v=36.38"
587                                        alt="icon" loading="lazy" height="30" width="30">
588                                </a>
589                            </span>
590                            <span>
591                                <a href="https://www.instagram.com/imagetotext.info/ " target="_blank"
592                                    rel="noopener noreferrer">
593                                    <img src="https://www.imagetotext.info/web_assets/frontend/img/icons/insta.svg?v=36.38"
594                                        alt="icon" loading="lazy" height="30" width="30">
595                                </a>
596                            </span>
597                        </div>
598
599                    </div>
600
601                </div>
602
603
604                <div class="copyright-row">
605                    Copyright &copy; All rights reserved | It is made by
606                    <a href="https://www.imagetotext.info">imagetotext.info</a>
607                </div>
608            </div>
609        </section>
610    </footer>
611
612
613<!-- The Modal -->
614<div id="loginRegisterModal" class="modal">
615    <!-- Modal content -->
616    <div class="modal-content login-register-modal ">
617        <div class="limit-modal-body p-relative">
618            <span class="accountModalClose right cursor-pointer">
619                <img src="https://www.imagetotext.info/web_assets/frontend/img/cross.svg?v=36.38"
620                    alt="cross" width="20" height="20">
621            </span>
622            <img src="https://www.imagetotext.info/web_assets/frontend/img/icons/login-register.svg?v=36.38"
623                alt="limit exceed" height="40">
624            <div class="showSignIn">
625                <p class="heading text-center" style="margin-top: 1rem;">Sign in with us today</p>
626                <p class="modal-text text-center">
627                    Enter your email and password to sign in your account
628                </p>
629            </div>
630            <div class="showSignUp d-none">
631                <p class="heading text-center">Sign up with us today</p>
632                <p class="modal-text text-center">
633                    Enter your email and password to sign up your account
634                </p>
635            </div>
636        </div>
637        <div>
638            <div id="message_status"></div>
639
640            <div class="login-form showSignIn">
641                <div class="form-grid">
642                    <form id="login-form">
643                        <input type="hidden" name="_token" value="H0OAFxDpu3OjKzopOeuhh8eSUOO7gcozLNRdzz8S" autocomplete="off">                        <input type="hidden" name="plan_id" class="plan-id">
644                        <input type="hidden" name="plan_code" class="plan-code">
645                        <input type="hidden" name="coupon" class="coupon-code">
646                        <div class="form-row">
647                            <div class="form-group">
648                                <input type="email" placeholder="Email" name="email" required autocomplete="off">
649                            </div>
650                            <div class="form-group password_container">
651                                <input type="password" placeholder="Password" name="password" required
652                                    autocomplete="off">
653                                <img src="https://www.imagetotext.info/web_assets/frontend/img/icons/eye_closed.svg" alt="eye close"
654                                    class="eye_icon">
655                            </div>
656                            <div id="auth_login"></div>
657
658                            <a href="https://www.imagetotext.info/forgot-password" class="forget_password_span">Forgot
659                                Password?</a>
660                            <button type="submit" class="submit-btn comp_submit_btn">Sign In</button>
661                        </div>
662                    </form>
663                </div>
664            </div>
665
666            <div class="login-form showSignUp d-none">
667                <div class="form-grid">
668                    <form id="signup-form">
669                        <input type="hidden" name="_token" value="H0OAFxDpu3OjKzopOeuhh8eSUOO7gcozLNRdzz8S" autocomplete="off">                        <input type="hidden" name="plan_id" class="plan-id">
670                        <input type="hidden" name="plan_code" class="plan-code">
671                        <input type="hidden" name="coupon" class="coupon-code">
672                        <div class="form-row">
673                            <div class="form-group">
674                                <input type="text" placeholder="Name" name="name" required autocomplete="off">
675                            </div>
676                            <div class="form-group">
677                                <input type="email" placeholder="Email" name="email" required autocomplete="off">
678                            </div>
679                            <div class="form-group password_container">
680                                <input type="password" placeholder="Password" name="password" required
681                                    autocomplete="off">
682                                <img src="https://www.imagetotext.info/web_assets/frontend/img/icons/eye_closed.svg" alt="eye close"
683                                    class="eye_icon">
684                            </div>
685                            <div id="auth_signup"></div>
686
687                            <button type="submit" class="submit-btn comp_submit_btn">Sign Up</button>
688                        </div>
689                    </form>
690                </div>
691            </div>
692
693        </div>
694        <hr class="hr-text" data-content="OR">
695        <div class="mt-1em">
696            <a href="https://www.imagetotext.info/emd/login/google" class="social-login-div">
697                <p>Continue with google</p>
698                <img class="social-icon"
699                    src="https://www.imagetotext.info/web_assets/frontend/img/icons/google-login.svg?v=36.38"
700                    alt="google login">
701            </a>
702        </div>
703        <div class="text-center mt-1em showSignIn">
704            <p class="toggle-auth-text">
705                Don't have an account? <span id="jsShowSignUp">Sign Up</span>
706            </p>
707        </div>
708        <div class="text-center mt-1em showSignUp d-none">
709            <p class="toggle-auth-text">
710                Already have an account? <span id="jsShowSignIn">Sign in</span>
711            </p>
712        </div>
713    </div>
714</div>
715<input type="hidden" id="invisible" value="0x4AAAAAAAUwKvasO0jFqxlt">
716<input type="hidden" id="managed" value="0x4AAAAAAAXqxZC0gjXqXkxS">
717    
717<script src="https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit"></script>
vendor: 1 bytes, line 717
717
718<script type="text/javascript">
719    var invisible_key = document.getElementById("invisible").value;
720    var managed_key = document.getElementById("managed").value;
721    if (invisible_key.length > 10 && managed_key.length > 10) {
722        function with_cloudflare_captcha(retry, click_time, function_name, theme = null, position = null, body = null,
723            fun =
724            function(
725                token) {
726                var start_val = 0;
727                if (parseInt('1') == 0) {
728                    start_val = 1;
729                } else {
730                    if (!retry) {
731                        start_val = 2;
732                    }
733                }
734                function_name(start_val + 'iA10uUwbAFCYeD2iUZURLrYgB3hVpfkUsvFkFF1p', token, body);
735            }) {
736            var now_time = Math.floor(Date.now() / 1000);
737            if (parseInt(now_time - click_time) < 0 || parseInt(now_time - click_time) > 3 || (
738                    typeof click_time) != 'number') {
739                return false;
740            }
741            if (parseInt('1') == 0) {
742                fun(null);
743                return true;
744            }
745            if (retry) {
746                var siteKey = invisible_key;
747            } else {
748                var siteKey = managed_key;
749            }
750            var turnstile_obj = turnstile.render(position ?? 'body', {
751                sitekey: siteKey,
752                theme: theme ?? 'light',
753                language: $("html").attr('lang'),
754                callback: function(token) {
755                    turnstile.remove(turnstile_obj);
756                    fun(token);
757                },
758                error: function(error) {
759                    console.log("error calling challenge");
760                    with_cloudflare_captcha(false, (Date.now() / 1000), function_name, body);
761                }
762            });
763        }
764    } else {
765        console.error("Captcha key is invalid");
766    }
767</script>
767
768<div id="invalidImageModal" class="modal_invalid">
769    <div class="modal-content invalidImageModal">
770        <div class="limit-modal-body">
771            <div class="a-i-center">
772                <img src="https://www.imagetotext.info/web_assets/frontend/img/icons/caution.png?v=36.38"
773                    alt="cancel subscription">
774                <p class="heading text-center">Invalid URL</p>
775            </div>
776            <div class="px-12">
777                <p class="modal-text">
778                    Image not Found. This is because you have entered an invalid URL.
779                </p>
780            </div>
781            <div class="button_row">
782                <span class="browse-btn keep-plan-btn accountModalClose close_invalid_file">Close</span>
783                <span class="accountModalClose try-another-btn">Try Another URL</span>
784            </div>
785        </div>
786    </div>
787</div>
788<div id="invalidtextModal" class="modal_invalid">
789    <div class="modal-content invalidImageModal">
790        <div class="limit-modal-body">
791            <div class="a-i-center">
792                <img src="https://www.imagetotext.info/web_assets/frontend/img/icons/caution.png?v=36.38"
793                    alt="cancel subscription">
794                <p class="heading text-center">Invalid URL</p>
795            </div>
796            <div class="px-12">
797                <p class="modal-text">
798                    Image not Found. This is because you have entered an invalid URL.
799                </p>
800            </div>
801            <div class="button_row">
802                <span class="browse-btn keep-plan-btn accountModalClose close_invalid_file">Close</span>
803            </div>
804        </div>
805    </div>
806</div>
807
808<script>
809    const limitExced = "Limit Exceed";
810    const unavailabe_service_title = "Service Unavailable";
811    const unavailabe_service_desc = "Get Premium to use this service.";
812    const limitExceedDesc = "Max. 3 images per submission for free users.";
813    const imageSizeForPremium = "File Size Exceed";
814    const premiumModeTitle = "This mode is premium";
815    const premiumModeDesc = "Upgrade plan to use the Formatted Text mode";
816    const imageSizeTitleDesc = "Max. 5 MB image size allowed";
817    const fileTypeNotAllowTitle = "File Type Not Allowed";
818    const fileTypeNotAllowDesc = "Invalid file type";
819    const supported_format = "Supported formats: JPG, PNG, GIF, JFIF (JPEG), HEIC, PDF";
820    const dailyLimitExceed = "Daily Limit Reached";
821    const dailyLimitExceedDesc = "Free user can use 15 images daily.";
822    const dailyLimitFormatedDesc = "Free user can use 1 image daily.";
823
824    const perMinuteLimitHeading = "Per Minute Limit Reached";
825    const perDayLimitHeading = "Daily Limit Reached";
826
827    const premiumMinuteLimitDesc = "15 Images per Minute are Allowed";
828    const premiumDailyLimitDesc = "Max. Images per Day have been Allowed";
829    const emptyText = "No text found";
830    const emptyTextDesc = "No text found in this file";
831
832    const emptyTable = "No data found";
833    const emptyTableDesc = "No data found in this file";
834    const freeMinuteLimitDesc = "Free Users can translate 2 Images per Minute";
835    const invalidFileDesc = "The uploaded file is invalid or corrupted.";
836    const invalidFileHead = "Invalid File";
837    const limitexceedformated = "Max. 1 image per submission for registered users.";
838    const passwordProtectedFileTitle = "Protected File";
839    const passwordProtectedFileDesc = "The uploaded file is password protected.";
840</script>
840
841<div id="adngin-sidebar_sticky-0"></div>
842    
843    
844    
844<script src="https://www.imagetotext.info/web_assets/frontend/script/emd/script.js?v=36.38"></script>
844
845    
845<script>
846    const BASE_URL = "https://www.imagetotext.info" + "/";
847    const env = "production";
848    const SUBMIT_BTN = "Submit";
849    const IS_PREMIUM = parseInt("0");
850    const IS_TOOL_PREMIUM = parseInt("0");
851    const PER_REQUEST_LIMIT = IS_PREMIUM ? 50 : 3;
852    const IS_PREMIUM_COOKIE = 0;
853    const CURRENT_LANG = "en";
854    const TOOL_ID = parseInt("0");
855    const TOOL_CURRENT_LANG = "none";
856    const CURRENT_TOOL_ID = parseInt("0");
857    const HISTORY_ITEMS_PER_LOAD = 20;
858    const USER_ID = parseInt("0");
859    const ACTION_RECORD_ENABLED = 1;
860    //  Tool pages share $allTools; other pages (blog, login, premium...) fall back to the same locale cache.
861    //  The inline 'image' SVGs are stripped: search result icons load as cacheable <img> requests instead.
862    const OTHER_TOOLS_SEARCH_BAR_ARRAY = JSON.parse('[{\u0022id\u0022:1,\u0022name\u0022:\u0022Image to Text\u0022,\u0022slug\u0022:\u0022image-to-text\u0022,\u0022lang\u0022:\u0022en\u0022,\u0022is_home\u0022:1,\u0022parent_id\u0022:1,\u0022parent_slug\u0022:\u0022image-to-text\u0022,\u0022url\u0022:\u0022https:\\\/\\\/www.imagetotext.info\u0022},{\u0022id\u0022:2,\u0022name\u0022:\u0022JPG to Word\u0022,\u0022slug\u0022:\u0022jpg-to-word\u0022,\u0022lang\u0022:\u0022en\u0022,\u0022is_home\u0022:0,\u0022parent_id\u0022:2,\u0022parent_slug\u0022:\u0022jpg-to-word\u0022,\u0022url\u0022:\u0022https:\\\/\\\/www.imagetotext.info\\\/jpg-to-word\u0022},{\u0022id\u0022:3,\u0022name\u0022:\u0022PDF to Text\u0022,\u0022slug\u0022:\u0022pdf-to-text\u0022,\u0022lang\u0022:\u0022en\u0022,\u0022is_home\u0022:0,\u0022parent_id\u0022:3,\u0022parent_slug\u0022:\u0022pdf-to-text\u0022,\u0022url\u0022:\u0022https:\\\/\\\/www.imagetotext.info\\\/pdf-to-text\u0022},{\u0022id\u0022:4,\u0022name\u0022:\u0022PDF to Word\u0022,\u0022slug\u0022:\u0022pdf-to-word\u0022,\u0022lang\u0022:\u0022en\u0022,\u0022is_home\u0022:0,\u0022parent_id\u0022:4,\u0022parent_slug\u0022:\u0022pdf-to-word\u0022,\u0022url\u0022:\u0022https:\\\/\\\/www.imagetotext.info\\\/pdf-to-word\u0022},{\u0022id\u0022:5,\u0022name\u0022:\u0022Text to PDF\u0022,\u0022slug\u0022:\u0022text-to-pdf\u0022,\u0022lang\u0022:\u0022en\u0022,\u0022is_home\u0022:0,\u0022parent_id\u0022:5,\u0022parent_slug\u0022:\u0022text-to-pdf\u0022,\u0022url\u0022:\u0022https:\\\/\\\/www.imagetotext.info\\\/text-to-pdf\u0022},{\u0022id\u0022:6,\u0022name\u0022:\u0022Text to Word\u0022,\u0022slug\u0022:\u0022text-to-word\u0022,\u0022lang\u0022:\u0022en\u0022,\u0022is_home\u0022:0,\u0022parent_id\u0022:6,\u0022parent_slug\u0022:\u0022text-to-word\u0022,\u0022url\u0022:\u0022https:\\\/\\\/www.imagetotext.info\\\/text-to-word\u0022},{\u0022id\u0022:24,\u0022name\u0022:\u0022Invert Image\u0022,\u0022slug\u0022:\u0022invert-image\u0022,\u0022lang\u0022:\u0022en\u0022,\u0022is_home\u0022:0,\u0022parent_id\u0022:24,\u0022parent_slug\u0022:\u0022invert-image\u0022,\u0022url\u0022:\u0022https:\\\/\\\/www.imagetotext.info\\\/invert-image\u0022},{\u0022id\u0022:28,\u0022name\u0022:\u0022Text to Image\u0022,\u0022slug\u0022:\u0022text-to-image\u0022,\u0022lang\u0022:\u0022en\u0022,\u0022is_home\u0022:0,\u0022parent_id\u0022:28,\u0022parent_slug\u0022:\u0022text-to-image\u0022,\u0022url\u0022:\u0022https:\\\/\\\/www.imagetotext.info\\\/text-to-image\u0022},{\u0022id\u0022:38,\u0022name\u0022:\u0022Image to PDF\u0022,\u0022slug\u0022:\u0022image-to-pdf\u0022,\u0022lang\u0022:\u0022en\u0022,\u0022is_home\u0022:0,\u0022parent_id\u0022:38,\u0022parent_slug\u0022:\u0022image-to-pdf\u0022,\u0022url\u0022:\u0022https:\\\/\\\/www.imagetotext.info\\\/image-to-pdf\u0022},{\u0022id\u0022:39,\u0022name\u0022:\u0022Image Translator\u0022,\u0022slug\u0022:\u0022image-translator\u0022,\u0022lang\u0022:\u0022en\u0022,\u0022is_home\u0022:0,\u0022parent_id\u0022:39,\u0022parent_slug\u0022:\u0022image-translator\u0022,\u0022url\u0022:\u0022https:\\\/\\\/www.imagetotext.info\\\/image-translator\u0022},{\u0022id\u0022:45,\u0022name\u0022:\u0022QR Code Scanner\u0022,\u0022slug\u0022:\u0022qr-code-scanner\u0022,\u0022lang\u0022:\u0022en\u0022,\u0022is_home\u0022:0,\u0022parent_id\u0022:45,\u0022parent_slug\u0022:\u0022qr-code-scanner\u0022,\u0022url\u0022:\u0022https:\\\/\\\/www.imagetotext.info\\\/qr-code-scanner\u0022},{\u0022id\u0022:48,\u0022name\u0022:\u0022Word to PDF\u0022,\u0022slug\u0022:\u0022word-to-pdf\u0022,\u0022lang\u0022:\u0022en\u0022,\u0022is_home\u0022:0,\u
8620022parent_id\u0022:48,\u0022parent_slug\u0022:\u0022word-to-pdf\u0022,\u0022url\u0022:\u0022https:\\\/\\\/www.imagetotext.info\\\/word-to-pdf\u0022},{\u0022id\u0022:50,\u0022name\u0022:\u0022PDF to JPG\u0022,\u0022slug\u0022:\u0022pdf-to-jpg\u0022,\u0022lang\u0022:\u0022en\u0022,\u0022is_home\u0022:0,\u0022parent_id\u0022:50,\u0022parent_slug\u0022:\u0022pdf-to-jpg\u0022,\u0022url\u0022:\u0022https:\\\/\\\/www.imagetotext.info\\\/pdf-to-jpg\u0022},{\u0022id\u0022:81,\u0022name\u0022:\u0022Merge PDF\u0022,\u0022slug\u0022:\u0022merge-pdf\u0022,\u0022lang\u0022:\u0022en\u0022,\u0022is_home\u0022:0,\u0022parent_id\u0022:81,\u0022parent_slug\u0022:\u0022merge-pdf\u0022,\u0022url\u0022:\u0022https:\\\/\\\/www.imagetotext.info\\\/merge-pdf\u0022},{\u0022id\u0022:82,\u0022name\u0022:\u0022JPG to Excel\u0022,\u0022slug\u0022:\u0022jpg-to-excel\u0022,\u0022lang\u0022:\u0022en\u0022,\u0022is_home\u0022:0,\u0022parent_id\u0022:82,\u0022parent_slug\u0022:\u0022jpg-to-excel\u0022,\u0022url\u0022:\u0022https:\\\/\\\/www.imagetotext.info\\\/jpg-to-excel\u0022},{\u0022id\u0022:83,\u0022name\u0022:\u0022QR Code Generator\u0022,\u0022slug\u0022:\u0022qr-code-generator\u0022,\u0022lang\u0022:\u0022en\u0022,\u0022is_home\u0022:0,\u0022parent_id\u0022:83,\u0022parent_slug\u0022:\u0022qr-code-generator\u0022,\u0022url\u0022:\u0022https:\\\/\\\/www.imagetotext.info\\\/qr-code-generator\u0022},{\u0022id\u0022:89,\u0022name\u0022:\u0022Word to JPG\u0022,\u0022slug\u0022:\u0022word-to-jpg\u0022,\u0022lang\u0022:\u0022en\u0022,\u0022is_home\u0022:0,\u0022parent_id\u0022:89,\u0022parent_slug\u0022:\u0022word-to-jpg\u0022,\u0022url\u0022:\u0022https:\\\/\\\/www.imagetotext.info\\\/word-to-jpg\u0022},{\u0022id\u0022:92,\u0022name\u0022:\u0022PDF to Excel\u0022,\u0022slug\u0022:\u0022pdf-to-excel\u0022,\u0022lang\u0022:\u0022en\u0022,\u0022is_home\u0022:0,\u0022parent_id\u0022:92,\u0022parent_slug\u0022:\u0022pdf-to-excel\u0022,\u0022url\u0022:\u0022https:\\\/\\\/www.imagetotext.info\\\/pdf-to-excel\u0022},{\u0022id\u0022:94,\u0022name\u0022:\u0022Barcode Scanner\u0022,\u0022slug\u0022:\u0022barcode-scanner\u0022,\u0022lang\u0022:\u0022en\u0022,\u0022is_home\u0022:0,\u0022parent_id\u0022:94,\u0022parent_slug\u0022:\u0022barcode-scanner\u0022,\u0022url\u0022:\u0022https:\\\/\\\/www.imagetotext.info\\\/barcode-scanner\u0022},{\u0022id\u0022:102,\u0022name\u0022:\u0022Excel to JPG\u0022,\u0022slug\u0022:\u0022excel-to-jpg\u0022,\u0022lang\u0022:\u0022en\u0022,\u0022is_home\u0022:0,\u0022parent_id\u0022:102,\u0022parent_slug\u0022:\u0022excel-to-jpg\u0022,\u0022url\u0022:\u0022https:\\\/\\\/www.imagetotext.info\\\/excel-to-jpg\u0022},{\u0022id\u0022:104,\u0022name\u0022:\u0022PDF to CSV\u0022,\u0022slug\u0022:\u0022pdf-to-csv\u0022,\u0022lang\u0022:\u0022en\u0022,\u0022is_home\u0022:0,\u0022parent_id\u0022:104,\u0022parent_slug\u0022:\u0022pdf-to-csv\u0022,\u0022url\u0022:\u0022https:\\\/\\\/www.imagetotext.info\\\/pdf-to-csv\u0022},{\u0022id\u0022:112,\u0022name\u0022:\u0022HTML to PDF\u0022,\u0022slug\u0022:\u0022html-to-pdf\u0022,\u0022lang\u0022:\u0022en\u0022,\u0022is_home\u0022:0,\u0022parent_id\u0022:112,\u0022parent_slug\u0022:\u0022html-to-pdf\u0022,\u0022url\u0022:\u0022https:\\\/\\\/www.imagetotext.info\\\/html-to-pdf\u0022},{\u0022id\u0022:113,\u0022name\u0022:\u0022PDF to HTML\u0022,\u0022slug\u0022:\u0022pdf-to-html\u0022,\u0022lang\u0022:\u0022en\u0022,\u0022is_home\u0022:0,\u0022parent_id\u0022:113,\u0022parent_slug\u0022:\u0022pdf-to-html\u0022,\u0022url\u0022:\u0022https:\\\/\\\/www.imagetotext.info\\\/pdf-to-html\u0022},{\u0022id\u0022:118,\u0022name\u0022:\u0022Batch Image to Text\u0022,\u0022slug\u0022:\u0022bulk-image-to-text\u0022,\u0022lang\u0022:\u0022en\u0022,\u0022is_home\u0022:0,\u0022parent_id\u0022:118,\u0022parent_slug\u0022:\u0022bulk-image-to-text\u0022,\u0022url\u0022:\u0022https:\\\/\\\/www.imagetotext.info\\\/bulk-image-to-text\u0022},{\u0022id\u0022:121,\u0022name\u0022:\u0022Word to Excel\u0022,\u0022slug\u0022:\u0022word-to-excel\u0022,\u0022lang\u0022:\u0022en\u0022,\u0022is_home\u0022:0,\u0022parent_id\u0022:121,\u0022parent_slug\u0022:\u0022word-to-excel\u0022,\u0022url\u0022:\u0022https:\\\/\\\/www.imagetotext.info\\\/word-to-excel\u0022},{\u0022id\u0022:122,\u0022name\u0022:\u0022PPT to PDF\u0022,\u0022slug\u0022:\u0022ppt-to-pdf\u0022,\u0022lang\u0022:\u0022en\u0022,\u0022is_home\u0022:0,\u
8620022parent_id\u0022:122,\u0022parent_slug\u0022:\u0022ppt-to-pdf\u0022,\u0022url\u0022:\u0022https:\\\/\\\/www.imagetotext.info\\\/ppt-to-pdf\u0022},{\u0022id\u0022:123,\u0022name\u0022:\u0022CSV to Excel\u0022,\u0022slug\u0022:\u0022csv-to-excel\u0022,\u0022lang\u0022:\u0022en\u0022,\u0022is_home\u0022:0,\u0022parent_id\u0022:123,\u0022parent_slug\u0022:\u0022csv-to-excel\u0022,\u0022url\u0022:\u0022https:\\\/\\\/www.imagetotext.info\\\/csv-to-excel\u0022},{\u0022id\u0022:124,\u0022name\u0022:\u0022Excel to CSV\u0022,\u0022slug\u0022:\u0022excel-to-csv\u0022,\u0022lang\u0022:\u0022en\u0022,\u0022is_home\u0022:0,\u0022parent_id\u0022:124,\u0022parent_slug\u0022:\u0022excel-to-csv\u0022,\u0022url\u0022:\u0022https:\\\/\\\/www.imagetotext.info\\\/excel-to-csv\u0022},{\u0022id\u0022:125,\u0022name\u0022:\u0022Excel to PDF\u0022,\u0022slug\u0022:\u0022excel-to-pdf\u0022,\u0022lang\u0022:\u0022en\u0022,\u0022is_home\u0022:0,\u0022parent_id\u0022:125,\u0022parent_slug\u0022:\u0022excel-to-pdf\u0022,\u0022url\u0022:\u0022https:\\\/\\\/www.imagetotext.info\\\/excel-to-pdf\u0022}]');
863</script>
863
864
865<script src="https://www.imagetotext.info/web_assets/frontend/script/library/jquery.min.js"></script>
vendor: 1 bytes, line 865
865
866<script
867    src="https://www.imagetotext.info/web_assets/frontend/script/general.js?v=36.38">
868</script>
868
869<div class="search-modal">
870    <div class="modal-container">
871        <div class="bar-container">
872            <div class="search-parent">
873                <img src="https://www.imagetotext.info/web_assets/frontend/img/icons/ser-modal.svg" alt="serach icon" width="20"
874                    height="20">
875                <input type="text" class="search-bar" id="searchInput" placeholder="Search for tool...">
876            </div>
877            <div class="search-keys d-flex align-items-center justify-space-between">
878                <div class="d-flex align-items-center gap-20px">
879                    <div class="d-flex align-items-center gap-6px pills">
880                        Navigate
881                        <div class="icon">
882                            <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
883<path d="M10.2222 4V12M12 10L10.2222 12L8.44444 10M5.77778 12V4M7.55556 6L5.77778 4L4 6" stroke="#888A92" stroke-linecap="round" stroke-linejoin="round"/>
884</svg>
885
886                        </div>
887                    </div>
888                    <div class="d-flex align-items-center gap-6px pills">
889                        Select
890                        <div class="icon">
891                            <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
892<path d="M5.84783 12L3.66602 9.59988L5.84783 7.19977M3.66602 9.59988L11.666 9.59988V4" stroke="#888A92" stroke-linecap="round" stroke-linejoin="round"/>
893</svg>
894
895                        </div>
896                    </div>
897                    <div class="d-flex align-items-center gap-6px pills">
898                        Open New Tab
899                        <div class="icon">
900                            Ctrl +
901                            <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
902<path d="M5.84783 12L3.66602 9.59988L5.84783 7.19977M3.66602 9.59988L11.666 9.59988V4" stroke="#888A92" stroke-linecap="round" stroke-linejoin="round"/>
903</svg>
904
905                        </div>
906                    </div>
907                </div>
908                <div class="d-flex align-items-center gap-6px pills js-close-search" role="button" tabindex="0">
909                    Close
910                    <div class="icon">esc</div>
911                </div>
912            </div>
913        </div>
914        <div class="search-container">
915            <div class="head">Recent Search</div>
916            <div class="ser-results">
917                <div class="no-result d-none">
918                    No result found!
919                </div>
920            </div>
921        </div>
922    </div>
923</div>
924
925<template id="serCardTemplate">
926    <a href="#" class="d-flex align-items-center justify-space-between ser-card">
927        <div class="d-flex align-items-center gap-12px card-info"></div>
928        <div class="enter-icon">
929            <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
930<path d="M7.31321 15L4.58594 11.9998L7.31321 8.99971M4.58594 11.9998L14.5859 11.9998V5" stroke="#9DA2B5" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round"/>
931</svg>
932
933        </div>
934    </a>
935</template>
936<script defer
937    src="https://www.imagetotext.info/web_assets/frontend/script/tool-search-bar.js?v=36.38">
938</script>
938
939    
939<script>
940    window.EMD_USER = {
941        logged_in: false,
942        name: null,
943        email: null,
944        email_verified: false,
945        is_premium: false,
946        // 0 = Free, 1 = Premium, 2 = Free Plan — see EmdWebUser::PREMIUM_TYPE
947        // 'Guest' when logged out, otherwise the PREMIUM_TYPE label
948        user_type: "Guest",
949        website: "imagetotext.info",
950    };
951
952    Object.defineProperty(window.EMD_USER, 'user_key', {
953        enumerable: true,
954        get: function() {
955            try {
956                return localStorage.getItem('user-key') || localStorage.getItem('e-track-key') || '';
957            } catch (e) {
958                return '';
959            }
960        },
961    });
962</script>
962
963        
963<script>
964        $(document).ready(function() {
965            $("#signup-form input").on("change input", function(e) {
966                $("#message_status").html("");
967            });
968            $("#login-form input").on("change input", function(e) {
969                $("#message_status").html("");
970            });
971            $('.comp_submit_btn').on('click', function(e) {
972                e.preventDefault();
973
974                let form = $(this).closest('form');
975                let nameVal = "";
976                let isSignup = form.attr('id') === 'signup-form';
977                if (isSignup) {
978                    nameVal = form.find('input[name="name"]').val().trim();
979                }
980                const emailVal = form.find('input[name="email"]').val().trim();
981                const passwordVal = form.find('input[name="password"]').val().trim();
982                let formData = {
983                    _token: $('meta[name="_token"]').attr('content'),
984                    email: emailVal,
985                    password: passwordVal,
986                    name: nameVal,
987                    plan_id: form.find('input[name="plan_id"]').val(),
988                    plan_code: form.find('input[name="plan_code"]').val(),
989                    coupon: form.find('input[name="coupon"]').val(),
990                    premium_login: premiumLoginFlag
991                };
992
993                let url = isSignup ? "https://www.imagetotext.info/emd/register/web" : "https://www.imagetotext.info/emd/login/web";
994                let container_id = isSignup ? 'auth_signup' : 'auth_login';
995
996                if (!validateForm(formData, isSignup)) return false;
997                $('.comp_submit_btn').attr('disabled', true).css('pointer-events', 'none').text(
998                    'Processing...');
999                with_cloudflare_captcha(false, Date.now() / 1000, function(hash, token) {
1000                    formData.emd_captcha_hash = hash;
1001                    formData.emd_captcha_token = token;
1002
1003                    submitForm(url, formData);
1004                }, "light", "#" + container_id, {
1005                    wrapEle: $(this)
1006                });
1007            });
1008        });
1009
1010        function validateForm(data, isSignup = false) {
1011            if (!validateEmail(data.email)) {
1012                $('#message_status').html('<p class="error" style="color: red">Please enter a valid email</p>');
1013                return false;
1014            }
1015            if (data.password.length < 8) {
1016                $('#message_status').html('<p class="error" style="color: red">Password must be at least 8 characters</p>');
1017                return false;
1018            }
1019            if (isSignup && !data.name) {
1020                $('#message_status').html('<p class="error" style="color: red">Please enter your name</p>');
1021                return false;
1022            }
1023            if (isSignup && containsURL(data.name)) {
1024                $('#message_status').html('<p class="error" style="color: red">Name must not contain URLs or links.</p>');
1025                return false;
1026            }
1027            if (/\+/.test(data.email)) {
1028                $('#message_status').html('<p class="error" style="color: red">Please enter a valid email address.</p>');
1029                return false;
1030            }
1031            return true;
1032        }
1033
1034        function submitForm(url, formData) {
1035            $.ajax({
1036                url: url,
1037                type: 'POST',
1038                data: formData,
1039                dataType: 'json',
1040                success: function(response) {
1041                    if (response.status) {
1042                        $('#message_status').html(
1043                            `<p class="success" style="color: green">${response.message ?? response.mess}</p>`
1044                        );
1045                        window.location.href = response.url;
1046                    } else {
1047                        $('#message_status').html(
1048                            `<p class="error" style="color: red">${response.message ?? response.mess}</p>`);
1049                    }
1050                },
1051                error: function(xhr) {
1052                    if (
1053                        xhr.responseJSON.verify_require == true ||
1054                        (xhr.responseJSON.email_verified == false)
1055                    ) {
1056                        let email_Pass = formData.email;
1057                        let encoded = btoa(email_Pass);
1058                        let urlSafe = encodeURIComponent(encoded);
1059                        window.location.href =
1060                            BASE_URL + "verify-email?email=" + urlSafe;
1061                    } else if (xhr.status == 429) {
1062                        $('#message_status').html(
1063                            `<p class="error" style="color: red">${xhr.responseJSON.message}</p>`);
1064                    } else {
1065                        $('#message_status').html(
1066                            `<p class="error" style="color: red">${xhr.responseJSON.mess ??  xhr.responseJSON.message}</p>`
1067                        );
1068                    }
1069                },
1070                complete: function() {
1071                    $('.comp_submit_btn').attr('disabled', false).css('pointer-events', 'auto').text('Submit');
1072                }
1073            });
1074            setTimeout(() => {
1075                $('#message_status').html('');
1076            }, 3500);
1077        }
1078    </script>
1078
1079    
1080    
1081
1082    
1083    
1084                    
1084<script>
1085                window.WebsiteTrackerConfig = {
1086                    endpoint: '\/emd\/tracker-click\/EMD_TIME',
1087                    
1088                    inactivity_delay_ms: 20000
1089                };
1090            </script>
1090
1091            
1091<script defer src="https://www.imagetotext.info/web_assets/frontend/script/emd/tracker.js?v1.2.0"></script>
1091
1092                
1093
1094            
1094<script src="https://accounts.google.com/gsi/client" async defer></script>
1094
1095<div id="g_id_onload" data-client_id="433658528871-mb956nk9gboa3aafbarl9ddk3o3fsh47.apps.googleusercontent.com"
1096    data-callback="handleCredentialResponse" data-ux_mode="popup">
1097</div>
1098
1099
1100
1101
1102<script>
1103    function handleCredentialResponse(response) {
1104        if (!response || !response.credential) {
1105            console.error('Invalid response received');
1106            return;
1107        }
1108
1109        fetch("https://www.imagetotext.info/emd/login/google/gsi", {
1110                method: "POST",
1111                headers: {
1112                    "Content-Type": "application/json",
1113                    "X-CSRF-TOKEN": "H0OAFxDpu3OjKzopOeuhh8eSUOO7gcozLNRdzz8S"
1114                },
1115                body: JSON.stringify({
1116                    credential: response.credential
1117                })
1118            })
1119            .then(res => {
1120                if (!res.ok) {
1121                    throw new Error('Network response was not ok: ' + res.status);
1122                }
1123                return res.json();
1124            })
1125            .then(res => {
1126                if (res.success) {
1127                    window.location.reload();
1128                } else {
1129                    throw new Error(res.message || 'Login failed');
1130                }
1131            })
1132            .catch(error => {
1133                console.error('Error during Google login:', error);
1134            });
1135    }
1136</script>
1136
1137        
1138            
1138<script src="https://www.gstatic.com/firebasejs/9.22.0/firebase-app-compat.js"></script>
1138
1139        
1139<script src="https://www.gstatic.com/firebasejs/9.22.0/firebase-messaging-compat.js"></script>
1139
1140        
1140<script>
1141            window.EMD_FIREBASE_CONFIG = JSON.parse('{\u0022apiKey\u0022:\u0022AIzaSyCoxNMaatGywZu2C8MHjnEq8HiSi2alVgM\u0022,\u0022authDomain\u0022:\u0022imagetotext-info-97867.firebaseapp.com\u0022,\u0022projectId\u0022:\u0022imagetotext-info-97867\u0022,\u0022storageBucket\u0022:\u0022imagetotext-info-97867.firebasestorage.app\u0022,\u0022messagingSenderId\u0022:\u0022305684550085\u0022,\u0022appId\u0022:\u00221:305684550085:web:72553975565bc877f0bbac\u0022}');
1142            window.EMD_FIREBASE_VAPID_KEY = "BBTvGFnQuvIU1GrGLyWRc6Ghgw_nDOwTqgHTTjwiYQJyBCMJ3Z_v8zrTpcy71qBvcsUJT5AG5_R_E6cOKn8o_b0";
1143        </script>
1143
1144        
1144<script src="https://www.imagetotext.info/web_assets/frontend/script/emd/firebase-push-notification.js?v1.0.2"></script>
1144
1145        
1145<script async src="https://chat.enzipe.com/widget/w.js?v=1790244293" data-key="pk_live_94dvl3mboayp3ehymbtl8exx"></script>
1145
1146
1147</body>
1148
1149</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.