A product by Einscube

LintGrafía

A spelling and grammar linter that reviews the page as your customer sees it, not as it is written in your code. In more than 30 languages, even on localhost and staging.

  • Free, no account
  • 30+ languages
  • Works on localhost
  • Can use your own server

The typo you spot after deploying

It shows up on the "Buy" button, in a form error message, or in the confirmation email. Never in the paragraph somebody proofread three times, because that one was already proofread.

The reason is structural: product copy does not live in a document. It lives spread across templates, translation files, API responses and states that only exist while the application is running. An editor spell checker sees the code; the browser one sees the pages you happen to open. Neither sees the whole interface.

LintGrafía looks at the other side: the text already painted on screen, with its variables substituted and its plurals resolved. It is the only place where the copy is complete — and it is exactly what your customer will read.

Version 2.0.0

What’s new

  • More than 30 languages

    Spanish, English, Portuguese, French, German, Catalan, Italian, Dutch and many more.

  • Each part of the page in its own language

    It detects the language from each element’s lang attribute: a bilingual page is checked in parts, each against its own dictionary.

  • Native Chrome side panel

    It no longer sits on top of the page or shifts its layout: the review lives beside it, not over it.

  • Highlighting without touching the DOM

    Errors are marked with the CSS Custom Highlight API, without adding elements to the page. It does not interfere with React, Vue, Angular or any other framework.

  • Interface in three languages

    Spanish, English and Portuguese.

What it does

Analysis powered by LanguageTool

It goes beyond spelling: grammar, agreement and style too, each error with its suggested corrections.

One colour per error type

Spelling, grammar and style are highlighted on the page itself in different colours, and hovering shows a tooltip explaining what is wrong.

From the error to your code, fast

The panel walks through errors one by one with the message, suggestions, context and the element’s DOM selector, so you can find it in your code straight away.

Automatic or forced language

It works it out from the page or you set it, with regional variants: US or UK English, Brazilian or European Portuguese, and so on.

Checks what other spell checkers miss

Text loaded by JavaScript, sticky menus, and words split by tags such as <b> or <em>.

Custom dictionary

"Frontend", "deploy" or your brand name stop being flagged the moment you add them. Export and import it as JSON to share it with your team.

How it works

  1. 01

    Install it in Chrome

    From the Chrome Web Store, like any extension. It asks for no account.

  2. 02

    Open the page you want to review

    Your production site, a staging branch, or the app you have running on localhost.

  3. 03

    Open the panel and scan

    Errors appear highlighted on the page itself and listed in the side panel, each with its suggestion.

Install on Chrome

Why we built it and how it works inside: read the blog post.

Who it is for

Product teams
Interface copy gets written in pieces: a button here, an error message there, an automated email nobody rereads. No text editor sees them together; the page does.
QA and pre-launch review
One pass over the critical screens before deploying finds in minutes what a customer would otherwise find on their own.
Agencies and studios
Shipping a site with a typo in the headline costs more than the typo: it costs the awkward conversation and the sense that everything else was rushed too.
Translation and localisation
Translated text reaches the interface truncated, concatenated and with variables inside. That is where agreement breaks, and it only shows at runtime.

What happens to your text?

Worth saying plainly, because it is the first question any serious team asks: analysing the text means sending it to an analysis engine. By default, that engine is the free public LanguageTool API, which receives the visible text of the page you scan and allows about 20 requests per minute.

If you work with material under NDA, with customer data on screen, or inside a policy that does not allow that, set the URL of your own LanguageTool server (with Docker, for example). In that mode the text goes from your browser to your server and never leaves your network. Either way, the extension needs no account and collects no data, and the dictionary is stored only in your browser.

Frequently asked questions

Which languages does it check?

More than 30: Spanish, English, Portuguese, French, German, Catalan, Italian, Dutch and many more. By default it detects the language from each element’s lang attribute, so a bilingual page is checked in parts. You can also force one and pick its regional variant.

What is sent, and where?

The visible text of the page you scan is sent to the LanguageTool engine to be analysed. By default that is their free public API, which allows about 20 requests per minute. If that does not fit your policies, set the URL of your own LanguageTool server (with Docker, for example) and the text never leaves your network. The extension collects no data and the dictionary is stored only in your browser.

Does it modify my code or my content?

No. It reads the already-rendered text and marks errors with the CSS Custom Highlight API, without adding or changing any element on the page, so it does not interfere with React, Vue, Angular or any other framework. It never touches your source and publishes nothing: you make the fix wherever it belongs.

Does it work with apps on localhost?

Yes, and that is its main use case. Reviewing before deploying is exactly the moment when fixing a typo costs nothing. It also works on access-restricted staging environments, because the analysis runs in your browser with your session already signed in.

Does it work in other browsers?

It requires Chrome 116 or later, and it also works in Edge, Brave and Opera, which install from the Chrome Web Store. Firefox and Safari use a different extension system and it is not published for them today.

Does it cost anything?

No. It is free and needs no account. If you run your own LanguageTool server, the cost is that server, which is also open source.

What about technical terms it flags as errors?

Add them to the custom dictionary and they stop appearing. It is the first thing worth doing: half an hour up front loading your product vocabulary prevents the noise that makes these tools get ignored. Then export it as JSON and your team imports it.

How do I report a bug in the extension?

Email us at info@einscube.com with the extension version, your browser version, the page where it happened and what you expected. At the end of this page there is a link that opens the email with that template already filled in.

Found a bug?

If the extension flags something that is not an error, misses an obvious one, highlights the wrong spot or the panel stops responding, tell us. Every report reaches the people who maintain it.

So we can reproduce it, include:

  • The extension version and your browser version.
  • The page URL, if it is public. If not, a snippet of the affected text.
  • The page language and the one selected in the extension.
  • What you expected and what happened. A screenshot helps a lot.

Why did we build it?

Because we were doing it by hand. On every delivery we walked screen by screen looking for missing accents, and one still slipped through. Automating that review was, literally, what we recommend to our clients: take the repetitive task everybody does badly out of tiredness and hand it to a machine.

If you have a process like that — repetitive, tedious, with consequences when it fails — chances are it can be automated too.

How we automate processes →

Install it and run it over your own site

It is free, needs no account, and the first pass usually finds something.

Install on Chrome

Did it find three errors?

If you want them to stop happening, that is a conversation we are happy to have: reviewing your interface copy and automating the repetitive part.

We reply within one business dayBogotá · UTC−5

Message us on WhatsApp (opens in a new tab)