GitHub: a pull request does not show an image or document diff
GitHub can display several common image formats, including PNG, JPG, GIF, PSD and SVG, and compare the differences between versions of them; commits and pull requests that include prose documents can show those documents in a source and a rendered view (GitHub's working with non-code files, checked October 28, 2026). Some files and some changes are left out of these views.
What GitHub shows
- Images: three modes compare two versions of an image. 2-up is the default and shows both images; if the image changed size, the dimension change is displayed. Swipe shows portions of the image side by side under a slider, and onion skin has an opacity slider for elements that moved by small amounts (rendering and diffing images).
- Prose documents: the source view shows the raw text, and the rendered view shows how the text looks once rendered on GitHub; this rich diff highlights what was added and removed. The rendered view is for the formats that github/markup supports: Markdown, AsciiDoc, Textile, ReStructuredText, Rdoc, Org, Creole, MediaWiki and Pod (rendering differences in prose documents).
- Attributes: a change that is not visible in the rendered document, such as a link URL, is described in a tooltip.
Why it is not shown
- A PSD file: GitHub does not support comparing the differences between PSD files.
- An SVG in Firefox: SVGs on GitHub may not render in the Firefox browser, and SVGs do not support inline scripting or animation.
- A complex document: when the changes to large, complex documents take too long to analyze, GitHub cannot always produce a rendered view, and you see an error message when you click the rendered button (viewing complex diffs).
- An HTML document: GitHub does not directly support rendered views of commits to HTML documents. In a format such as Markdown that embeds HTML, some of the embedded HTML can be shown, and some, like an embedded YouTube video, cannot.
- Too many renderable files: a single diff shows at most 25 renderable files, such as images, PDFs and GeoJSON files (see a file diff not shown).
- A CSV or TSV file that does not render: when you view the file, a message above the raw text suggests the error. Common errors are mismatched column counts (every row needs the same number of separators, even if a cell is blank), a file larger than 512 KB, and unsupported delimiters, such as semicolons instead of commas (rendering CSV and TSV data).
What to do
- Use the source view: when there is no rendered view of a complex diff, you can still use the source view to analyze and comment on the changes. Comments go in the source view, on a line-by-line basis.
- Look at both views: GitHub says to review changes to documents containing embedded HTML in both the rendered and the source view.
- See the source of a Markdown file: when you view a Markdown file, click Code at the top of the file to turn off Markdown rendering; the source view lets you link to lines.
- Fix the CSV: give every row the same number of separators, use commas, and keep the file under 512 KB.
In IntelliJ IDEA: images open in the image editor, documents are compared as text
How the GitHub support built into IntelliJ IDEA shows a changed image or document in a pull request, in its source (checked October 31, 2026; IntelliJ IDEA: GHPRDiffChangeViewModel.kt, ChangeDiffRequestProducer.java, DiffContentFactoryImpl.java, BinaryEditorHolder.java, images plugin.xml, SvgFileType.java):
- The diff for any change: each file opens in the diff the IDE uses for any version-control change, with both versions read from git (how the files are listed and fetched: a file diff is not shown).
- Images: a file of a binary type is not compared as text; each side opens in the first editor the IDE has for the file, which for the Image file type is the image editor. That type covers png, jpg, gif, bmp, tiff and psd, among other extensions. SVG is treated the same way, because its file type is one the source shows as binary, so an SVG opens as an image, not as XML. When the IDE has no editor for the type, that side shows a message instead.
- Documents: Markdown and other text files are compared as text, the way GitHub's source view shows them.
GitHub pull requests in IntelliJ IDEA
Pull Request Inbox for GitHub, a plugin by Lesstep for JetBrains IDEs 2024.1 or later, shows a pull request's reviews, checks and conversations next to the diff, and merges it with the methods the target branch allows. It opens each changed file in the IDE's diff, with the file read from GitHub at the merge base and at the head commit. An image or another file that is not text opens as a file, with the IDE's own viewer for its type, so an image shows as an image rather than as text. The review inbox, diffs and conversations are free; approving, commenting, resolving and merging are Pro (US$1.50 a month, with a 30-day trial).
GitHub is a trademark of GitHub, Inc.; IntelliJ IDEA is a trademark of JetBrains s.r.o. This page is not affiliated with or endorsed by GitHub, Inc. or JetBrains.
More: GitHub merge refused (405, 409) · GitHub review refused (422) · GitHub search 422 "Validation Failed" · "Resource not accessible by personal access token" · 401 "Bad credentials" · "Resource protected by organization SAML enforcement" · "API rate limit exceeded" · GitHub diff 406 "too_large", 3,000 files · GitHub line comment 422 "must be part of the diff" · GitHub branch update refused (422) · GitHub pull request not created (422, 403) · GitHub auto-merge refused · GitHub draft, ready for review or close refused · GitHub conversation not resolved · GitHub checks not shown (check runs 403) · GitHub file contents not read · GitHub compare refused (404, 422) · GitHub comment or reply refused (403 locked, archived) · GitHub merge method not allowed (405) · GitHub branch not found (404, 301) · GitHub Enterprise Server not reached · GitHub review request not shown · GitHub pull request list incomplete · GitHub 404 Not Found, renamed repositories (301, 307) · GitHub line comment outdated or not on the diff · GitHub pull requests not updating, notifications late · GitHub suggested change cannot be applied · GitHub required check stuck at "Expected" · GitHub code owner review required · GitHub merge blocked by unresolved conversations · GitHub merge blocked by unsigned commits · GitHub branch that merges through a merge queue · GitHub merge waiting for an approval of the most recent push · GitHub merge waiting for code scanning results · GitHub merge waiting for code quality results · GitHub merge blocked by a code coverage threshold · GitHub merge blocked by license compliance results · GitHub branch locked or its updates restricted · GitHub branch not deleted after merging · GitHub merge waiting for a team's approval (Required reviewers) · GitHub merge blocked by secret scanning alerts · GitHub stacked pull request not merging · GitHub push blocked by push rules · GitHub merge blocked by commit metadata rules · GitHub force push blocked · GitHub issue not closed by a merged pull request · GitHub pull request not checked out locally · GitHub pull request has merge conflicts · GitHub changes requested and dismissing a review · GitHub co-author not credited for a commit · GitHub dependency review check failed · GitHub Dependabot not rebasing its pull request · GitHub fork not syncing with upstream · GitHub pull request base branch not changing · GitHub pull request not reverting · GitHub pull request template not showing · GitHub pull request labels or assignees not added · GitHub pull request not closing or reopening · GitHub push blocked by push protection · GitHub pull request comment hidden · GitHub pull request blocked until deployments succeed · GitHub team review request replaced by members · GitHub pull request file no longer marked Viewed · GitHub pull request marked merged without being merged · GitHub Copilot review does not count as an approval · GitHub checks not running on a pull request a workflow created · GitHub Update branch button not shown on a pull request · GitHub checks failing on a Dependabot pull request · GitHub checks failing on a pull request from a fork · GitHub checks skipped by [skip ci] in a commit message · GitHub checks gone after the retention period · GitHub code review limits in a public repository · GitHub pull requests turned off or limited in a repository · GitHub checks run on every pull request in a stack · GitHub pull request showing commits already squash merged · GitHub pull request not showing a file diff · GitHub push to a pull request branch from a fork refused · GitHub check cancelled on a pull request · GitHub Rebase and merge not available · GitHub merge commit message not what you expected · GitHub pull request shows every line changed · GitHub API request timed out · GitHub review request refused (422) · GitHub pull request from Copilot: checks not running, approval not counted · GitHub push refused: GH006 and GH013 on a protected branch · GitHub "At least 1 approving review is required", approvals that do not count · GitHub pull request plugins for IntelliJ IDEA, compared · 日本語