Gamma correction is a power-law remap of pixel intensity: each color channel is treated as a value between zero and one, raised to an exponent γ (gamma), then scaled back to the display range. Unlike a simple brightness offset that adds the same amount to every level, gamma reshapes midtones more than extremes—γ below one lifts the middle of the tonal range (helpful when a photo feels murky), while γ above one deepens mids and can make images look weightier without necessarily crushing black the way extreme contrast might. Displays, operating systems, and color spaces such as sRGB assume specific gamma or piecewise curves so that encoded files look perceptually even under human vision; misaligned gamma is a common reason the same JPEG looks fine on one monitor yet flat or harsh on another. SynthQuery’s Photo Gamma Corrector runs entirely in your browser using HTML5 Canvas: your bitmap is decoded locally, each opaque RGB triplet is transformed with the formula you choose, previews update in real time, and export never requires uploading pixels to our servers—ideal for NDAs, unreleased product shots, and classrooms where students should not route homework through third-party storage.
What a gamma curve does to your image
Think of the small graph on this page: the horizontal axis is incoming brightness and the vertical axis is outgoing brightness after the curve. When γ equals one, the “curve” is a straight diagonal—no change. When γ is less than one, the line bows above the diagonal for most of the span, meaning a given shadow value is mapped closer to mid-gray, which viewers read as a brighter, more open midrange. When γ exceeds one, the line dips below the diagonal in the mids, darkening those tones while leaving pure black and white anchors roughly pinned at the ends until numeric precision and clipping interact. Because the operation is applied per red, green, and blue channel in the encoded (non-linear) space used by eight-bit JPEG and PNG, it is not identical to a full linear-light compositing pipeline—but it matches what many quick-adjust utilities and legacy workflows expect when someone says “apply gamma.”
Why gamma matters for accurate display and sharing
Human perception is roughly logarithmic: equal steps in linear light do not look equally spaced on screen. Gamma encoding compresses highlights and expands shadows in the file so eight bits are spent where eyes are more sensitive. If you strip or double-apply gamma, skin can turn plastic, skies posterize, and UI screenshots stop matching design tools. Preparing assets for the web often means respecting sRGB’s approximate 2.2 display gamma (with more complex transfer functions in modern HDR paths). This tool helps you visualize the mapping, nudge mids toward a reference look, and export a still that partners can drop into slide decks or bug reports with fewer “why does it look different on my laptop?” threads.
Who should use a dedicated gamma page
Photographers and retouchers who want a focused control instead of hunting inside a curves dialog; developers tuning textures or lightmaps before engine import; scientists and engineers presenting normalized plots beside photographic context; marketers aligning stills from different phones; and teachers demonstrating transfer functions—all benefit from an explicit γ slider, labeled presets, and a live plot. When your project also includes AI-generated copy or disclaimers, pair local image work here with SynthQuery’s AI Detector and Humanizer so messaging and visuals ship with consistent polish.
What this tool does
The interface follows the same single-pane layout as other SynthQuery imaging utilities: upload first, adjust, verify, download. A continuous slider spans 0.1 through 5.0 with a default of 1.0, giving both subtle tweaks and exaggerated teaching examples. One-click presets cover 0.5, 0.8, 1.0, 1.5, 2.2 (labeled for the common sRGB reference), and 2.6 so you can jump to industry-familiar numbers without typing. The tonal-mapping panel plots the identity line as a dashed diagonal and your current power curve as a solid stroke, updating instantly whenever γ changes—this answers the frequent question “am I lifting shadows or just brightening everything?” without opening a spreadsheet.
Real-time preview renders through an offscreen canvas at the same longest-edge cap used elsewhere (4096 px) for stability on mobile GPUs, then surfaces a PNG object URL for the compare strip. The draggable divider exposes the untouched decode on the left and the gamma-adjusted buffer on the right; keyboard users can focus the handle and nudge with arrow keys, Home, and End, matching accessibility patterns from our brightness and saturation tools. Download respects “match original” semantics where browsers allow—JPEG stays JPEG, PNG stays PNG, WebP stays WebP—while BMP and TIFF sources fall back to PNG because canvas encoders do not reliably emit those containers. Explicit JPEG and PNG overrides remain available for CMS pipelines that reject ambiguous types.
Validation rejects oversize files and unknown extensions with clear toasts; a loading spinner covers decode time for large TIFFs; reset snaps γ to 1.0 and recenters the compare slider. Everything stays client-side, including the curve plot, so air-gapped workflows remain viable after the initial page load.
Precise gamma control and presets
Hundredth-step resolution on the slider lets you match a reference still or document a numeric value in tickets. Presets double as education: newcomers can hear “try 2.2” in a tutorial and click once instead of guessing where that falls between tick marks.
Curve visualization and preview fidelity
The plot abstracts one channel’s transfer function—RGB shares the same γ here—so you can reason about midtone pivot before committing. The compare strip uses the same canvas output as download, avoiding a split between “preview shader” and “export path” that confuses users on some sites.
Formats, limits, and performance
JPG, PNG, WebP, BMP, and TIFF uploads share one pipeline; alpha is preserved where the source had transparency. Heavy files are capped by megabyte and edge limits to protect tab memory on phones. Preview encoding uses requestAnimationFrame batching so scrubbing the slider feels responsive.
Technical details
Per opaque pixel, each eight-bit channel c is converted to x = c/255, then updated to c′ = round(clamp(x^γ · 255)). This matches the user-facing specification “output = input^gamma” for normalized inputs. Gamma below one brightens midtones in the sense that mid-range x values map to higher outputs than the identity line; gamma above one does the reverse. Fully transparent pixels are skipped so compositing edges stay predictable.
sRGB is more than a single exponent—it defines a linear segment near black and a power-law tail approximating gamma 2.2 for the remainder—but many practitioners still cite “2.2” as the display-side reference. This tool’s 2.2 preset applies a pure power curve across all codes for simplicity and predictability; it is not a full sRGB decode/encode round trip. Linear workflow purists work in scene-linear space with different transforms; eight-bit browser canvas paths remain display-referred. HDR content with PQ or HLG transfer functions should be tone-mapped to SDR before expecting meaningful results here. EXIF metadata is typically stripped on re-encode; keep masters when rights or lens data matter.
Linear versus gamma-encoded color space
Physical light combines linearly; CRT phosphors and human perception historically motivated storing roughly the square root of linear light (gamma encoding). Modern pipelines separate scene-linear compositing from display encoding; this page operates on stored eight-bit values the way a simple “gamma adjustment” layer often does in consumer editors.
Clipping and bit depth
Extreme γ values can push many codes toward 0 or 255, reducing effective banding resistance. Work on high-bit sources in desktop RAW tools when artifacts appear; use gentle γ here for web-sized assets.
Use cases
Monitor calibration prep: before you trust hardware LUTs, it helps to view a known gradient or photo through a repeatable γ adjustment to see how aggressively the panel shifts mids. Cross-device consistency: social teams often receive mixes of iPhone, Android, and DSLR exports—gentle γ tweaks can narrow perceived gaps before brand compliance reviews. Print preparation: while ICC profiles ultimately govern ink on paper, a quick gamma pass in the browser can approximate how mids might translate when your prepress vendor expects sRGB-centric masters.
Dark photo recovery: when exposure is mostly correct but shadows block texture, γ under one can reveal detail more evenly than pushing brightness alone, which risks highlight clipping. Scientific imaging: grayscale micrographs and gel photos sometimes need standardized power-law display for publication figures; this tool offers a transparent, formula-aligned starting point before MATLAB or ImageJ workflows. Game and real-time graphics: artists often author albedo near display space; previewing γ in a browser helps catch textures that will look washed out under engine tone mapping. Education: instructors can screen-share the live curve while explaining linear versus perceptual coding, linking theory to visible pixels.
Calibration and multi-device workflows
Use presets as anchors, then fine-tune. Document the γ value you shipped alongside hex colors so remote teammates can reproduce thumbnails in slide decks.
Creative and corrective photo work
Chain gamma with SynthQuery’s brightness or contrast tools when one control alone cannot separate global level from midtone pivot. White balance should usually precede or follow depending on whether casts are colorimetric or exposure-related.
Technical and publishing pipelines
Export PNG for lossless intermediate steps; JPEG only for final delivery. When journals forbid destructive edits, archive the raw upload and note parameters in figure captions.
How SynthQuery compares
Desktop suites bundle curves, levels, and RAW engines with enormous depth—and equally enormous install footprints. Mobile gallery apps are fast but rarely show numeric γ, a live transfer plot, or guaranteed local processing. SynthQuery targets practitioners who want a dedicated gamma control with educational visualization, free access, and no server round trip for pixels. Compared with a general curves tool in a pro editor, this page stays intentionally narrow: one clear formula, labeled presets including sRGB’s common 2.2 reference, immediate curve feedback, and the same draggable before/after metaphor used across our image utilities. You still need layered masks, selective color, and ICC-aware soft proofing for high-end print; use this utility when global gamma experimentation or quick cross-team alignment is the goal. Bookmark the hub at /free-tools and the full directory at https://synthquery.com/tools for exposure, histogram, sharpening, and hue utilities as they complement gamma work.
Aspect
SynthQuery
Typical alternatives
Focus and learning curve
Single power-law γ with live plot and presets—minimal cognitive load for global tone reshaping.
Bezier curves and multi-point editors flex harder but require more training to avoid accidental crossover edits.
Privacy and deployment
Canvas processing in-browser; no account required for the adjustment itself.
Some cloud editors upload assets; always verify data-processing terms for confidential work.
Cost and accessibility
Free page, works on locked-down laptops after load; keyboard-accessible compare divider.
Licensed software excels for production polish but may block occasional users without installs.
How to use this tool effectively
Use this sequence when you want reproducible gamma tweaks without reopening a heavy editor.
Step 1: Upload your image
Drag a file onto the dashed region or choose Browse. Accepted formats are JPG, PNG, WebP, BMP, and TIFF within the on-page size limits. Wait for the loading state to finish—large TIFF decodes may take a moment.
Step 2: Choose a preset or set gamma manually
Click a preset such as 0.8 to lift mids quickly, 2.2 to approximate a common display response reference, or 2.6 for a heavier darkening of midtones. Alternatively, drag the slider between 0.1 and 5.0; the label shows two decimal places for documentation.
Step 3: Read the gamma curve
Glance at the tonal-mapping chart: the dashed diagonal is linear (γ = 1). The solid line shows your current transform. If the solid line sits above the diagonal in the middle, mids are brightening; if below, they are darkening.
Step 4: Compare before and after
Drag the vertical handle across the preview or focus it and use arrow keys. The left side reveals the original decode; the right shows the gamma-adjusted canvas output. This catches unwanted color shifts paired with luminance changes.
Step 5: Select download format
Choose match original when you want JPEG-to-JPEG continuity, or pick explicit PNG for lossless handoff and JPEG for final web delivery. BMP and TIFF sources map to PNG when matching, consistent with other SynthQuery canvas tools.
Step 6: Download and archive
Click Download, verify the file in your viewer, and retain the unmodified master. If the project includes marketing copy, consider running SynthQuery’s AI Detector or Humanizer on surrounding text before publication.
Limitations and best practices
RAW sensor data, floating-point HDR, and animated GIF timelines should be flattened or tone-mapped elsewhere first. This tool applies one global γ per channel—no local masks, no per-channel separate gammas, no filmic S-curves. For brand-critical color, validate on calibrated displays and print proofs. If banding appears after aggressive γ, step back, export PNG, and continue in a sixteen-bit-capable desktop editor. Chain with white balance or saturation thoughtfully: order matters when both color and tone shift.
Explore every SynthQuery route including calculators, schema generators, and additional imaging utilities.
Frequently asked questions
Brightness (as in SynthQuery’s additive brightness tool) shifts every channel up or down by a constant and clamps to 0–255. That moves the whole histogram left or right but does not change the relative spacing between midtone steps the way a curve does. Gamma raises each normalized channel to a power: shadows, mids, and highlights are affected unevenly, which is closer to how display systems historically compensated for nonlinear phosphors and perception. You might use brightness when the entire frame is uniformly too dark; use gamma when mids feel muddy but you do not want to blow highlights by adding a big offset everywhere.
No. True sRGB defines a piecewise function: a linear segment for very low values and a power-law region often approximated as gamma 2.2 elsewhere. This tool’s 2.2 preset applies a pure power curve across the full eight-bit range for clarity and predictable math. That makes it excellent for education and quick global tweaks aligned with the “about 2.2” shorthand, but it is not a substitute for ICC-profile-aware conversion in prepress or color-managed pipelines.
High-end 3D and compositing usually happen in linear (scene-referred) space with explicit transforms at import and display. Browser canvas here works on typical eight-bit display-encoded pixels. Use this page for texture spot checks, teaching, or social stills; export and convert through your engine or DCC’s linear pipeline when physically based lighting requires it.
Print depends on paper, ink, viewing light, and the ICC profile your lab provides—there is no universal browser-side γ that replaces soft proofing. Many designers still start from sRGB-centric web masters; use gentle gamma here for comps, then follow your printer’s profile in desktop software before expensive runs.
Files that store scene-referred HDR (for example some HEIC modes or EXR) may not decode the same way as flat eight-bit JPEG in every browser. For best results, export an SDR eight-bit PNG or JPEG from your phone or editor first. Extreme dynamic range scenes may already be tone-mapped; additional γ is simply another global curve on that result.
Sometimes. Haze often lives in lifted blacks and compressed mids; γ > 1 can deepen mids and restore apparent contrast. If the haze is atmospheric scatter across the whole scene, local dehaze tools in desktop apps may outperform any global power law. Pair the preview strip with the histogram viewer route when you need to see whether shadows are stacking near white.
No. Decode, gamma math, curve drawing, preview generation, and export occur locally via Canvas. Normal site analytics or font loading may still request network resources, but your bitmap is not transmitted to SynthQuery for this adjustment. For strict isolation, use an offline-capable browser profile after caching the app.
Major browsers implement toBlob reliably for JPEG, PNG, and often WebP, but not for BMP or TIFF outputs from canvas. When “match original” would imply those containers, we fall back to PNG so you always receive a valid file rather than a failed encode.
Yes. Typical orders: white balance before or after gamma depending on whether the cast is independent of exposure; contrast after gamma if mids need both pivot and separation; saturation last when chroma should respond to the final tone. Download PNG between steps to avoid repeated JPEG loss. Link out to /free-tools to discover complementary utilities.