Free · No Signup

Redacting a Chart or Dashboard Screenshot

Cover a number in a table and it is gone. Cover the label on a bar and the number is still there — drawn to scale, waiting to be measured against the axis you left visible.

🔒 No upload · Runs in your browser · Instant download

Nearly every page on this site rests on a quiet assumption: the sensitive thing in your image is a glyph. An account number, a surname, an address, a plate — a run of characters sitting in a rectangle. Draw a box over the characters and they stop existing. That assumption is why “cover the numbers” is such reliable advice, and it is why so many people apply the same habit to a chart and end up publishing exactly what they meant to withhold.

A chart does not store its numbers as characters. It stores them as geometry: a bar’s length, a point’s height, a slice’s angle, a cell’s shade, the filled fraction of a progress ring. The printed figure beside the mark is a convenience for the reader, not the carrier of the value. Cover it and the mark still encodes the number, and anyone with the axis can read it back. This is not an attack and it needs no tooling — it is the chart working as designed.

So redacting a chart, a dashboard tile or a BI screenshot is a different job from redacting a document photo, and it has its own order of operations: decide whether you are hiding magnitudes, the shape of the trend, or whose data this is; then take away the mark or the scale accordingly; then check that nothing left on screen quietly calibrates what you covered. The sections below work through that, including two things that are specific to this editor — why a cover drawn tightly around each bar reproduces the bars, and why blur and pixelate are measurably weaker on a chart than they are on text.

Mode
Shape

Drop your chart or dashboard screenshot here

Or click to browse · Paste with Ctrl+V also works

PNG · JPG · WebP · GIF
How It Works
1

Open

Drop your image in or paste from clipboard.

2

Pick Mode

Black Box, Blur, or Pixelate.

3

Select Areas

Rectangle, oval, or freehand lasso — then hide what you selected.

4

Download

Hit Download PNG. Done.

SquooshNeed to shrink your image after editing? Squoosh is a free browser-based image compressor with no upload required.

Visit Squoosh →
Guide

One sentence carries this page: in a table a number is a glyph you can cover, but on a chart a number is a length measured against a scale — so covering the data label leaves the value fully readable, and a real redaction has to take away either the mark or the scale that decodes it.

Why a chart is not a table

A table publishes a value as text. The characters are the value, the box you draw over them removes the characters, and the job is done in one move. A chart publishes the same value as a position within a coordinate system. The bar reaches four-fifths of the way to a gridline labelled 500, so the bar is 400. The line crosses the 20 gridline in March. The slice takes up a third of the circle. The gauge needle sits at the top of the green band. Nothing about reading a value that way is difficult, unusual or adversarial; it is the entire purpose of drawing the chart.

The consequence is that the printed data label is the least important thing on the plot. Removing it costs a reader precision, not knowledge — they go from “418” to “a bit over 400”, and for most sensitive figures that is the same disclosure. If you have ever covered the numbers on a revenue chart and sent it anyway, you sent the revenue.

This has a close cousin in the arithmetic trap that runs through redacted documents, where a visible subtotal hands back the line you covered. The graphical version is stronger, because you do not even need the arithmetic: the mark is already a measurement of the value rather than a clue about it.

First decide which of three things you are hiding

Most bad chart redactions come from skipping this step, because the three goals need almost opposite covers.

1. Magnitude — the absolute values. You are happy to show that the trend is up and to the right; you do not want the reader to know it is up and to the right from eleven million to nineteen million. Here you remove the scale: the y-axis tick labels, the axis title if it carries units, any labelled reference or target line, the data labels, and every other place on the screen that states a figure. The marks can stay.

2. Shape — the pattern itself. The sensitive thing is the dip in March, the seasonality, the step change on the day of the incident, the fact that one series collapses and another does not. Here the scale is harmless and the marks are the secret, so you cover the plot area and leave the frame.

3. Identity — whose data this is. The numbers may be fine to show; what must not travel is which customer, region, cohort or employee they belong to. Here you go after the legend, the series labels at the ends of the lines, the category labels along the category axis, the chart title and subtitle, the filter chips that name the account, and the colour mapping itself if the palette is one the recipient has seen before with a published key.

Write your answer down in one line before you draw anything. “Shape yes, magnitude no, identity no” takes five seconds and determines every cover that follows.

The calibration leak: one surviving number anchors the whole axis

If you take the magnitude route — cover the axis, keep the bars — be clear about what you have actually published. You have hidden the absolute values and published every ratio in the chart. Bar four is twice bar one. The March dip is a quarter of the January peak. Those ratios are frequently fine to share, and this is a legitimate way to show a trend without its numbers.

It stops being fine the moment anything calibrates the picture, because one known value plus the ratios gives back everything. The anchors are easy to miss and they are usually not on the chart:

• A KPI tile or headline figure sitting above the chart on the same dashboard.
• A reference line labelled with a target, budget or quota.
• A table underneath the chart with one visible row.
• A record count in the corner that says how many items there are.
• A figure in the message, ticket or email you attach the screenshot to.
• A number the recipient already knows — last year’s published quarter, the contract value, their own invoice.

Two refinements worth knowing. An axis truncated so it does not start at zero breaks the clean ratio reading, which helps you slightly; but the gridline spacing is still a unit, so a single surviving label rebuilds the scale on top of the grid anyway. And a logarithmic axis makes casual estimation harder while making it more valuable, because the same spacing covers a far wider range — do not treat a log axis as a form of protection.

A running order for a plot

1. State the goal in one line. Magnitude, shape, identity, or some combination. If the honest answer is “all three”, you are not redacting a chart, you are deciding not to send one. Say the finding in a sentence instead, or regenerate the chart from dummy or filtered data in whatever drew it. That is almost always the better outcome when it is available, and this page is for when it is not.

2. Walk the furniture, not the data. Inventory everything around the plot before you touch the plot: both axes’ tick labels, axis titles and units, labelled gridlines, the legend, direct labels at the ends of series, data labels, annotations and reference lines, the chart title and subtitle, the footnote or source line, and any tooltip or hover card that happened to be open when the capture was taken.

3. Cover the scale before the marks if magnitude is the goal. Doing it in that order stops you from covering a couple of bars, feeling finished, and leaving the axis in place.

4. Prefer one big region to many small ones. A single rectangle down the whole y-axis gutter beats one box per tick label: it is faster, it leaves no readable survivors between covers, and its outline says nothing about what was underneath.

5. Hunt for the second copy. Dashboards repeat themselves on purpose. The number you just covered on the chart is often also in a tile, a table, a subtitle, a pagination count or the page title.

6. Check the shape of your own covers — see the next section, because this is the mistake that looks finished and is not.

7. Use Black Box. Chart content is the worst case for detail-reducing methods, for the reason set out below.

8. Re-read it cold. Look at the result as someone who wants the number. Can you still estimate it to within ten or twenty percent? If so, you covered the mention and left the measurement.

9. Export once, then check the exported file. Open the downloaded PNG at full size rather than judging it from the editor view, which is scaled to fit your window.

A cover shaped like the data is the data

This is the chart-specific trap, and it is quietly common. You want the values gone, so you draw a tight black box over each bar, snug to the top of each one. You now have a row of black rectangles whose heights are the bar heights. You have redrawn the chart in black. Nothing was removed; the fill colour changed.

The same mistake takes other forms. A freehand cover traced along a line series follows the trend, so the cover is the trend. Pie slices covered one at a time leave their boundaries as the edges between covers, and the angles still give the shares. An oval drawn around each point in a scatter plot marks the points.

The fix is to make the cover’s outline a property of the frame rather than of the data: one rectangle spanning the full plot area, from the category axis up past the tallest mark and across the entire category range, so that its edges tell a reader only where the plot was. If you need to leave part of the plot visible, cut on something structural — a whole series, a whole date range, the region left of a gridline — and not on the data’s own silhouette.

Two mechanics of this editor matter here. The rectangle and the oval are axis-aligned, with rotation fixed at zero, so neither can be tilted along a rising trend line — which is exactly what you want for plot areas, gutters and legend blocks. The lasso is the only shape that can follow an arbitrary outline, which makes it the one most likely to produce a data-shaped cover; on a chart, reach for the rectangle. And because effect strength for Blur and Pixelate is derived from the selection’s bounding box, a long shallow strip — an axis gutter, say — gets the weakest possible treatment, another reason to use a flat fill here.

Why blur and pixelate are weaker on a chart than on text

Both of this page’s detail-reducing methods work by throwing away fine detail. Blur copies the selection’s bounding box, shrinks it to a tenth of its width and height, and draws that back up to full size with smoothing. Pixelate walks the same bounding box in blocks of at least six pixels — a twelfth of the shorter side, when that is larger — and fills each block with the colour it samples from the block’s centre, which is a nearest-neighbour reduction and therefore keeps hard edges instead of averaging them out.

Against text that is at least a plausible strategy, because the identity of a character lives in strokes a few pixels wide: destroy detail at that scale and the glyph becomes genuinely ambiguous. (Other pages here argue it is still the wrong default, and they are right.) Against a chart the same strategy is aimed at the wrong thing entirely. A chart’s information is low frequency: a bar’s length, a line’s path and a slice’s angle are features tens or hundreds of pixels across, and high contrast against a plain background makes them the features most likely to survive. Shrink a six-hundred-pixel-wide bar chart to sixty pixels and you still have a bar chart — smaller, softer, and with the ratio between any two bars still measurable.

How much survives in a specific case depends on the chart: its size on screen, the number of categories, the contrast. That variability is itself the argument against the method, because you cannot assess it reliably by looking at your own screen at your own zoom level. Black Box fills the path with flat #111111 and has no strength parameter to misjudge, which is why it is the recommendation here even more firmly than elsewhere on the site. The trade-offs between the three methods in general are worked through in the comparison of blur, pixelate and black box.

Dashboard chrome is scope, not decoration

A chart screenshot taken from a dashboard carries a second payload that has nothing to do with the plot. The surrounding interface describes the population the chart is about, and that description is often more sensitive than the figures:

• Filter chips and date pickers — the region, account, cohort, segment or user the chart is filtered to. These frequently name a customer outright.
• Record counts and pagination — “1 to 25 of 4,812” is a total, and totals drive the arithmetic covered on the neighbouring page.
• Saved view, tab and breadcrumb names — often a client name, a project codename or an unreleased product.
• The browser address bar, with account identifiers and query parameters in the URL.
• Left navigation, which maps your internal reporting structure and sometimes your customer list.
• Buttons and menus — an export label stating a row count, a scheduled-delivery list naming recipients.
• KPI tiles, which are both sensitive in themselves and the most likely anchor for the axis you just covered.

Treat the chrome as a separate pass with its own inventory, done after the plot and before the export. Where the numbers around a plot can be reassembled by arithmetic rather than by measurement, the same reasoning applies as for any redundant document, and that is set out in detail for visible totals and recomputed numbers.

What the editor above does and does not do here

The tool on this page is region-based: three methods — Black Box, Blur, Pixelate — across three selection shapes, rectangle, oval and freehand lasso. Each operation replaces the pixels inside the path you drew and leaves every other pixel alone. The canvas is created at your image’s exact pixel dimensions, Download PNG serialises that canvas to a timestamped PNG, and the whole thing runs in your browser on your own machine with nothing stored anywhere.

Five limits are worth stating plainly for this job. There is no crop, resize or rotate, so you cannot trim an axis gutter away — you cover it, which is the better move regardless, since a crop leaves the gridlines behind. The editor sees pixels, not series. It has no idea that a shape is a bar or that a block of text is a legend; it cannot remove a series, re-scale an axis, index the values to 100 or round them off. Anything that needs the data changed has to happen in whatever drew the chart. There is no text tool, so you cannot relabel an axis you covered or write “indexed” where the units used to be. Very small drags are discarded silently — under four pixels for a rectangle, six for an oval, measured in image pixels — which is easy to hit when you aim at a thin strip of tick labels on a downscaled view, so drag a taller region than looks necessary and confirm the cover appeared. And covers are destructive: Undo steps back through exact snapshots while the tab is open and Clear repaints the original, but the exported PNG has no layer to switch off and nothing underneath it.

One more time, because it is the most useful advice on the page: if you can regenerate the chart from demo data, from an indexed series or with the sensitive filter removed, do that instead. Redaction is the fallback for a chart you cannot redraw.

Common mistakes and misconceptions

“I covered the data labels, so the numbers are hidden.” The label was a mention; the bar is a measurement. With the axis and gridlines visible the figure comes back to within a few percent.

“I covered the axis, so the magnitudes are gone.” The ratios are still published, and a single anchor anywhere — a KPI tile, a target line, a number in your email — converts those ratios back into absolute values.

“I blurred the plot area heavily.” Blur reduces detail, and a chart’s meaning does not live in fine detail. A tenfold reduction of a bar chart is still a bar chart.

“I boxed each bar individually, nice and tight.” Your boxes now have the heights of the bars. Use one rectangle over the whole plot area.

“I cropped the axis off in another app first.” Cropping removes the labels and leaves the grid, and the grid is a unit. It also changes the frame, so the export can no longer be compared with the original.

“The legend was the only thing identifying the customer.” Category labels, series colours, the order of the categories, the distinctive shape of a trend, the chart title, the saved-view name and the filter chip all do the same work.

“It is just a demo dashboard, there is nothing real in it.” Check the filters and the record counts before you decide that. Demo environments are frequently pointed at live data.

“The tooltip was not part of the chart.” It was part of the capture, and it usually carries the exact value with its category and date.

“A pie chart with no labels is safe.” Angles are shares, and a share plus one known absolute figure is another absolute figure.

“The chart is small on screen, so nothing is readable.” You are judging a downscaled view. Check the exported file at full size, where the plot is at its original pixel dimensions.

A Chart Publishes Its Numbers as Geometry

Redaction advice assumes the secret is a glyph: cover the characters and the value is gone. A chart stores the same value as a position instead - a bar length, a point height, a slice angle, a shaded cell, the filled fraction of a gauge - and the figure printed next to the mark is a convenience for the reader, not the carrier. Cover the data label and the bar still reaches four-fifths of the way to the gridline marked 500, so the value is still 400. Nobody has to attack anything to read it; that is what the chart was drawn to do. The practical rule is that a chart redaction must take away either the mark or the scale that decodes it, and the first decision is which.

That decision has three answers and they call for different covers. If you are hiding magnitudes, remove the scale: y-axis tick labels, units in the axis title, labelled target lines, data labels, and every other figure on the screen. If you are hiding the shape of the trend, the scale is harmless and the plot area is the secret. If you are hiding whose data it is, go after the legend, the category labels, the series colours, the title and the filter chips. Covering the axis and keeping the marks is a real option, but understand the trade: you have hidden absolute values and published every ratio, so a single anchor - a KPI tile above the chart, a budget line, a total in a table, a figure in the message you attach the screenshot to, a number the recipient already knows - converts those ratios back into the values you covered. A truncated axis blunts that slightly; gridline spacing is still a unit, so one surviving label is enough.

Two things are specific to the editor on this page. First, a cover shaped like the data is the data: a tight black box over each bar produces rectangles with the bars heights, and a freehand trace along a line series reproduces the trend. Use one rectangle spanning the whole plot area so the covers outline describes the frame rather than the figures - the rectangle and oval are axis-aligned here, which suits plot areas and axis gutters, while the lasso is the shape most likely to follow the data. Second, Blur and Pixelate are weaker on a chart than on text. Blur shrinks the selections bounding box to a tenth of its size and scales it back; Pixelate fills blocks of at least six pixels with the colour at each blocks centre, a nearest-neighbour reduction that preserves hard edges. Both discard fine detail, and a chart does not keep its meaning in fine detail - bars and lines are features hundreds of pixels long. Black Box fills the region with flat #111111 and has no strength to misjudge. Then take a second pass over the dashboard chrome, which describes the population the chart is about: filter chips, date ranges, record counts, saved-view and breadcrumb names, the address bar, export labels and KPI tiles. And if you can regenerate the chart from demo data or an indexed series in whatever drew it, do that instead - redaction is the fallback for a chart you cannot redraw.

Frequently asked questions

I covered the numbers printed on the bars. Is that enough?

Usually not, and this is the single most common chart redaction failure. A data label is a mention of the value; the bar is a measurement of it. If the bar, the axis tick labels and the gridlines are still visible, a reader measures the bar against the scale and recovers the figure to within a few percent - no recovery attack, no software, just reading the chart the way it was drawn to be read. The same holds for a point on a line, a slice of a pie, the filled portion of a progress bar or a gauge needle. To actually remove a value you have to take away either the mark or the scale that decodes it. Which one you take depends on what you are trying to share: cover the scale when you want to show the shape without the magnitudes, and cover the plot area when the shape itself is the sensitive part.

If I cover the y-axis labels but leave the bars, are the numbers gone?

Not quite - you have hidden the absolute values and published every ratio in the chart. That is often an acceptable trade, but it only holds while nothing anchors the scale. One known value restores the entire axis: a figure in the KPI tile above the chart, a reference line labelled with a target, a total in a table below, a number in the message you attach the screenshot to, a quarter you published last year, or simply a value the recipient already knows because it is their own account. With one anchor and a ruler, every other bar follows. A truncated axis that does not start at zero breaks the ratio reading, but the gridline spacing still carries a unit, so a single surviving label is still enough. Before you rely on an axis cover, look for every place a number appears and ask whether any of them calibrates the picture.

Can I just blur or pixelate the plot area instead of blacking it out?

You can, and on a chart it is a weaker choice than it is on text. Blur here copies the selection's bounding box, shrinks it to a tenth of its width and height, and scales that back up; Pixelate replaces blocks of at least six pixels with the colour sampled from the centre of each block, which is a nearest-neighbour reduction and so preserves hard edges rather than averaging them away. Both are detail reducers. Text redaction leans on that because glyph identity lives in fine detail. A chart's information does not: a bar's length and a line's path are features tens or hundreds of pixels long, so a tenfold reduction of a wide bar chart is still a small bar chart, and the ratio between two bars remains measurable. How much survives depends on the chart, which is the problem - you cannot tell by looking at it on your own screen. Black Box fills the region with flat #111111 and has no strength setting to misjudge.

Would it be cleaner to crop the axis off than to cover it?

No, for two reasons. The practical one is that the editor on this page has no crop, no resize and no rotate at all - it only replaces pixels inside a region you draw - so covering the axis gutter is the move available to you. The more useful reason is that cropping is weaker than it looks here. Dropping the axis strip removes the labels but leaves the gridlines, and gridline spacing is itself a unit: one surviving label anywhere in the frame, or one value the reader already knows, rebuilds the scale on top of that grid. A crop also changes the frame, so the exported image no longer has the same dimensions as the original and can no longer be compared against it. A rectangle over the gutter leaves the frame intact and leaves nothing behind to read.