What GitHub does with a Markdown file, and where an image fits
GitHub takes Markdown through a commit, the same as any other file in the repository, and that is the door this page is about. The question worth asking is what an image looks like by the time it arrives, because GitHub never sees the image itself. It sees whatever the conversion handed over, and nothing else.
GitHub renders the file on the web and diffs it line by line on every later change. What comes out of an image here is the text of the image as Markdown, with a table rebuilt when the image held one, so the structure GitHub is looking for is actually present instead of merely implied. That is the entire trick, and there is nothing clever underneath it.
What survives from an image into GitHub
The conversion drops the background, the stamps, the shadows and the skew of the scan before GitHub ever sees them, because none of it carries meaning into GitHub and all of it costs something. What it keeps is the part you would otherwise have retyped by hand.
- The text comes out in reading order rather than in scan order, and GitHub receives it as structure rather than as something to infer.
- A visible table is rebuilt as a Markdown table instead of collapsing into a line of words, which is the part GitHub would otherwise have to reconstruct on its own.
- References and figures are read character by character, which is the part people retype by hand, so nothing downstream of GitHub has to guess at it.
What GitHub never gets back from an image
Every conversion costs something, and a page listing only the gains is a sales page. Here is what an image gives up on the way to GitHub, stated plainly enough that you can decide against it.
- Layout and colour are gone, and a colour that meant something meant it only to a human, and GitHub will not get it back from anywhere.
- Anything too small or too blurred to read is not returned, and not flagged either, so nothing you build in GitHub should depend on it.
- Certainty is gone: a model is reading, and a model can be wrong while sounding sure, which is a real cost inside GitHub and not a rounding error.
The Image to Markdown step behind this GitHub page was measured
Gemini 2.5 Flash Lite does the conversion, and it was proven end to end on 30 August 2026: a purchase order image built for the occasion, carrying a unique reference, came back with the reference, the quantity and the unit price all read correctly. That is one run on one day and not an average, which is exactly why the date travels with the claim instead of being left out of it. The same output is what GitHub would have received.
This capability returned nothing at all until 30 August 2026, and two probes failed that same day before the quota was restored. GitHub has no way of telling you any of that from the inside, so it gets said here instead, on the page that sent you there.
Once the image is Markdown, what to do inside GitHub
With the Markdown in hand, wrap the prose one sentence a line before the first commit, so a later edit shows up as one changed line. That is a GitHub habit rather than a conversion setting, and it is where most of the value of converting an image in the first place actually lands.
The constraint worth knowing before you start: a diff is only readable when the lines are short, and a converted document rarely has short lines. It bites the same way whether the Markdown came out of an image or out of something else entirely, but it bites hardest on long documents, which is what an image usually is.
What we will not pretend about Image in GitHub
- GitHub will quietly ignore any markup outside the subset its renderer documents, and converting an image first does not change that in the slightest.
- a file committed as one enormous line makes every future review unreadable, which is a GitHub behaviour rather than anything the image conversion did.
- The conversion costs half a credit and the price is shown before the image is sent, whether the Markdown ends up in GitHub or nowhere at all.