Quick Summary: Journals reject figures for boring reasons: wrong DPI, JPEG graphs, column widths that do not match, and files that are too large. Check metadata before submission. Use the free Journal Figure Spec Checker in the browser — PNG, JPEG, and TIFF are parsed locally. Confirm the live author guidelines for your venue; specs drift.
Table of Contents
- Why figures get sent back
- What the checker actually reads
- Venues covered
- How to export correctly
- Common failures
- Frequently Asked Questions
- Conclusion
Why figures get sent back
Peer review is slow. Production is picky. A Nature or IEEE production editor does not care that your plot “looks fine on a Retina laptop.” They care about:
- Printed width matching single, 1.5, or double column (in millimetres)
- DPI at that width — photos often 300, line art 600–1200
- File format — TIFF/EPS/PDF for many journals; JPEG graphs get bounced
- Color mode — RGB vs CMYK
- File size — PNAS and PLOS caps are tight
If DPI is not embedded, many tools assume 72 DPI. That turns a 2400-pixel figure into a tiny print blob. Re-export with resolution set.
What the checker actually reads
The Journal Figure Spec Checker does not guess from a screenshot of your desktop. It reads bytes:
- PNG — IHDR size + pHYs DPI
- JPEG — SOF dimensions + JFIF/EXIF DPI
- TIFF — IFD width, height, resolution unit
Then it compares print millimetres (pixels ÷ DPI × 25.4) to the venue’s column widths, height cap, format list, color mode, and max megabytes. Parsing stays in the browser. The file is not uploaded.
Also Read: Vector vs raster images in LaTeX
Venues covered
The tool ships with typical specs for:
- Life / multi: Nature, Nature Communications, Science, Science Advances, Cell, PNAS, eLife, PLOS ONE, NAR, Bioinformatics
- Medical: JAMA, NEJM, The Lancet, BMJ
- Physics / chemistry: PRL, JACS, Angewandte, ACS Nano
- IEEE / ACM journals: IEEE Transactions, IEEE Access, TPAMI
- CS journals: JMLR, TMLR
- Conferences: NeurIPS, ICML, ICLR, CVPR, ICCV, ECCV, ACL, EMNLP, AAAI, CHI, KDD, SIGGRAPH, Springer LNCS
- Preprint: practical arXiv recommendations (not a journal rule)
Treat these as a pre-flight, not a lawyer. Always open the current author PDF for your year.
How to export correctly
- Decide column: single vs double before you draw the figure
- For graphs, export PDF or EPS (vector). Rasterize only if the journal forbids vector
- For photos / microscopy, export TIFF or PNG at ≥ 300 DPI at the printed millimetre width
- Set DPI in the exporter (matplotlib
dpi=, Illustrator/Inkscape document raster effects, Photoshop image size) - Run the checker, then include with
\includegraphics[width=\columnwidth]— do not let LaTeX silently upscale a 400-pixel PNG
Related: insert images in LaTeX and academic figures.
Common failures
- Screenshot from a slide deck saved as JPEG at 72 DPI
- Seaborn/Matplotlib default PNG without DPI metadata
- Line art at 300 DPI when the journal wants 1000
- A 25 MB TIFF into a 10 MB PLOS/PNAS slot
- CMYK TIFF into an RGB-only workflow (or the reverse)
- Figure wider than the double-column max — production will shrink it and kill the fonts
Frequently Asked Questions
Q1: Does this replace the journal’s own checker (PACE, etc.)?
No. PLOS PACE and publisher upload validators still win. This is a local pre-flight so you do not discover the problem at 11:58 p.m. on the deadline.
Q2: Why is my PNG “assumed 72 DPI”?
No pHYs chunk. Re-export with physical resolution set, or convert through a tool that writes DPI metadata.
Q3: Can I check EPS or AI files?
Not in the browser parser. Export a TIFF/PNG/PDF raster or use the journal’s vector pipeline. The spec list still tells you whether EPS/AI is allowed.
Q4: Are conference specs the same as IEEE journals?
Often close (CVPR/ICCV ≈ IEEE two-column millimetres) but not identical. ACL/EMNLP columns are narrower. LNCS is smaller still. Pick the venue in the dropdown.
Conclusion
Figure specs are a checklist, not a vibe. Measure DPI, width, format, and size against the venue, then confirm the official PDF. Run the free Journal Figure Spec Checker before you compile the camera-ready.