LabCanvas
Free account · save your work, full figure editorSign up free

Journal figure checker: resolution, colour, fonts and lines before submission

Open a figure (TIFF, PNG, JPEG, SVG or PDF), choose the journal (Nature, Science, Cell Press, Elsevier, PLOS, ACS, RSC, Wiley, Springer, PNAS, eLife, Frontiers, MDPI or IEEE), the column width and the kind of figure, and the checker lists what passes, what needs a look and what the journal will send back: the effective DPI at that width against the journal’s minimum for photos, combination figures or line art; the DPI recorded in the file; the size against the height limit; RGB, CMYK or greyscale; bit depth, transparency and colour profile; the format and file size; the JPEG quality, estimated from the file’s quantisation tables; and for SVG and PDF, the font sizes and line widths at the final size, live text versus outlines, embedded fonts and the resolution of placed images. It also looks for colours that red–green colour-blind readers cannot tell apart. It then resamples, converts CMYK to RGB and flattens transparency, saves an LZW TIFF or a PNG with the DPI recorded, and sends the figure to the LabCanvas editor for what pixels cannot fix. The file stays in your browser.

What it does
Checks a figure against a journal’s artwork rules (resolution at the print width, size, colour mode, bit depth, transparency, ICC profile, format, file size, JPEG quality, and font sizes and line widths in SVG or PDF) and fixes what can be fixed safely.
Formula
dpi=pixels acrosswidth (mm)÷25.4final size=size in file×final widthfile width
Example
A 1200 px graph at Elsevier’s 90 mm column: 90 ÷ 25.4 = 3.543 in, 1200 ÷ 3.543 = 338.7 dpi, so it fails the 1000 dpi line-art rule (3543 px needed). A 504 pt (7 in) wide PDF with 8 pt tick labels, scaled to 90 mm (255.1 pt), has 8 × 255.1 ÷ 504 = 4.05 pt labels, below Elsevier’s 6 pt.

Last updated

FreeNo sign-upRuns in your browserFigures

Loading Journal figure checker…

At a glance

Journal figure checker at a glance
Formuladpi=pixelsmm÷25.4
JournalsNature, Science, Cell Press, Elsevier, PLOS, ACS, RSC, Wiley, Springer journals, PNAS, eLife, Frontiers, MDPI, IEEE journals
InputTIFF (8 or 16 bit, RGB, greyscale or CMYK; uncompressed, LZW, PackBits or Deflate), PNG, JPEG, SVG, PDF; EPS for format and size only
Output8-bit TIFF with LZW and DPI tags, or PNG with the DPI recorded; the SVG or fixed image in the LabCanvas editor
CheckedPublisher guidelines checked 10 November 2026
Runs inYour web browser; nothing is uploaded
PriceFree, no account needed

What it does

How to use the journal figure checker

  1. Choose the journal and sizePick the journal, the column width (single, 1.5 or double, or your own in mm) and the kind of figure: photo or micrograph, combination, or line art. The kind sets the dpi the journal asks for.
  2. Open the figureDrop the TIFF, PNG, JPEG, SVG or PDF you plan to submit. The report lists every check as fail, warn, pass or info, with what was found and why it matters.
  3. Fix and downloadResample or only record the DPI, flatten transparency and save an LZW TIFF or a PNG with the DPI written in it. For small text, thin lines and red–green colours, open the figure in the LabCanvas editor.

How it works

effective dpi=pixels acrosswidth (mm)÷25.4pixels needed=width (mm)25.4×dpisize at final width=size in file×final width (pt)width in file (pt)

Resolution. A raster figure has a fixed number of pixels; the journal judges how many fall in each inch once it is printed at the column width. One inch is 25.4 mm, so a figure 89 mm wide is 3.504 inches, and 1200 pixels across it are 1200÷3.504=342.5 dpi. Publishers set the minimum by the kind of figure: photographs and micrographs (halftones) about 300 dpi, combination figures (images with text or lines) 500–600 dpi, line art (graphs, drawings) 600–1200 dpi, because thin lines and small letters show their pixel steps first. The checker uses the journal’s own number; where the guideline gives none (Nature, for example, wants line art as vector files instead), it uses 600 dpi for combination figures and 1000 dpi for line art as benchmarks and can only warn, never fail, on them. ACS asks 600 dpi for greyscale images, which the checker applies when the image is greyscale.

Recorded DPI. PNG files store it in the pHYs chunk, JPEG in the JFIF header or EXIF, TIFF in the XResolution and ResolutionUnit tags. It changes no pixels, only the size programs place the image at: 1200 pixels recorded at 72 dpi are placed 1200÷72×25.4=423.3 mm wide. The checker warns when it does not match the chosen width; recording the right DPI (without resampling) fixes it.

Colour mode, bit depth, transparency and profile. These are read from the file, not guessed from the pixels: TIFF photometric interpretation, ink set, bits per sample, extra samples (alpha), Photoshop layer data and the ICC profile tag; JPEG component count, the Adobe APP14 transform (CMYK or YCCK), sampling factors and ICC_PROFILE segments; PNG colour type, bit depth, tRNS, iCCP and sRGB chunks. Alpha is reported as “in use” only when some pixel is not fully opaque. Most journals now publish online first and ask for RGB; CMYK files are converted to RGB with the embedded profile where the browser applies one, otherwise with R=255(1−C)(1−K), which is labelled as not colour-managed.

JPEG quality. A JPEG’s quality setting is not stored, but its quantisation tables are. Software built on libjpeg (Pillow, ImageJ, most cameras’ and plotting programs’ exports) scales the standard tables of ITU-T T.81 Annex K by 5000/q below quality 50 and 200−2q above it. The checker computes the tables for every quality from 1 to 100 and reports the one that matches; when no quality matches exactly (Photoshop and others use their own tables) it reports the nearest by average step size and says it is an estimate. Graphs and figures with text should not be JPEG at all; photos below quality 90 get a warning.

SVG and PDF. A vector figure has no fixed size in print, so the checker scales it to the chosen width and measures what is inside. In an SVG it reads each text element’s computed font size and each stroke’s width, multiplied by every transform above it. In a PDF it reads the page’s drawing instructions: font size (Tf) times the text matrix and the current transformation matrix, line widths (w) at each stroke, images placed with their pixel size and placed size (so their effective dpi), and the fonts, whether they are embedded and whether they are Type 3 (matplotlib’s default, which Nature asks authors to avoid). Text converted to outlines cannot be measured or edited by the journal, and Nature says not to outline text; the report says when no live text is found. Lines of width 0 are hairlines, one device pixel wide, which disappear in print. PDF previews and colour checks are not drawn on this page; EPS files get the format and size checks only, because reading them needs a PostScript interpreter.

Text in raster images. Pixels do not record which marks are letters, so the checker does not estimate font sizes from images: a guess from shapes would be wrong too often to trust. It gives the pixel size a minimum-size letter must have at that width and draws the journal’s smallest text and thinnest line on the preview, to scale, to compare by eye.

Colour-blind safety. The main colours of the image (or of the rendered SVG) are simulated for protanopia and deuteranopia with the Machado, Oliveira and Fernandes (2009) model; pairs that differ by more than 20 ΔE for normal vision but less than 12 after simulation are listed. Nature and ACS ask authors to avoid red/green combinations.

Fixes. Resampling uses a Lanczos filter (a = 3, separable, with premultiplied alpha), widened when shrinking so every source pixel contributes. Shrinking is safe; enlarging meets the number but adds no detail, and the tool says so. The TIFF is 8 bits per channel, one page, flattened, with LZW compression and the horizontal predictor and the DPI in its tags; PLOS requires LZW and PNAS asks for it instead of JPEG compression. A naive RGB to CMYK conversion (K=1−max(R,G,B), no profile) is offered only if a journal or printer requires CMYK.

Sources. 14 publishers’ artwork guidelines, linked in the table below and checked on 10 November 2026. Science, Cell Press, RSC and MDPI refused automated access on that date: their values were checked through search results of their own pages or carried over from the journal-figure-size tool (checked 8 November 2026), and what could not be confirmed is marked. Individual journals within a publisher can differ; the target journal’s own guide is the final word.

Rules the checker applies, by journal (guidelines checked 10 November 2026)
JournalResolutionFormats; colourText; linesSource
NaturePhotographic images at least 300 dpi (300–600 dpi); line art and text as editable vector files, so no dpi is given for them; height up to 170 mmVector AI, EPS or PDF preferred (also plain SVG, PowerPoint saved as PDF, layered Photoshop); not JPEG, TIFF or PNG for main figures; RGB recommended; CMYK accepted if you convert it yourself; up to 50 MB5–7 pt, Arial or Helvetica; panel labels 8 pt bold; 0.25–1 pt at final size (thinner lines may vanish in print)Nature: final submission
Nature Research Figure Guide: building and exporting figure panels
Nature Research Figure Guide: preparing figures
ScienceImages at least 300 dpi; line art without a vector file at least 300 dpi (higher preferred)Vector PDF, EPS or AI for graphs; TIFF for images (not confirmed); Not confirmedAbout 7 pt after reduction, not smaller than 5 pt; not confirmedScience: instructions for preparing a revised manuscript
Science: instructions for preparing an initial manuscript
Not confirmed: file formats, colour mode, line width, file size
Cell PressColour or greyscale 300 dpi; black and white 500 dpi; line art 1000 dpiTIFF, PDF or EPS (not confirmed); Not confirmed (Cell Press publishes online first; RGB is usual)About 7 pt at print size (Arial); not confirmedCell Press: figure guidelines
Not confirmed: file formats, colour mode, line width, file size
ElsevierHalftone 300 dpi, combination 500 dpi, line art 1000 dpi (1200 dpi for very fine lines)EPS, PDF, TIFF or JPEG (halftones); MS Office also accepted; RGB, preferablyAbout 7 pt; sub- and superscripts not below 6 pt (a rule of thumb); Line weights from 0.1 pt to 1.5 ptElsevier: artwork sizing
Elsevier: artwork types
Elsevier: artwork overview
PLOS (PLOS ONE)300–600 dpi; above 600 dpi the figure may be resized; height up to 222.3 mmTIFF or EPS only; RGB (8 bit/channel) or greyscale only; up to 10 MBArial, Times or Symbol, 8–12 pt; not confirmedPLOS ONE: figures
ACS (JACS and other ACS journals)Colour 300 dpi, greyscale 600 dpi, black-and-white line art 1200 dpi; height up to 232.8 mmNot confirmed (the ACS file-designation page refused automated access); Not stated; graphics meant for black and white should not be submitted in colourNo smaller than 4.5 pt (Helvetica or Arial); No thinner than 0.5 ptJACS author guidelines (Appendix 2: preparing graphics)
Not confirmed: file formats, colour mode, file size
RSC (Royal Society of Chemistry)TIFF at 600 dpi or more; photographs at least 600 dpi; height up to 233 mmTIFF at 600 dpi; EPS or PDF accepted (converted to TIFF); photographs as TIFF, PDF or JPEG; Not confirmednot confirmed; not confirmedRSC: figures, graphics and images
Not confirmed: colour mode, lettering size, line width, file size
WileyImages 300 dpi; line art 600 dpi (figures with both follow the line-art rule)Line art as PDF, images as PNG or TIFF; any standard type accepted; Not stated on the journal page; up to 10 MBnot confirmed; not confirmedWiley Author Services: guidelines for the preparation of figures
Not confirmed: colour mode, lettering size, line width
Springer journalsHalftone 300 dpi, combination 600 dpi, bitmap line art 1200 dpi; height up to 234 mmEPS for vector graphics, TIFF for halftones; MS Office accepted; RGB, 8 bits per channelUsually about 2–3 mm (8–12 pt), Helvetica or Arial; At least 0.1 mm (0.3 pt)Springer journal submission guidelines (artwork and illustrations; example journal 591)
Not confirmed: file size
PNASHalftones 300 ppi, combination 600–900 ppi, line art 1000–1200 ppi; height up to 225 mmTIFF, EPS or PDF; vector preferred; LZW, not JPEG compression; All colour images in their original RGB, tagged with the ICC profile where possibleAt least 6–8 pt; at least 6 pt after reduction; Graph lines at least 0.25 ptPNAS digital art guidelines (PDF)
Not confirmed: file size
eLifeAt least 300 dpi at a physical width of at least 10 cm (20 cm for full-page figures)TIFF (8-bit), JPG, EPS, AI or vector PDF; RGB colour spacenot confirmed; not confirmedeLife author guide
Not confirmed: lettering size, line width, file size
FrontiersAll images 300 dpi at final sizeTIF/TIFF, JPEG and EPS (upon acceptance); Images must be RGBSmallest text no less than 8 pt at actual size; “Any lines in the graphic should be no smaller than two points wide”Frontiers: author guidelines (figures)
Not confirmed: file size
MDPINot confirmed; 300 dpi is used as a benchmarkPNG, JPEG or TIFF (from MDPI’s author blog); RGB at 8 bits per channelnot confirmed; not confirmedMDPI layout style guide
MDPI blog: ensuring figure quality (Aug 2026)
Not confirmed: column widths, resolution, lettering size, line width, file size
IEEE journalsColour and greyscale above 300 dpi; black-and-white line art above 600 dpi; height up to 220 mmPS, EPS, PDF, PNG or TIFF (JPEG only for author photos); Not statedAbout 9–10 pt at full size; not confirmedIEEE Author Center: resolution and size
IEEE Author Center: file formatting
Not confirmed: colour mode, line width, file size

Machado GM, Oliveira MM, Fernandes LAF. A physiologically-based model for simulation of color vision deficiency. IEEE Trans Vis Comput Graph 2009;15:1291–1298, doi:10.1109/TVCG.2009.113. Wong B. Points of view: Color blindness. Nat Methods 2011;8:441, doi:10.1038/nmeth.1618. Cromey DW. Avoiding twisted pixels: ethical guidelines for the appropriate use and manipulation of scientific digital images. Sci Eng Ethics 2010;16:639–667, doi:10.1007/s11948-010-9201-y. ITU-T Recommendation T.81 (JPEG), Annex K, w3.org/Graphics/JPEG/itu-t81.pdf.

Worked examples: a screenshot graph, a matplotlib PDF and a JPEG

1. A graph exported as a 1200 × 800 px PNG at 72 dpi, for a Nature single column (89 mm).

  1. Width: 89÷25.4=3.504 in, so the image has 1200÷3.504=342.5 dpi at that width. That meets Nature’s 300 dpi for photographs, but a graph is line art: Nature wants it as a vector file, and against the 1000 dpi line-art benchmark it would need 3.504×1000=3504 px. Result: warn on resolution, fail on format (Nature does not accept PNG for main figures).
  2. Recorded DPI: at 72 dpi it is placed 1200÷72×25.4=423.3 mm wide. Record 342.5 dpi instead (no pixels change) and it opens at 89 mm.
  3. Text: 5 pt (Nature’s minimum) at 89 mm is 5÷72×342.5=23.8 px of font size in this image; labels smaller than that are too small. The preview draws a 5 pt guide to compare.
  4. Colours: the red line (#D62728) and the green one (#2CA02C) are distinct for normal vision, but with deuteranopia both become olive (the checker lists the pair). Use blue and orange, or label the lines.

2. A matplotlib figure saved as PDF with figsize = (7, 4.5), so 504 pt wide, for the same 89 mm column. The page is scaled by 252.3÷504=0.5006: 10 pt axis labels become 5.0 pt, 8 pt tick labels 8×0.5006=4.0 pt (below Nature’s 5 pt: fail) and a 0.4 pt line 0.20 pt (below Nature’s 0.25 pt: fail). With matplotlib’s default pdf.fonttype = 3 the fonts are Type 3, which Nature asks to avoid. Fix it at the source: plt.rcParams["pdf.fonttype"] = 42 and figsize=(3.5, 2.25) (89 mm is 3.5 in), so every size you set is the printed size.

3. A micrograph saved as JPEG. Its luminance table starts 8, 6, 5, 8, 12, 20, 26, 31: exactly libjpeg’s table at quality 75 (⌊(16×50+50)/100⌋=8 for the first entry), so the checker reports quality 75 and warns that 8 × 8 block artefacts may show; at quality 95 the table would start 2, 1, 1, 2. Re-saving as TIFF stops further loss but cannot undo it; export again from the original data.

4. A Cell Press full-width (174 mm) line drawing. 1000 dpi needs 174÷25.4×1000=6850 px across. A 2400 px export is 350.3 dpi: enough for a photograph, not for line art, so it fails; export the drawing as PDF or EPS instead.

Frequently asked questions

How do I check if my figure meets journal requirements?

Open it in this checker, choose the journal, the column width and the kind of figure. It compares the pixels at that width with the journal’s minimum dpi, reads the colour mode, bit depth, transparency, profile and format from the file, and for SVG and PDF measures font sizes and line widths at the printed size. Each item is marked fail, warn, pass or info with the reason.

Should figures be RGB or CMYK for journal submission?

RGB, for almost every journal today. Nature recommends RGB (CMYK is accepted if you convert it yourself), PNAS requires the original RGB, PLOS, Springer, eLife, Frontiers and MDPI ask for RGB, and Elsevier prefers it. Journals publish online in RGB and convert to CMYK for print themselves. Convert CMYK files back to RGB with their colour profile where possible.

What is the difference between line art, halftone and combination DPI?

Halftones are photographs and micrographs, with continuous tones: about 300 dpi is enough. Line art is graphs, charts and drawings with sharp edges and thin lines: 600–1200 dpi, because edges show pixel steps first. Combination figures mix both, for example a micrograph with labels: 500–900 dpi. Vector PDF or EPS avoids the question for line art.

Why does upsampling not help?

Resampling to more pixels only interpolates between the pixels that are there: the figure meets the pixel count but stays as soft as before, and journals’ preflight software and editors can see it. Export the figure again from the original software or data at the size needed, or supply line art as a vector file.

How is the JPEG quality worked out?

From the quantisation tables stored in the file. Most software (libjpeg, Pillow, ImageJ) scales a standard table by the quality setting; the checker tries every quality from 1 to 100 and reports the one that matches exactly. If none matches (Photoshop uses its own tables), it reports the nearest and says it is an estimate.

Can it measure font sizes in a PNG or TIFF?

No. Pixels do not record which marks are text, and estimating letter sizes from shapes is not reliable enough to trust. The checker gives the pixel height that the journal’s smallest text must have at your width and draws it on the preview. For SVG and PDF it measures font sizes exactly.

Why does my matplotlib PDF fail the font check?

Two common reasons: the figure was saved larger than the column and shrinks, so 8 pt ticks become 4 pt; and matplotlib embeds Type 3 fonts by default, which Nature asks to avoid. Set figsize to the column width in inches (89 mm = 3.5 in) and plt.rcParams["pdf.fonttype"] = 42 before saving.

What does a hairline mean?

A line of width 0 in a PDF, or a line far thinner than 0.25 pt. Screens draw it one pixel wide, so it looks fine, but printers draw it at their smallest dot and it can vanish. Nature asks for 0.25–1 pt, ACS at least 0.5 pt, Springer 0.3 pt.

Is my figure uploaded?

No. The file is read, checked and converted in your browser; nothing is sent to a server. The editor hand-off passes the figure between browser tabs on your device.

Fix fonts, lines and colours in the figure editor

The LabCanvas editor opens your SVG as editable vectors or your image at print size, sets the artboard to the journal’s column width and exports PDF, SVG or TIFF at the dpi the journal asks for.

Open the figure editor