PageSourceSearch

https://www.grammarcheck.ai/api-docs

html grammarcheck.ai collected 2026-10-01 14:33:55 UTC 62,440 bytes, 1,449 lines download raw bytes

1<!DOCTYPE html>
2    <html lang="en"
3        data-theme="light">
4
5<head>
6    
7    <meta charset="UTF-8">
8<meta name="viewport" content="width=device-width, initial-scale=1.0">
9<meta http-equiv="X-UA-Compatible" content="ie=edge">
10<link rel="icon" type="image/x-icon" href="https://www.grammarcheck.ai/favicon.svg?v=56">
11<meta name="_token" content="dQ8lxDQEUBbk3hvStHCZgA0vokSjrIpljr4q6ivc" />
12<title>API Docs</title>
13<meta name="description" content="API Docs" />
14
15<link rel="canonical" href="https://www.grammarcheck.ai/api-docs" />
16        <link rel="preconnect" href="https://fonts.googleapis.com">
17<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
18<link href="https://fonts.googleapis.com/css2?family=Noto+Serif:wght@400;500;700&display=swap" rel="stylesheet">
19<link rel="stylesheet"
20    href="https://www.grammarcheck.ai/web_assets/frontend/css/style.css?v=56">
21            <link rel="stylesheet"
22            href="https://www.grammarcheck.ai/web_assets/frontend/css/api-docs.min.css?v=56">
23        
24                                    </head>
25
26<body class="">
27            
28    
29    <div class="gc-main">
30    <div class="gc-header-container">
31        <div class="gc-container gc-nav-head large_screen_menu">
32            <div class="gc-row gc-justify-space-between gc-align-items-center ">
33                <div class="header_logo_div">
34                    <a href="https://www.grammarcheck.ai">
35                        <img data-src-light="https://www.grammarcheck.ai/web_assets/frontend/img/logo.svg?v=56"
36                            data-src-dark="https://www.grammarcheck.ai/web_assets/frontend/img/logo_dark.svg?v=56"
37                            src="https://www.grammarcheck.ai/web_assets/frontend/img/logo.svg?v=56"
38                            alt="logo" id="header_logo" width="120">
39                    </a>
40                </div>
41
42                <div class="topnav" id="myTopnav">
43                    <a href="https://www.grammarcheck.ai/ai-humanizer" class="menu-item">
44                        <span class="punc_checker ">AI
45                            Humanizer
46                        </span>
47                        <span class="imp_text_green">IMPROVED</span>
48                    </a>
49                    <a href="https://www.grammarcheck.ai/ai-checker" class="menu-item">
50                        <span class="punc_checker ">
51                            AI Checker
52                        </span>
53                        <span class="new_text_yellow">NEW</span>
54                    </a>
55                    <a href="https://www.grammarcheck.ai/plagiarism-checker" class="menu-item">
56                        <span class="punc_checker ">
57                            Plagiarism Checker
58                        </span>
59                        <span class="new_text_yellow">NEW</span>
60                    </a>
61
62                    <ul class="other-tools-dropdown">
63                        <li class="dropdown-container menu-item ">
64                            Other Tools <img class="arrow_header"
65                                src="https://www.grammarcheck.ai/web_assets/frontend/img/icons/arrow_small.svg" alt="arrow">
66                            <ul class="dropdown-menu">
67                                <li class="dropdown-item">
68                                    <a href="https://www.grammarcheck.ai" class="menu-item">
69                                        <div class="tool-link">
70                                            <span>Grammar Checker</span>
71                                            <img src="https://www.grammarcheck.ai/web_assets/frontend/img/icons/carret-icon.svg" alt="arrow">
72                                        </div>
73                                        <div class="tool-content">
74                                            Correct all grammatical mistakes in one click.
75                                        </div>
76                                    </a>
77                                </li>
78                                <li class="dropdown-item">
79                                    <a href="https://www.grammarcheck.ai/ai-summarizer"
80                                        class="menu-item">
81                                        <div class="tool-link">
82                                            <span class=" ">AI Summarizer</span>
83                                            <img src="https://www.grammarcheck.ai/web_assets/frontend/img/icons/carret-icon.svg" alt="arrow">
84                                        </div>
85                                        <div class="tool-content">
86                                            Create concise summaries without losing context.
87                                        </div>
88                                    </a>
89                                </li>
90                                <li class="dropdown-item">
91                                    <a href="https://www.grammarcheck.ai/paraphrase-tool" class="menu-item">
92                                        <div class="tool-link">
93                                            <span
94                                                class="punc_checker ">AI
95                                                Paraphraser</span>
96                                            <img src="https://www.grammarcheck.ai/web_assets/frontend/img/icons/carret-icon.svg" alt="arrow">
97                                        </div>
98                                        <div class="tool-content">
99                                            Rephrase text for improved structure and clarity.
100                                        </div>
101                                    </a>
102                                </li>
103                                
104                                <li class="dropdown-item">
105                                    <a href="https://www.onlinenotepad.io/" target="_blank" class="menu-item">
106                                        <span class="online-notepad">
107                                            <div class="text">
108                                                Online Notepad
109                                            </div>
110                                            <img src="https://www.grammarcheck.ai/web_assets/frontend/img/icons/online-notepad.svg" alt="online-notepad">
111                                        </span>
112                                        <span class="img-container">
113                                            <img src="https://www.grammarcheck.ai/web_assets/frontend/img/icons/carret-icon.svg" alt="arrow">
114                                        </span>
115
116                                        <div class="tool-content">
117                                            Write, edit, & save your notes online.
118                                        </div>
119                                    </a>
120                                </li>
121                            </ul>
122                        </li>
123                    </ul>
124                    <a href="https://www.grammarcheck.ai/pricing" class="menu-item eTrack" e-track="navbar pricing">
125                        <span class="">
126                            Pricing </span>
127                    </a>
128                </div>
129
130                <div class="user_buttons_nevbar">
131                    <div class="pointer dark_mode_icon">
132                        <img src="https://www.grammarcheck.ai/web_assets/frontend/img/icons/moon.svg"
133                            alt="sun" id="dark_mode_icon" width="24">
134                    </div>
135                                                                            <div class="chat_icon" id="live-chat-open">
136                                <img class="chat-icon" src="https://www.grammarcheck.ai/web_assets/frontend/img/icons/chat.svg" alt="Chat">
137                                <img class="loader-icon gc-d-none" src="https://www.grammarcheck.ai/web_assets/frontend/gif/chat-laoder1.svg" alt="Chat Loader">
138                            </div>
139                                            <div class="dropdown-wrapper relative">
140                        <button class="login_bg_none gc-d-flex gc-align-items-center " id="account-dropdown">
141                            <span>Account</span>
142                            <img class="account_arrow_img"
143                                src="https://www.grammarcheck.ai/web_assets/frontend/img/icons/account_arrow.svg" alt="arrow">
144                        </button>
145                                                    <div class="dropdown-menu-navbar gc-d-none gc-f-d-column account-dropdown">
146                                <a href="https://www.grammarcheck.ai/login" class="login">
147                                    Login
148                                </a>
149                                <a href="https://www.grammarcheck.ai/register" class="signup">
150                                    Sign up
151                                </a>
152                            </div>
153                                            </div>
154                </div>
155            </div>
156        </div>
157
158        <div class="gc-container gc-nav-head small_screen_menu">
159            <div class="mobile-container">
160                <div class="mobile_topnav relative">
161                    <div class="mobile_header_bar">
162                        <a href="https://www.grammarcheck.ai" class="active cp-text-m">
163                            <img data-src-light="https://www.grammarcheck.ai/web_assets/frontend/img/logo.svg?v=56"
164                                data-src-dark="https://www.grammarcheck.ai/web_assets/frontend/img/logo_dark.svg?v=56"
165                                src="https://www.grammarcheck.ai/web_assets/frontend/img/logo.svg?v=56"
166                                alt="logo" id="header_logo_mobile" width="120">
167                        </a>
168                        <div class="d-flex-gap-8">
169                                                        <div class="pointer dark_mode_icon">
170                                <img src="https://www.grammarcheck.ai/web_assets/frontend/img/icons/su
170n.svg?v=56"
171                                    alt="sun" width="24">
172                            </div>
173                            <!-- Menu Trigger -->
174                            <span onclick="toggleMobileMenu()" class="icon pointer gc-d-flex gc-align-items-center"
175                                id="mobileMenuTrigger">
176                                <img src="https://www.grammarcheck.ai/web_assets/frontend/img/icons/Menu.svg?v=56"
177                                    alt="menu icon" id="hamburgerIcon">
178                                <img src="https://www.grammarcheck.ai/web_assets/frontend/img/cross.svg" class="gc-d-none"
179                                    alt="cross" id="closeIcon">
180                            </span>
181                        </div>
182                    </div>
183
184                    <!-- Overlay Mobile Menu -->
185                    <div id="mobilgnuOverlay" class="mobile-menu-overlay">
186                        <div class="mobile-menu-content">
187                            <a href="https://www.grammarcheck.ai/ai-humanizer" class="mobile-menu-item">
188                                AI Humanizer <span class="imp_text_green">IMPROVED</span>
189                            </a>
190                            <a href="https://www.grammarcheck.ai/ai-checker" class="mobile-menu-item">
191                                AI Checker <span class="new_text_yellow">NEW</span>
192                            </a>
193                            <a href="https://www.grammarcheck.ai/plagiarism-checker" class="mobile-menu-item">
194                                Plagiarism Checker <span class="new_text_yellow">NEW</span>
195                            </a>
196                            <a href="https://www.grammarcheck.ai/pricing" class="mobile-menu-item">
197                                Pricing
198                            </a>
199
200                            <div class="mobile-menu-dropdown">
201                                <div class="mobile-dropdown-toggle pointer" onclick="toggleMobileDropdown(this)">
202                                    Other Tools
203                                    <img class="arrow_header arrow_up"
204                                        src="https://www.grammarcheck.ai/web_assets/frontend/img/icons/arrow_small.svg" alt="arrow">
205                                </div>
206                                <div class="mobile-dropdown-menu">
207                                    <a href="https://www.grammarcheck.ai" class="mobile-sub-item">Grammar Checker</a>
208                                    <a href="https://www.grammarcheck.ai/ai-summarizer" class="mobile-sub-item">AI Summarizer</a>
209                                    <a href="https://www.grammarcheck.ai/paraphrase-tool" class="mobile-sub-item">AI Paraphraser</a>
210                                    
211                                    <a href="https://www.onlinenotepad.io/"  class="mobile-sub-item">
212                                        Online Notepad
213                                        <img src="https://www.grammarcheck.ai/web_assets/frontend/img/icons/online-notepad.svg" alt="online-notepad">
214                                    </a>
215
216                                </div>
217                            </div>
218
219                            <div class="mobile-auth-buttons">
220                                                                    <a href="https://www.grammarcheck.ai/register" class="btn-mobile-signup">Sign up</a>
221                                    <a href="https://www.grammarcheck.ai/login" class="btn-mobile-login">Login</a>
222                                                            </div>
223                        </div>
224                    </div>
225                </div>
226            </div>
227        </div>
228
229            </div>
230</div>
231    
232
233    
234        
235    <section class="api-docs-section">
236        <div class="api-docs-layout">
237            <!-- Sidebar -->
238            <aside class="api-sidebar">
239                <nav class="sidebar-nav">
240                    <div class="sidebar-group">
241                        <span class="sidebar-label">Introduction</span>
242                        <ul>
243                            <li><a href="#welcome" class="nav-link active">Getting Started</a></li>
244                            <li><a href="#authentication" class="nav-link">Authentication</a></li>
245                            <li><a href="#limitation" class="nav-link">Limitation Page</a></li>
246                        </ul>
247                    </div>
248                    <div class="sidebar-group">
249                        <span class="sidebar-label">Endpoints</span>
250                        <ul>
251                            <li><a href="#grammar-check" class="nav-link">Grammar Check</a></li>
252                            
253                        </ul>
254                    </div>
255                    <div class="sidebar-group">
256                        <span class="sidebar-label">Support</span>
257                        <ul>
258                            <li><a href="#rate-limits" class="nav-link">Rate Limits</a></li>
259                            <li><a href="#error-codes" class="nav-link">Error Codes</a></li>
260                        </ul>
261                    </div>
262                </nav>
263            </aside>
264
265            <!-- Main Content -->
266            <main class="api-content">
267                <div id="welcome" class="content-section">
268                    <h1 class="main-title">API Documentation</h1>
269                    <h2 class="section-title">Getting Started</h2>
270                    <p>Welcome to the GrammarCheck.ai API. Our API provides developers with high-performance text processing
271                        tools, including real-time grammar checking, intelligent paraphrasing, and plagiarism detection.</p>
272                    <p>To start using the API, you first need to generate an API Key from your Access Credentials tab. Once
273                        you have a key, you can authenticate your requests by including it in your HTTP headers.</p>
274                </div>
275
276                <div id="authentication" class="content-section">
277                    <h2 class="section-title">Authentication</h2>
278                    <p>GrammarCheck.ai uses API keys to authenticate requests. All API requests should be made over HTTPS.
279                        Unauthorized requests will return a 401 Unauthorized error.</p>
280
281                    <div class="code-wrapper">
282                        <div class="code-header">
283                            <span>API Key</span>
284                            <button class="copy-btn"
285                                data-copy="YOUR_SECRET_KEY">
286                                <img src="https://www.grammarcheck.ai/web_assets/frontend/img/icons/copy-icon.svg" alt="Copy">
287                            </button>
288                        </div>
289                        <div class="code-block">
290                            <pre><code class="language-http"><span class="header-key">Authorization:</span>  <span class="header-value">Bearer YOUR_SECRET_KEY</span></code></pre>
291                        </div>
292                    </div>
293                </div>
294
295                <div id="limitation" class="content-section">
296                    <h2 class="section-title">Limitation Page</h2>
297                    <p>Our API has certain limitations based on your subscription plan. These include word limits per
298                        request and rate limits per minute.</p>
299                    <p>For most plans, the maximum word limit per request is 1000 words. If you need higher limits, please
300                        contact our support team or upgrade your plan.</p>
301                </div>
302
303                <div id="grammar-check" class="content-section">
304                    <h2 class="section-title">Grammar Check</h2>
305                    <p>Analyze text for grammatical errors, spelling mistakes, and punctuation issues.</p>
306
307                    <div class="code-wrapper light">
308                        <div class="code-block single-line">
309                            <pre><code>curl -X POST "https://www.grammarcheck.ai/api/user/grammarcheck-api" \
310     -H "Authorization: Bearer YOUR_SECRET_KEY" \
311     -H "Content-Type: application/json" \
312     -d '{"text": "Your text here"}'</code></pre>
313                            <button class="copy-btn"
314                                data-copy='curl -X POST "https://www.grammarcheck.ai/api/user/grammarcheck-api" \
315     -H "Authorization: Bearer YOUR_SECRET_KEY" \
316     -H "Content-Type: application/json" \
317     -d "{\"text\": \"Your text here\"}"'>
318                                <img src="https://www.grammarcheck.ai/web_assets/frontend/img/icons/copy-icon.svg" alt="Copy">
319                            </button>
320                        </div>
321                    </div>
322
323                    <h3 class="section-title">Parameters</h3>
324                    <div class="table-wrapper">
325                        <table class="api-table">
326                            <thead>
327                                <tr>
328                                    <th>Parameter</th>
329                                    <th>Type</th>
330                                    <th>Description</th>
331                                </tr>
332                            </thead>
333                            <tbody>
334                                <tr>
335                                    <td><code>text</code></td>
336                                    <td>string</td>
337                                    <td>The text you want to check for grammar.</td>
338                                </tr>
339                                <tr>
340                                    <td><code>lang</code></td>
341                                    <td>string</td>
342                                    <td>Optional. Currently only available in English ('en'). Default: 'en'</td>
343                                </tr>
344                            </tbody>
345                        </table>
346                    </div>
347
348                    <h3 class="section-title">Examples</h3>
349                    <div class="code-wrapper">
350                        <div class="code-header">
351                            <span>Basic Grammar Check Request</span>
352                            <button class="copy-btn" data-copy='{
353    "text": "Your long text here..."
354}'>
355                                <img src="https://www.grammarcheck.ai/web_assets/frontend/img/icons/copy-icon.svg" alt="Copy">
356                            </button>
357                        </div>
358                        <div class="code-block">
359                            <div class="line-numbers">
360                                <span>1</span><span>2</span><span>3</span>
361                            </div>
362                            <pre><code class="language-json">{
363    <span class="json-key">"text"</span>: <span class="json-value">"Your long text here...",</span>
364    <span class="json-key">"lang"</span>: <span class="json-value">"en"  // default: en</span>
365}</code></pre>
366                        </div>
367                    </div>
368
369                    <div class="code-wrapper">
370                        <div class="code-header">
371                            <span>Example Response</span>
372                            <button class="copy-btn"
373                                data-copy='{
374    "status": true,
375    "data": {
376        "message": "Success",
377        "original": "This is a example.",
378        "corrected": "This is an example.",
379        "tagged": "This is \u003cspan class=\"grammarCheck_api\"\u003ean\u003c/span\u003e example."
380    },
381    "emd_query_detect_limit": 4
382}'>
383                                <img src="https://www.grammarcheck.ai/web_assets/frontend/img/icons/copy-icon.svg" alt="Copy">
384                            </button>
385                        </div>
386                        <div class="code-block">
387                            <div class="line-numbers">
388                                <span>1</span><span>2</span><span>3</span><span>4</span><span>5</span><span>6</span><span>7</span><span>8</span><span>9</span>
389                            </div>
390                            <pre><code class="language-json">{
391    <span class="json-key">"status"</span>: <span class="json-value">true</span>,
392    <span class="json-key">"data"</span>: {
393        <span class="json-key">"message"</span>: <span class="json-value">"Success"</span>,
394        <span class="json-key">"original"</span>: <span class="json-value">"This is a example."</span>,
395        <span class="json-key">"corrected"</span>: <span class="json-value">"This is an example."</span>,
396        <span class="json-key">"tagged"</span>: <span class="json-value">"This is &lt;span class=\"grammarCheck_api\"&gt;an&lt;/span&gt; example."</span>
397    },
398}</code></pre>
399                        </div>
400                    </div>
401                </div>
402
403                
404
405                <div id="rate-limits" class="content-section">
406                    <h2 class="section-title">Rate Limits</h2>
407                    <p>To ensure fair usage and system stability, we implement rate limiting on all API endpoints. The
408                        number of allowed requests depends on your plan.</p>
409                    <p>Standard plans typically allow 20 requests per minute. Exceeding this limit will result in a 429 Too
410                        Many Requests error.</p>
411                </div>
412
413                <div id="error-codes" class="content-section">
414                    <h2 class="section-title">Error Codes</h2>
415                    <p>Grammarcheck.ai uses standard HTTP status codes to indicate the success or failure of an API request.
416                    </p>
417
418                    <h3 class="section-title">Common Errors</h3>
419                    <div class="table-wrapper">
420                        <table class="api-table">
421                            <thead>
422                                <tr>
423                                    <th>STATUS</th>
424                                    <th>ERROR</th>
425                                    <th>DESCRIPTION</th>
426                                </tr>
427                            </thead>
428                            <tbody>
429                                <tr>
430                                    <td>400</td>
431                                    <td>Bad Request</td>
432                                    <td>
433                                        Unsupported language input.
434                                    </td>
435                                </tr>
436                                <tr>
437                                    <td>401</td>
438                                    <td>Unauthorized</td>
439                                    <td>
440                                        1. API key is required.<br>
441                                        2. Incorrect API key provided.
442                                    </td>
443                                </tr>
444                                <tr>
445                                    <td>413</td>
446                                    <td>Payload Too Large</td>
447                                    <td>
447The text may not be greater than allowed words.</td>
448                                </tr>
449                                <tr>
450                                    <td>417</td>
451                                    <td>Expectation Failed</td>
452                                    <td>
453                                        1. An internal error occurred while processing the request.<br>
454                                        2. Unable to paraphrase the text.<br>
455                                        3. Unable to check plagiarism.<br>
456                                        4. An unexpected error occurred.
457                                    </td>
458                                </tr>
459                                <tr>
460                                    <td>422</td>
461                                    <td>Unprocessable Entity</td>
462                                    <td>One or more request parameters are invalid or missing.</td>
463                                </tr>
464                                <tr>
465                                    <td>429</td>
466                                    <td>Too Many Requests</td>
467                                    <td>The rate limit of requests per minute depends on your plan.</td>
468                                </tr>
469                            </tbody>
470                        </table>
471                    </div>
472                </div>
473            </main>
474        </div>
475    </section>
476
477        
478
479    
480    <div id="ccpa" style="text-align:center;cursor:pointer;display: none;">Do not share my Personal Information.</div>
481<div class="gc-main">
482    <section class="gc-section noto_font footer-section gc-pb-0">
483        <div class="gc-main-container">
484            <div class="gc-container">
485                <div class="gc-row footer-row">
486                    <div class="gc-col">
487                        <a href="https://www.grammarcheck.ai">
488                            <img loading="lazy"
489                                data-src-light="https://www.grammarcheck.ai/web_assets/frontend/img/logo.svg?v=56"
490                                data-src-dark="https://www.grammarcheck.ai/web_assets/frontend/img/logo_dark.svg?v=56"
491                                src="https://www.grammarcheck.ai/web_assets/frontend/img/logo.svg?v=56"
492                                alt="logo-footer" id="footer_logo">
493                        </a>
494                        <div>
495                            <p class="footer_text">
496                                Best Free Online Grammar Checker to Improve the Quality of Your Content Using AI
497                                Technology.
498                            </p>
499                        </div>
500                    </div>
501                    <div class="gc-col">
502                        <div class="footer-tools-sec">
503                            <div class="heading">Resources</div>
504                            <a href="https://www.grammarcheck.ai/api-docs">
505                                API Docs
506                            </a>
507                            <a href="https://www.grammarcheck.ai/blog">
508                                Blog
509                            </a>
510                            <a href="https://www.grammarcheck.ai/terms-and-conditions">
511                                Terms & Condition
512                            </a>
513                            <a href="https://www.grammarcheck.ai/privacy-policy">
514                                Privacy Policy
515                            </a>
516                            <a href="https://www.grammarcheck.ai/refund-policy">
517                                Refund Policy
518                            </a>
519                            <a href="https://www.grammarcheck.ai/contact-us">
520                                Contact Us
521                            </a>
522                        </div>
523                    </div>
524                    <div class="gc-col">
525                        <div class="footer-tools-sec">
526                            <div class="heading">Tools</div>
527                            <a href="https://www.grammarcheck.ai" class="menu-item">
528                                <span>
529                                    Grammar Checker
530                                </span>
531                            </a>
532                            <a href="https://www.grammarcheck.ai/plagiarism-checker" class="menu-item">
533                                <span>
534                                    Plagiarism Checker
535                                </span>
536                            </a>
537
538                            <a href="https://www.grammarcheck.ai/paraphrase-tool" class="menu-item">
539                                <span>
540                                    Paraphrase Tool
541                                </span>
542                            </a>
543                            <a href="https://www.grammarcheck.ai/ai-humanizer" class="menu-item">
544                                <span>
545                                    AI Humanizer
546                                </span>
547                            </a>
548                            <a href="https://www.grammarcheck.ai/punctuation-checker" class="menu-item">
549                                <span>
550                                    Punctuation Checker
551                                </span>
552                            </a>
553                            <a href="https://www.summarizer.org" rel="sponsored" target="_blank" class="menu-item">
554                                <span>AI Summarizer</span>
555                            </a>
556                        </div>
557                    </div>
558                    <div class="gc-col language-sec" >
559                        <div class="lang-section">
560                                                    </div>
561                        <div class="gc-apps-section">
562                            <div class="lang-heading">Grammarcheck.ai Apps</div>
563                            <div class="apps-section-container">
564                                <a target="_blank" href="https://play.google.com/store/apps/details?id=com.enzipe.grammarcheck" class="app-container">
565                                    <img src="https://www.grammarcheck.ai/web_assets/frontend/img/icons/playstore.svg" alt="Google play" loading="lazy" class="app-logo">
566                                    <p class="app-title">
567                                        Google Play
568                                    </p>
569                                </a>
570                                <a target="_blank" href="https://apps.apple.com/us/app/grammar-check-ai/id1632607331" class="app-container">
571                                    <img src="https://www.grammarcheck.ai/web_assets/frontend/img/icons/apple-logo.svg" alt="App Store" loading="lazy" class="app-logo apple-app-logo">
572                                    <p class="app-title">
573                                        App Store
574                                    </p>
575                                </a>
576                                <a target="_blank" href="https://snapcraft.io/grammarcheck" class="app-container">
577                                    <img src="https://www.grammarcheck.ai/web_assets/frontend/img/icons/linux_app.svg" alt="Linux" loading="lazy" class="app-logo">
578                                    <p class="app-title">
579                                        Linux
580                                    </p>
581                                </a>
582                            </div>
583                        </div>
584                    </div>
585                </div>
586            </div>
587        </div>
588        <div class="footer-copyright" style="border-top: 1px solid #333333;">
589            <div class="gc-main-container">
590                <div class="gc-container">
591                    <div class="copyright-row">
592                        <div>
593                            &copy; <a class="footer-site-link" href="https://www.grammarcheck.ai">Grammarcheck.ai</a>
594                            2026. All rights reserved.
595                        </div>
596                        <div>
597                            <a href="https://www.facebook.com/GrammarcheckAI">
598                                <img src="https://www.grammarcheck.ai/web_assets/frontend/img/social_icons/facebook.svg?v=56"
599                                    alt="fb-icon" loading="lazy" />
600                            </a>
601                            <a href="https://www.linkedin.com/company/grammarcheck/">
602                                <img src="https://www.grammarcheck.ai/web_assets/frontend/img/social_icons/linkedin.svg?v=56"
603                                    alt="linkedin-icon" loading="lazy" />
604                            </a>
605                            <a href="https://x.com/aigrammarcheck">
606                                <img src="https://www.grammarcheck.ai/web_assets/frontend/img/social_icons/twitter.svg?v=56"
607                                    alt="twitter-icon" loading="lazy" />
608                            </a>
609                            <a href="https://www.pinterest.com/grammarcheckofficial/">
610                                <img src="https://www.grammarcheck.ai/web_assets/frontend/img/social_icons/pinterest.svg?v=56"
611                                    alt="pinterest-icon" loading="lazy" />
612                            </a>
613                        </div>
614                    </div>
615                </div>
616            </div>
617        </div>
618        
619    </section>
620    <dialog id="error_Modal" class="popup_model">
621        <div class="error_modal-content popup_modal-content">
622            <img src="" id="popup_image">
623            <p id="errorModelHeading"></p>
624            <p id="errorModelDetail"></p>
625            <button class="popup_model_close" onclick="this.closest('dialog').close()">Close</button>
626        </div>
627    </dialog>
628    <dialog class="limit-modal" id="limitModal">
629    <div class="modal-content modal-content-popups">
630        <button class="close-button" onclick="this.closest('dialog').close()">
631            <img src="https://www.grammarcheck.ai/web_assets/frontend/img/popup_cross.svg" alt="close">
632        </button>
633        <div class="modal-body">
634            <img src="https://www.grammarcheck.ai/web_assets/frontend/img/popup_icon.svg" alt="popup icon" class="popup_icon">
635            <span class="title">Limit reached!</span>
636            <p class="subtext">Sorry, Guest user can only use 3 submission per min.</p>
637        </div>
638        <a href="https://www.grammarcheck.ai/contact-us" class="register-btn">Contact us</a>
639    </div>
640</dialog>
641
642<style>
643    #limitModal.limit-modal:not(dialog) {
644        display: none;
645        position: fixed;
646        top: 0;
647        left: 0;
648        width: 100%;
649        height: 100%;
650        background: rgba(0, 0, 0, 0.15);
651        align-items: center;
652        justify-content: center;
653        z-index: 9999;
654    }
655
656    dialog#limitModal.limit-modal[open] {
657        display: flex;
658        align-items: center;
659        justify-content: center;
660        width: 100%;
661        height: 100%;
662        z-index: 9999;
663    }
664
665    dialog#limitModal::backdrop {
666        background: rgba(0, 0, 0, 0.15);
667    }
668
669    #limitModal .modal-content {
670        background: var(--color-white);
671        padding: 20px;
672        width: 340px;
673        position: relative;
674        box-shadow: 4px 4px 0px 0px var(--color-green);
675    }
676    .popup_icon{
677        display: block;
678        width:34px;
679        height: 32px;
680    }
681
682    #limitModal .close-button {
683        position: absolute;
684        top: 0px;
685        right: 0px;
686        background: none;
687        border: none;
688        font-size: 22px;
689        cursor: pointer;
690    }
691    #limitModal .modal-body {
692        display: flex;
693        flex-direction: column;
694        gap: 8px;
695        padding-bottom: 20px;
696    }
697    #limitModal .title {
698        font-size: 18px;
699        line-height: 24px;
700        font-weight: 500;
701        /* margin-bottom: 8px; */
702        color: var(--color-headings);
703    }
704
705    #limitModal .subtext {
706        font-size: 14px;
707        line-height: 20px;
708        font-weight: 400;
709        color: var(--color-paragraphs);
710        /* margin-bottom: 16px; */
711    }
712
713    #limitModal .register-btn {
714        padding: 4px 12px;
715        background-color: #9EEBCA;
716        border: 1px solid #000000;
717        font-weight: 500;
718        text-decoration: none;
719        color: #000;
720        box-shadow: 2px 2px 0px 0px #333333;
721        /* width: 100%; */
722        /* display: block; */
723        font-size: 14px;
724        margin-left: calc(100% - 100px);
725        text-align: center;
726        cursor: pointer;
727    }
728
729    #limitModal .register-btn:hover {
730        background: #77DEB2;
731    }
732</style>
733    <dialog class="limit-modal" id="premiumModal">
734    <div class="modal-content modal-content-popups">
735        <button class="close-button" onclick="this.closest('dialog').close()">
736            <img src="https://www.grammarcheck.ai/web_assets/frontend/img/icons/close_arrow_limit.svg" alt="close" width="100">
737        </button>
738
739        <div class="modal-header">
740            <div class="description">
741                <span class="title">Limit Exceed</span>
742                <p class="subtext">Choose plan to upgrade</p>
743            </div>
744            <div class="toggle-container">
745                <label for="pricingTogglePopup" class="toggle-label monthly-label">Monthly</label>
746                <label class="switch">
747                    <input type="checkbox" id="pricingTogglePopup">
748                    <span class="slider round"></span>
749                </label>
750                <label for="pricingTogglePopup" class="toggle-label yearly-label active">Yearly</label>
751            </div>
752        </div>
753
754        <div class="plans">
755            
756                                                
757                    <label class="plan  monthly ">
758                        <input type="radio" name="plan" value="17"
759                            checked>
760
761                        <div class="plan-details">
762                            <span class="plan-title 1">
763                                All in One
764                            </span>
765
766                            <span class="plan-description">
767                                Monthly
768                            </span>
769                        </div>
770
771                        <span class="plan-price">$4</span>
772                    </label>
773                                    
774                    <label class="plan  yearly gc-d-none ">
775                        <input type="radio" name="plan" value="18"
776                            >
777
778                        <div class="plan-details">
779                            <span class="plan-title 2">
780                                All in One
781                            </span>
782
783                            <span class="plan-description">
784                                Billed yearly $30
785                            </span>
786                        </div>
787
788                        <span class="plan-price">$2.50</span>
789                    </label>
790                                    
791                    <label class="plan  monthly ">
792                        <input type="radio" name="plan" value="19"
793                            >
794
795                        <div class="plan-details">
796                            <span class="plan-title 3">
797                                All in One
798                            </span>
799
800                            <span class="plan-description">
801                                Monthly
802                            </span>
803                        </div>
804
805                        <span class="plan-price">$7</span>
806                    </label>
807                                    
808                    <label class="plan  yearly gc-d-none ">
809                        <input type="radio" name="plan" value="20"
810                            >
811
812                        <div class="plan-details">
813                            <span class="plan-title 4">
814                                All in One
815                            </span>
816
817                            <span class="plan-description">
818                                Billed yearly $48
819                            </span>
820                        </div>
821
822                        <span class="plan-price">$4.00</span>
823                    </label>
824                            
825        </div>
826
827        <div class="benefits-section">
828            <span class="benefits-title">Benefits</span>
829            <ul class="benefits" id="benefitsList">
830            </ul>
831        </div>
832
833        <div class="modal-footer">
834                            <a href="https://www.grammarcheck.ai/signup" class="continue-btn eTrack"
835                    e-track="Signup page button on popup">Continue as free</a>
836                                    <a href="#" class="upgrade-btn-popup eTrack" e-track="Upgrade button on premium popup"
837                data-plans='[{"id":14,"paypro_product_id":132172,"checkout_link":"https:\/\/store.payproglobal.com\/checkout?products[1][id]=132172\u0026page-template=20599\u0026x-pid=14"},{"id":15,"paypro_product_id":132173,"checkout_link":"https:\/\/store.payproglobal.com\/checkout?products[1][id]=132173\u0026page-template=20599\u0026x-pid=15"},{"id":16,"paypro_product_id":132174,"checkout_link":"https:\/\/store.payproglobal.com\/checkout?products[1][id]=132174\u0026page-template=20599\u0026x-pid=16"},{"id":17,"paypro_product_id":118027,"checkout_link":"https:\/\/store.payproglobal.com\/checkout?products[1][id]=118027\u0026page-template=20599\u0026x-pid=17"},{"id":18,"paypro_product_id":118028,"checkout_link":"https:\/\/store.payproglobal.com\/checkout?products[1][id]=118028\u0026page-template=20599\u0026x-pid=18"},{"id":19,"paypro_product_id":118029,"checkout_link":"https:\/\/store.payproglobal.com\/checkout?products[1][id]=118029\u0026page-template=20599\u0026x-pid=19"},{"id":20,"paypro_product_id":118026,"checkout_link":"https:\/\/store.payproglobal.com\/checkout?products[1][id]=118026\u0026page-template=20599\u0026x-pid=20"}]' data-is-guest="true">
838                Upgrade to Pro
839            </a>
840
841        </div>
842    </div>
843</dialog>
844
845<style>
846    /* #premiumModal.limit-modal:not(dialog) {
847        display: none;
848        position: fixed;
849        top: 0;
850        left: 0;
851        width: 100%;
852        height: 100%;
853        background: rgba(0, 0, 0, 0.4);
854        align-items: center;
855        justify-content: center;
856        z-index: 9999;
857    } */
858
859    dialog#premiumModal.limit-modal[open] {
860        display: flex;
861        align-items: center;
862        justify-content: center;
863        width: 100%;
864        height: 100%;
865        z-index: 9999;
866    }
867
868    dialog#premiumModal::backdrop {
869        background: rgba(0, 0, 0, 0.4);
870    }
871
872    #premiumModal .modal-content {
873        background: var(--color-white);
874        width: 420px;
875        padding: unset;
876        position: relative;
877        box-shadow: 0px 4px 15px rgba(0, 0, 0, 0.1);
878        /* border-radius: 8px; */
879    }
880
881    #premiumModal .close-button {
882        position: absolute;
883        top: 0px;
884        right: 0px;
885        width: 32px;
886        height: 32px;
887        background: none;
888        border: none;
889        cursor: pointer;
890        padding: 0;
891    }
892
893    #premiumModal .modal-header {
894        text-align: left;
895        border-bottom: 1px solid #E2E4E6;
896        padding: 24px 20px;
897        display: flex;
898        justify-content: space-between;
899        align-items: flex-end;
900    }
901    #premiumModal .description {
902        display: flex;
903        flex-direction: column;
904        gap: 6px;
905    }
906
907
908
909    #premiumModal .title {
910        font-size: 18px;
911        line-height: 24px !important;
912        font-weight: 500;
913        color: var(--color-headings);
914    }
915
916    #premiumModal .subtext {
917        font-size: 14px;
918        line-height: 20px;
919        font-weight: 500;
920        color: #8C949B;
921        /* margin-top: 6px; */
922        /* margin-bottom: 16px; */
923    }
924
925    #premiumModal .plans {
926        display: flex;
927        flex-direction: column;
928        margin-bottom: 16px;
929        border-bottom: 1px solid #E2E4E6;
930    }
931
932    #premiumModal .plan {
933        display: flex;
934        gap: 16px;
935        align-items: center;
936        padding: 16px 20px;
937        border-radius: 6px;
938        cursor: pointer;
939        transition: border-color 0.2s ease-in-out;
940    }
941
942    /******************* Pricing Toggler Css start *******************/
943
944    .toggle-container {
945        display: flex;
946        align-items: center;
947        justify-content: center;
948        gap: 6px;
949    }
950
951    .toggle-label {
952        font-weight: 500;
953        font-size: 12px;
954        line-height: 20px;
955        color: var(--color-all-black);
956        transition: color 0.3s ease;
957        cursor: pointer;
958        text-transform: uppercase;
959    }
960
961    /* .toggle-label.yearly-label {
962        color: #8C949B;
963    } */
964
965    .switch {
966        position: relative;
967        display: inline-block;
968        width: 36px;
969        height: 20px;
970        padding: 3px;
971    }
972
973    .switch input {
974        opacity: 0;
975        width: 0;
976        height: 0;
977    }
978
979    .slider {
980        position: absolute;
981        cursor: pointer;
982        top: 0;
983        left: 0;
984        right: 0;
985        bottom: 0;
986        background-color: #fff;
987        transition: 0.4s;
988        border-radius: 9564.26px;
989        border: 0.92px solid #000;
990        box-sizing: content-box;
991        display: flex;
992        align-items: center;
993        padding: 3px;
994    }
995
996    .slider:before {
997        position: absolute;
998        content: "";
999        height: 14px;
1000        width: 14px;
1001        left: unset;
1002        bottom: unset;
1003        background-color: #f2f7fb;
1004        box-shadow: inset 0 0 0 1px #000;
1005        transition: 0.4s;
1006        border-radius: 50%;
1007        box-sizing: content-box;
1008    }
1009
1010    input:checked+.slider {
1011        background-color: #fff;
1012    }
1013
1014    input:focus+.slider {
1015        box-shadow: 0 0 1px #fff;
1016    }
1017
1018    input:checked+.slider:before {
1019        transform: translateX(calc(100%));
1020        background-color: #9eebca;
1021    }
1022
1023    /******************* Pricing Toggler Css End *******************/
1024
1025
1026    #premiumModal .plan:has(input[type="radio"]:checked) {
1027        background-color: var(--color-table-odd);
1028    }
1029
1030    #premiumModal .plan input[type="radio"] {
1031        -webkit-appearance: none;
1032        appearance: none;
1033        background-color: #fff;
1034        margin: 0;
1035        font: inherit;
1036        color: currentColor;
1037        width: 18px;
1038        height: 18px;
1039        border: 3px solid #8C949B;
1040        border-radius: 50%;
1041        place-content: center;
1042        flex-shrink: 0;
1043    }
1044
1045    #premiumModal .plan input[type="radio"]::before {
1046        content: "";
1047        width: 10px;
1048        height: 10px;
1049        border-radius: 50%;
1050        transform: scale(0);
1051        transition: 120ms transform ease-in-out;
1052        box-shadow: inset 1em 1em #00A679;
1053    }
1054
1055    #premiumModal .plan input[type="radio"]:checked {
1056        border: 5px solid #09AA84;
1057    }
1058
1059    #premiumModal .plan input[type="radio"]:checked::before {
1060        transform: scale(1);
1061    }
1062
1063    #premiumModal .plan-details {
1064        flex-grow: 1;
1065    }
1066
1067    #premiumModal .plan-title {
1068        font-size: 16px;
1069        line-height: 20px;
1070        font-weight: 400;
1071        color: var(--color-headings);
1072        display: block;
1073    }
1074
1075    #premiumModal .plan-description {
1076        font-size: 12px;
1077        line-height: 20px;
1078        font-weight: 400;
1079        color: #808080;
1080    }
1081
1082    #premiumModal .plan-price {
1083        font-size: 24px;
1084        line-height: 28px;
1085        font-weight: 400;
1086        color: var(--color-headings);
1087    }
1088
1089    #premiumModal .benefits-title {
1090        font-size: 14px;
1091        line-height: 20px;
1092        font-weight: 400;
1093        color: #808080;
1094    }
1095
1096    #premiumModal .benefits-section {
1097        padding: 0 20px;
1098        display: flex;
1099        flex-direction: column;
1100        gap: 8px;
1101    }
1102
1103    #premiumModal .modal-footer {
1104        padding: 20px ;
1105    }
1106
1107    #premiumModal .benefits {
1108        list-style: none;
1109        padding: 0;
1110        margin: 0;
1111        font-size: 16px;
1112        color: #374151;
1113    }
1114
1115    #premiumModal .benefits li {
1116        padding: 4px 0;
1117        display: flex;
1118        align-items: center;
1119        gap: 8px;
1120        line-height: 20px;
1121        font-size: 14px;
1122    }
1123
1124    #premiumModal .benefits li::before {
1125        content: "";
1126        width: 18px;
1127        height: 16px;
1128        background-repeat: no-repeat;
1129        background-image: url("/web_assets/frontend/img/icons/tick_pricing.svg");
1130    }
1131
1132    #premiumModal .modal-footer {
1133        display: flex;
1134        justify-content: space-between;
1135        gap: 16px;
1136    }
1137
1138    #premiumModal .continue-btn,
1139    #premiumModal .upgrade-btn-popup {
1140        flex: 1;
1141        padding: 10px 8px;
1142        font-size: 16px;
1143        line-height: 22px;
1144        font-weight: 500;
1145        text-align: center;
1146        cursor: pointer;
1147        text-decoration: none;
1148    }
1149
1150    #premiumModal .continue-btn {
1151        background-color: var(--color-white);
1152        border: 1px solid #E2E4E6;
1153        color: var(--color-lightgray);
1154    }
1155
1156    #premiumModal .continue-btn:hover {
1157        background-color: #F9FAFB;
1158    }
1159
1160    #premiumModal .upgrade-btn-popup {
1161        background: var(--color-headings);
1162        color: var(--color-white);
1163        border: 1px solid var(--color-white);
1164    }
1165    #premiumModal .upgrade-btn-popup,
1166    #premiumModal .continue-btn {
1167        white-space: nowrap !important;
1168    }
1169    @media screen and (max-width: 768px){
1170        /* #premiumModal .continue-btn, #premiumModal .upgrade-btn-popup {
1171            flex: none !important;
1172        } */
1173        #premiumModal .modal-header{
1174            flex-wrap: wrap;
1175            gap: 16px;
1176        }
1177        #premiumModal .modal-content {
1178            width: 343px;
1179        }
1180
1181    }
1182    @media (max-width:360px){
1183        #premiumModal .upgrade-btn-popup,
1184        #premiumModal .continue-btn {
1185            padding: 10px 6px;
1186        }
1187    }
1188</style>
1189<script>
1190    const setFreePlan_popup = (plan_id, paypro_id) => {
1191        $.post("https://www.grammarcheck.ai/set-plan", {
1192                plan_id: plan_id,
1193                paypro_id: paypro_id,
1194                _token: "dQ8lxDQEUBbk3hvStHCZgA0vokSjrIpljr4q6ivc",
1195            })
1196            .done(function(response) {
1197                if (response.success) {
1198                    window.location.href = "https://www.grammarcheck.ai/signup";
1199                }
1200            })
1201            .fail(function(xhr) {
1202                console.error("Error setting session:", xhr);
1203            });
1204    };
1205</script>
1205
1206
1207<script>
1208    const planBenefits = {"17":["History","Advanced Grammar Checks","Check Longer Texts","AI Rephraser for Better Clarity"],"18":["History","Advanced Grammar Checks","Check Longer Texts","AI Rephraser for Better Clarity"],"19":["History","Advanced Grammar Checks","Check Longer Texts","AI Rephraser for Better Clarity"],"20":["History","Advanced Grammar Checks","Check Longer Texts","AI Rephraser for Better Clarity"]};
1209    const benefitsList = document.getElementById('benefitsList');
1210    const toolQueryLimits = {"17":null,"18":null,"19":null,"20":null};
1211
1212
1213    function updateBenefits() {
1214    const selectedPlan = document.querySelector('input[name="plan"]:checked');
1215
1216    if (selectedPlan) {
1217        const planId = selectedPlan.value;
1218        const features = [...planBenefits[planId]];
1219        const credits = toolQueryLimits[planId];
1220
1221        // Replace feature 2 (Advanced Grammar Checks) with credits
1222        if (credits !== null && credits !== undefined) {
1223            features[1] = `${credits} Tool Credits`;
1224            if (credits === 1 || credits === '1') {
1225                features[1] = 'Unlimited Credits';
1226            } else if (credits !== null && credits !== undefined) {
1227                features[1] = `${credits} Tool Credits`;
1228            }
1229        }
1230
1231        benefitsList.innerHTML = '';
1232
1233        features.forEach((feature, index) => {
1234
1235            if (index === 1) {
1236                if (!credits) return; // Skip the Tool Credits <li>
1237
1238                feature = credits == 1
1239                    ? 'Unlimited Credits'
1240                    : `${credits} Tool Credits`;
1241            }
1242
1243            benefitsList.insertAdjacentHTML(
1244                'beforeend',
1245                `<li${index === 1 ? ' class="tool-credits"' : ''}>${feature}</li>`
1246            );
1247        });
1248
1249    } else {
1250
1251        benefitsList.innerHTML = `
1252            <li>History</li>
1253            <li class="tool-credits">
1254                 Tool Credits
1255            </li>
1256            <li>Check Longer Texts</li>
1257            <li>AI Rephraser for Better Clarity</li>
1258        `;
1259    }
1260}
1261
1262    document.addEventListener('DOMContentLoaded', function() {
1263        document.querySelector('#pricingTogglePopup').addEventListener("click", function() {
1264            if ($(this).is(":checked")) {
1265                // Yearly selected
1266                $("label.plan.monthly").addClass("gc-d-none");
1267                $("label.plan.yearly").removeClass("gc-d-none");
1268                $('label.plan.yearly input[type="radio"]').first().prop("checked", true);
1269            } else {
1270                // Monthly selected
1271                $("label.plan.yearly").addClass("gc-d-none");
1272                $("label.plan.monthly").removeClass("gc-d-none");
1273                $('label.plan.monthly input[type="radio"]').first().prop("checked", true);
1274            }
1275            updateBenefits(); // Call updateBenefits after toggle
1276        });
1277
1278        const planRadios = document.querySelectorAll('input[name="plan"]');
1279        planRadios.forEach(radio => {
1280            radio.addEventListener('change', updateBenefits);
1281        });
1282
1283        // Initial update when the page loads
1284        updateBenefits();
1285    });
1286</script>
1286
1287</div>
1288    
1289    
1289<script src="https://www.grammarcheck.ai/web_assets/frontend/script/jquery.min.js"></script>
vendor: 1 bytes, line 1289
1289
1290<script>
1291    const is_tool_premium = 0;
1292    const is_user_premium = 0
1293    let page_lang = $("html").attr("lang");
1294    let tool_specific_lang_ai = page_lang;
1295    let words = "";
1296    const toolSubmitBtn = "Processing...";
1297    const ignoreIsThis = "";
1298    const copiedDataTitle = "";
1299    const copyDataTitle = "";
1300    const maxCharacterHeading = "Text Limit Exceed";
1301    const maxCharacterwarning = "Add some text in the input box";
1302    const inputTextRequiredHeading = "Error";
1303    const inputTextRequiredDetail = "Add Atleast 10 words in the input box";
1304    let maxcharacterMessage =
1305        "Only @words words allowed. Extra Words will be removed";
1306    const invalidFileMessage = "Please upload a valid file";
1307    const noErrorFoundHeading = "";
1308    const noErrorFoundDetail = "";
1309    const feedback_already_submitted = "";
1310    const feedback_thanks = "";
1311    let sampleText = "Sample Text for the Page";
1312    let sampleTextMulti = "";
1313        const rightArrow =
1314        "<img src='https://www.grammarcheck.ai/web_assets/frontend/img/arrow-right-toltip.svg?v=56' alt='right-arrow'>";
1315    const ignore_cross =
1316        "<img src='https://www.grammarcheck.ai/web_assets/frontend/img/icons/cross-ignore.svg?v=56' alt='ignore_cross'>";
1317    const parent_id = 0;
1318    const tool_slug = "";
1319    const tool_id = 0;
1320    const synonym_tool_id = "";
1321    const UserName = 'Guest User';
1322    var IS_MOBILE = 0;
1323    // New Result Keys
1324    const grammar_mistake_text = "Grammar Mistake";
1325    const punct_mistake_text = "Punctuation Mistake";
1326    const spelling_mistake_text = "Spelling Mistake";
1327    const limit_throttle_heading = "Limit Exceeded!";
1328    let limit_throttle_text =
1329        "You have reached the @limit_count limit for this tool. Please try again later.";
1330    const mobile_check_text =
1331        "Try more ways to check grammar in the Grammar Check app";
1332    const open_app_text = "Open Grammar Check App";
1333    const stay_browser_text = "Stay on this page";
1334    const history_popup_heading = "Unauthorized";
1335    const history_popup_detail = "You need to be a premium user to access this feature.";
1336    const sessionExpiredHeading = "Session Expired";
1337    const sessionExpiredDetail = "Your session has expired. Please refresh the page.";
1338    const rephrasing_popup_button_text = "Improvement";
1339    window.assetVersion = "?v=56" || '?v=1.0.0';
1340    
1341    const moon_image = "https://www.grammarcheck.ai/web_assets/frontend/img/icons/moon.svg?v=1.3";
1342    const sun_image = "https://www.grammarcheck.ai/web_assets/frontend/img/icons/sun.svg?v=1.3";
1343</script>
1343
1344
1345<script src="https://www.grammarcheck.ai/web_assets/frontend/script/custom.min.js?v=56">
1346</script>
1346
1347        
1347<script src="https://www.grammarcheck.ai/web_assets/frontend/script/api-docs.min.js?v=56">
1348        </script>
1348
1349                
1349<script>
1350                function toggleMobileMenu() {
1351                    var overlay = document.getElementById('mobilgnuOverlay');
1352                    var hamburger = document.getElementById('hamburgerIcon');
1353                    var close = document.getElementById('closeIcon');
1354
1355                    if (overlay.classList.contains('active')) {
1356                        // Close Menu
1357                        overlay.classList.remove('active');
1358                        hamburger.style.display = 'block';
1359                        close.classList.add('gc-d-none');
1360                    } else {
1361                        // Open Menu
1362                        overlay.classList.add('active');
1363                        hamburger.style.display = 'none';
1364                        close.classList.remove('gc-d-none');
1365                    }
1366                }
1367
1368                function toggleMobileDropdown(element) {
1369                    const menu = element.nextElementSibling;
1370                    const arrow = element.querySelector('img');
1371                    if (menu.style.display === 'none' || menu.style.display === '') {
1372                        menu.style.display = 'flex';
1373                        arrow.classList.remove('arrow_up');
1374                    } else {
1375                        menu.style.display = 'none';
1376                        arrow.classList.add('arrow_up');
1377                    }
1378                }
1379            </script>
1379
1380                    
1380<script>
1381    window.EMD_USER = {
1382        logged_in: false,
1383        name: null,
1384        email: null,
1385        email_verified: false,
1386        is_premium: false,
1387        // 0 = Free, 1 = Premium, 2 = Free Plan — see EmdWebUser::PREMIUM_TYPE
1388        // 'Guest' when logged out, otherwise the PREMIUM_TYPE label
1389        user_type: "Guest",
1390        website: "grammarcheck.ai",
1391    };
1392
1393    Object.defineProperty(window.EMD_USER, 'user_key', {
1394        enumerable: true,
1395        get: function () {
1396            try {
1397                return localStorage.getItem('user-key') || localStorage.getItem('e-track-key') || '';
1398            } catch (e) {
1399                return '';
1400            }
1401        },
1402    });
1403</script>
1403
1404        
1405    
1406
1407    
1407<script src="https://www.grammarcheck.ai/web_assets/frontend/script/emd/script.js?v1.0.1"></script>
1407
1408        
1409        
1409<script
1410            async
1411            src="https://chat.enzipe.com/widget/w.js?v=v2.0.2"
1412            data-key="pk_live_cbteiujqdzbaybnkzeaxoty1"
1413        ></script>
1413
1414            <!-- Google tag (gtag.js) -->
vendor: 72 bytes, lines 1414-1415
1414
1415        <script async src="https://www.googletagmanager.com/gtag/js?id=
1415G-EF5TYDVJ0P
vendor: 20 bytes, lines 1415-1416
1415"></script>
1416        
1416<script>
1417            
vendor: 195 bytes, lines 1417-1423
1417window.dataLayer = window.dataLayer || [];
1418
1419            function gtag() {
1420                dataLayer.push(arguments);
1421            }
1422            gtag('js', new Date());
1423            gtag('config', '
1423G-EF5TYDVJ0P
vendor: 12 bytes, lines 1423-1424
1423');
1424        
1424</script>
1424
1425    
1426    
1427    
1427<script async defer src="https://www.grammarcheck.ai/web_assets/frontend/script/emd/etrack.js?v1.0.2"></script>
1427
1428            
1428<script>
1429            window.WebsiteTrackerConfig = {
1430                endpoint: '\/emd\/tracker-click',
1431                inactivity_delay_ms: 5000
1432            };
1433        </script>
1433
1434        
1434<script async defer src="https://www.grammarcheck.ai/web_assets/frontend/script/emd/tracker.js?v1.1.0"></script>
1434
1435        
1436
1437    
1438            
1438<script src="https://www.gstatic.com/firebasejs/9.22.0/firebase-app-compat.js"></script>
1438
1439        
1439<script src="https://www.gstatic.com/firebasejs/9.22.0/firebase-messaging-compat.js"></script>
1439
1440        
1440<script>
1441            window.EMD_FIREBASE_CONFIG = JSON.parse('{\u0022apiKey\u0022:\u0022AIzaSyAkHU36rSwUvIM_HYMt1zRwjAHLIeFXR2s\u0022,\u0022authDomain\u0022:\u0022grammarcheck-ai-website.firebaseapp.com\u0022,\u0022projectId\u0022:\u0022grammarcheck-ai-website\u0022,\u0022storageBucket\u0022:\u0022grammarcheck-ai-website.firebasestorage.app\u0022,\u0022messagingSenderId\u0022:\u0022175926130272\u0022,\u0022appId\u0022:\u00221:175926130272:web:fdb9c7e272e1210b803505\u0022}');
1442            window.EMD_FIREBASE_VAPID_KEY = "BN5F-M9YZsPZ7qh1MjP9PBb83P93CU7odv3BPY34FOBRViAveB0FzQlu8tGGJQ0xTAegLrUoDVn0-WLlD3Xq0s4";
1443        </script>
1443
1444        
1444<script src="https://www.grammarcheck.ai/web_assets/frontend/script/emd/firebase-push-notification.js?v1.0.0"></script>
1444
1445    
1446<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"4c9c23e955a4498cb27c80f2d973db76","r":1,"spa":2}' crossorigin="anonymous"></script>
1446
1447</body>
1448
1449</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.