Font finder
What font is this? Match a picture of text to free fonts, in your browser.
Drop an image of text hereChoose a photo of some text
Or paste one (Ctrl+V or ⌘V). A screenshot works best; a photo works if the text is flat on and sharp. The image stays on this device: nothing is uploaded.
No image to hand? Try a sample:
In short
Drop, paste or photograph an image and the matches appear: the page finds the lines of text, reads the letters of the largest, and compares each one with the same letter in 1,956 free Google Fonts families. There is nothing to type. It runs in your browser: the image is never uploaded, which no other font identifier we know of can say.
What font identification is
Working out which typeface an image of text was set in, by comparing the shapes of its letters with the same letters in known fonts. It answers "which font is closest", which is only the same as "which font is it" when the right font is in the catalogue being searched.
What this tool does that others do not
Your image never leaves the tab
Every other font identifier uploads the picture to a server. Here the crop is read and compared in Web Workers on your device; the only downloads are a letter reader and a shape database from this site, fetched once, when your first image arrives.
The shape database is 3.1 MB and the reader 3.1 MB (compressed), covering 1,956 Google Fonts families; check the Network panel while it matches.
Nothing to type, and the reading on show
The page reads the letters itself, then compares each one only with that letter in every font: the "g" in your image with each font’s "g". The reading is shown above the matches as "Read as", so a misread letter is visible; editing it is optional, with a tile per shape showing which letter it is paired with.
On 299 degraded test images the right family reached the top five 75.3% of the time with nothing typed, against 79.3% with every letter typed correctly.
Strength in words, tied to how often it was right
A match score is a distance, not a probability, so there are no percentages. "Very likely this font" is said only for scores that were the right answer 89% of the time on test images; "Possibly" for scores that were right 41% of the time.
Calibrated on 360 validation images; see the research notes for the method.
Paid look-alikes, with the reason for each
Commercial fonts cannot be shown or matched here, so they come from a curated list instead: Arimo has Arial’s character widths, Libre Franklin revives Franklin Gothic, and so on. Each link says whether the relationship is identical metrics, a revival, a named influence or only the same style.
How to use it
Drop, paste or pick an image
A screenshot works best. A photo works if the text is flat on to the camera and in focus. On a phone, Choose an image opens the photo picker and Take a photo opens the camera.
Read the matches
The page draws a dashed box round each line of text it finds, reads the one with the largest letters and shows the matches, closest first, each set in the words it read, with a Get it free link and Copy CSS. Paid look-alikes are listed separately.
Tap another line, if you want that one
Tap another dashed box and it is read and matched in turn. Drag the corners or side handles to adjust a box, or press Draw my own box; it matches again when you let go. On a keyboard, arrows move the box and Shift with arrows resizes it.
Fix a misread letter, if there is one
Read as shows the letters the match used. If one is wrong, Edit the letters opens a tile per shape with the letter it is paired with; correct it and press Find the font. Capitals as capitals. You never have to.
Worked examples
Real input, real figures.
A screenshot of a heading
You give it
“Lantern Records” in Playfair Display Italic, captured from a browser at twice pixel density.
You get
Playfair Display comes first, with nothing typed. Across 150 test screenshots of random Google Fonts families, the right family was first 80.0% of the time and in the top five 87.3%.
Small, blurry text
You give it
A line set at 14–16px, saved as a low-quality JPEG with noise and a colour cast.
You get
The right family reached the top five only 56.9% of the time, against 86.7% for 41–48px text. The page says when the letters are under about 12 pixels tall rather than presenting a weak list as a strong one.
Against a typical font identifier
| Aspect | This tool | A typical identifier |
|---|---|---|
| Your image | Read in your browser, never uploaded | Uploaded to a server |
| Catalogue | 1,956 free Google Fonts families | Hundreds of thousands, mostly paid |
| Confidence | Words tied to a measured hit rate | A percentage, or nothing |
| Paid fonts | Documented relatives, labelled by basis | Ranked as if matched |
| Limits | Daily searches unlimited, no account | Often a daily cap on the free tier |
Guide
What it will not do
- It can only name fonts in its catalogue: 1,956 open-licence Google Fonts families. A commercial font in your image will come back as its closest free relative.
- Latin letters and digits only. Other scripts are not compared.
- Handwriting and connected scripts match poorly: their letters touch, so they are hard to read and to cut apart (50.0% top five on test images, against 83.3% for sans serifs). Editing the letters helps a little; typed correctly they reached 60.4%.
- Logos and custom lettering are usually drawn, not set in a font, and are often misread: the answer is the closest free style, not the logo’s typeface.
How the match works
First the page looks for lines of text in the whole image. It finds letter-sized shapes that stand out from their surroundings, dark on light or light on dark, and chains shapes of a similar height on one band into a line. Each line gets a dashed box you can tap; the one with the largest letters is chosen for you, because large letters match best. An image that is already a single line starts with the whole picture. Tap another box to match that line instead; if the box is wrong, drag the corners or draw your own, and it matches again when you let go.
Then the page reads the letters, with Tesseract, the open-source text recogniser, running in your browser. The reading is checked against the shapes: each letter it found is cut out and compared with every letter of every font, and the fonts are ranked on whichever reading, Tesseract's or the shapes' own, explains the image better. What was read is shown above the matches. If a letter is wrong you can edit it and search again, with a tile per shape showing which letter it is paired with; you never have to.
The crop is turned into ink coverage: the page works out which colour is paper and which is ink, flattens uneven lighting, and keeps the soft edges of each letter rather than forcing them to black and white. It then finds the separate shapes and lines them up with the letters that were read. Where letters touch, it splits the shape where each letter's usual width says the join should be; where a letter is in pieces, like an i and its dot, it joins them.
Each letter is scaled into a 20 × 20 grid and compared with the same letter, drawn the same way, from every font in the database. The database holds all 63 shapes (a–z, A–Z, 0–9 and the ampersand) for 3,107 styles: the regular, bold and italic of each family where it has them. Weights in between, such as 500 and 600, are compared too, by blending regular and bold, which is how variable fonts draw them.
The shape database is 3.1 MB, compressed, and the letter reader 3.1 MB. Both are downloaded from this site when your first image arrives, not when the page opens, and your browser keeps a copy for later visits while it has room.
What it can find, and what it cannot
It can name only fonts it holds: 1,956 open-licence families from Google Fonts. Most logos and printed matter use commercial fonts, and for those the honest answer is the closest free font, not the font itself. That is why the page never says "match: 97%". It says "Very likely this font" only for scores that were the right answer 89% of the time on test images, and "Possibly" where it was right 41% of the time.
On 299 test images of fonts picked at random from the catalogue, with random colours, blur, noise, slight rotation and heavy JPEG compression, reading the letters itself from the box it suggests, the page put the right family first 61.2% of the time and in the top five 75.3%. On 150 real browser screenshots it came first 80% of the time and in the top five 87.3%. Typing the letters correctly instead does a little better, 79.3% and 89.3% in the top five, because a misread letter is compared with the wrong letter: that is what Edit the letters is for.
Four things make it worse. Small text: below about 12 pixels per letter the shapes are mostly blur, and the page tells you when your crop is that small (text set at 14 to 16 pixels reached the top five 56.9% of the time). Handwriting and script faces: their letters join, so they are hard both to read and to cut apart. Logos and lettering drawn for one word: they are rarely a font at all, so the answer is only the closest style. And text that is not Latin: only Latin letters and digits are read and compared.
Free fonts and paid ones
Every match is free to use, under the SIL Open Font Licence, the Apache licence or the Ubuntu Font Licence, and each links to its Google Fonts page and to Fontsource for self-hosting. The previews on this page are drawn from copies of the font files served by this site, so looking at a match does not contact Google either.
Paid fonts cannot be shown or compared here, because their licences do not allow it. Instead the page keeps a list of 25 commercial typefaces with documented free relatives, and says what the relationship is. The strongest is identical character widths: Arimo for Arial, Tinos for Times New Roman, Cousine for Courier New, Carlito for Calibri, Gelasio for Georgia. A document set in one reflows exactly the same in the other. Next come revivals of the same historical design, then fonts whose designers name the paid one as an influence, and last, clearly labelled, fonts that are only the same style of letter.
Checking that nothing was uploaded
Open your browser's developer tools, choose the Network panel, and add an image. You will see the letter reader, the shape database and the preview fonts arrive from dsyn.studio. The one request that goes out is the site's cookieless page-view counter, Cloudflare Web Analytics, which is sent when the page opens and carries the page address, not your image or your text (see the privacy page). Reading and matching send nothing. Once both have loaded you can switch off your connection and try another image.