A 2-variable scatter plot is a chart that places each row of your data as a single point on a flat plane, with one numeric variable on the horizontal x axis and the other on the vertical y axis, so the relationship between two columns becomes visible at a glance. In Excel, the standard route is to click Insert > Charts > Scatter, pick a subtype, and then tell the wizard which two columns hold your x and y values. That works, but it leaves you cleaning up axis ranges, gridline density, label fonts, and chart titles before the image is ready to share. The Scatter Plot Maker takes a more direct path: you paste one strict x,y pair per non-empty line from your two Excel columns, click generate, and inspect the result on independent linear axes with five reference lines and clear numeric labels. The download is a standalone 800 by 500 SVG that is identical to the preview on the page, so the file you save and the chart you reviewed are guaranteed to be the same image rather than a re-rendered copy.

Prepare the Two Excel Columns for Paste
Before you open the Scatter Plot Maker, your Excel data needs a small amount of cleanup. The parser is intentionally strict, so a little preparation here saves you from invalid row counts later.
- Place your first variable in column A and your second variable in column B. Column A becomes the horizontal x position and column B becomes the vertical y position.
- Format both columns as Number. The strict check applies to the pasted numeric text rather than Excel cell-storage metadata, so after copying and replacing the tab a plain-text value such as "1" can satisfy the exactly-two-numbers rule; values that still carry Excel Text formatting can fail parsing and inflate the invalid row count.
- Delete the header row, or copy only the cells below it. Header text such as Date or Pressure will be checked, rejected, and counted as an invalid row rather than silently dropped from your dataset.
- Select only the two numeric columns. Do not include a third column, footnote text, or unit labels such as kg or C; anything beyond two comma-separated numbers per line fails parsing.
- Copy the selection with Ctrl+C (Cmd+C on macOS) and paste into a plain text editor such as Notepad or TextEdit. The clipboard will arrive as tab-separated values, which you will convert to comma-separated in the next section.
At this point your data is two clean numeric columns with one observation per row, ready for the chart. If you need an example of working with Excel date numbers in the same kind of paste-and-export flow, the Make a Bar Chart From Excel Data Without Excel guide shows the parallel workflow for label,value pairs.
Turn the Rows Into a 2-Variable Scatter Plot
With your two columns cleaned up, the actual chart takes three steps. The interface is small and the parser handles the rest.
- Open the Scatter Plot Maker and type a title in the title field. The title appears at the top of the preview and is XML-escaped before it enters the SVG, so any text you enter stays as visible text and cannot create extra SVG elements.
- Convert the tab-separated rows into the strict x,y format. Replace each tab between your two values with a comma, then verify that every non-empty line contains exactly two comma-separated numbers. Signed values, decimals, zero, and scientific notation such as 1.5e3 are accepted.
- Click Generate. The summary reports three separate counts: valid points, invalid rows, and over-limit rows. If no valid point remains, generation reports an error and clears any older chart instead of producing a chart or normal download. Valid points become the blue circles in the preview. Invalid rows are rows that failed parsing for reasons such as empty components, extra commas, unit text, hex, Infinity, NaN, or magnitudes above 1e12. Over-limit rows are non-empty rows past the 200 row boundary, kept separate from invalid rows so you know they were deliberately not parsed rather than rejected for a formatting problem.
Inspect at least one point title in the preview before downloading. Each circle carries a text title with its exact formatted x and y values for SVG-aware viewers, so hovering or opening the file in a text editor lets you confirm specific coordinates landed where you expected.
Read the Axis Ranges and the Five Reference Lines
The preview is more than a pretty picture. Five vertical and five horizontal reference lines, paired with their numeric labels, expose the actual displayed range of both axes. The smallest x value among your valid points maps to the left plot boundary and the largest x value maps to the right. The smallest y value maps to the bottom and the largest y value maps to the top. Values between those limits are placed in direct proportion to their numeric distance, so larger gaps occupy more horizontal or vertical space.
For example, with x values 10, 30, and 50, the x axis spans 40 units end to end. The point with x equals 30 sits at the fraction (30 minus 10) divided by (50 minus 10), which equals 0.5 across the plot width, exactly halfway between the left and right boundaries.
| Aspect | X axis (horizontal) | Y axis (vertical) |
|---|---|---|
| Scale type | Independent linear | Independent linear |
| Lowest label position | Left plot boundary | Bottom plot boundary |
| Highest label position | Right plot boundary | Top plot boundary |
| Reference lines | 5 vertical lines with numeric labels | 5 horizontal lines with numeric labels |
| Constant column behavior | Expands symmetrically around the constant | Expands symmetrically around the constant |
| Includes zero automatically | No, check the labels | No, check the labels |
Because the axes do not automatically include zero, the apparent spread of a cluster can mislead if you read the shape without first reading the numeric labels. Always inspect the labeled values on both axes before drawing any conclusion about a trend.
What Each Row Category Means
The parser separates valid, invalid, and over-limit rows on purpose. Knowing which category a row fell into tells you whether to fix the source data or accept the skip.
| Row category | What it means | Example |
|---|---|---|
| Valid | Two comma-separated finite numbers within plus or minus 1e12. Becomes one blue circle in the preview. | 10,20 or 1.5e3,-2.4 |
| Invalid | Row was checked but failed parsing. Counted but never plotted, never silently turned into zero. | 10,kg or 10,20,30 or 0xFF or empty components |
| Over-limit | Non-empty row past the 200 row boundary. Kept separate from invalid so you know it was deliberately not parsed, not rejected. | Row 201 and beyond |
| Blank | Empty line. Ignored entirely and not counted in any category. | An empty line between two data rows |
Negative zero such as -0 is normalized to 0 and counts as a valid point. The first 200 non-empty rows are checked and everything after that boundary is counted as over-limit. Total input is capped at 50,000 UTF-16 code units, and input above this cap is rejected before any rows are checked, so the 200-row over-limit treatment does not apply to over-cap input.
Handle Constant Columns and Single Points
When every x value in your data is identical, the x axis would otherwise have a minimum equal to its maximum and a direct division would produce invalid coordinates. The tool handles this case by expanding the x domain symmetrically around that single constant value and centering every point horizontally. The expansion amount is the larger of ten percent of the absolute constant or one unit, so a column full of 5s gets a small but visible domain around 5 instead of a flat line of overlapping circles. The same rule applies independently to a constant y column.
As a result, a single valid point appears in the center of both axes instead of failing the plot. The five reference lines on the constant axis span values around the constant rather than all showing the same value, which is the visual signal that your column did not actually vary. The chart does not draw a baseline or trend line for you; it only marks the supplied pairs.
Download the Standalone SVG and Verify
Once the preview matches your expectations, click the download control to save the chart. The export is a standalone 800 by 500 SVG with a white background, title, grid, numeric axis labels, and point markers. Because SVG is a vector format defined by the W3C, lines, text, and circles remain sharp at any size; the MDN SVG tutorial covers how text titles, attributes, and grouping work in modern viewers.
The on-page preview and the downloaded file are not reconstructed separately. Both use the same percent-encoded SVG data URI derived from one generated string, so the file you save is the same chart you reviewed rather than a re-rendered copy. Editing the title or the data clears that string and disables the old download, so you cannot accidentally save an out-of-date preview.
When a Dedicated Plotting Package Is the Better Tool
The Scatter Plot Maker is a fast visualization, not a precision-preserving data format. The chart does not calculate correlation, regression, a trend line, confidence intervals, error bars, density, clusters, or statistical significance. Coordinates are rounded to three decimal places in the SVG and axis labels use practical significant digits or scientific notation for very large and very small values, so the file is suitable for inspection and reports but not for archival analysis. Keep the original Excel rows for any number you may need to revisit.
If your two columns actually contain a category label and a numeric count rather than two numeric measurements, a bar chart is the right chart type; the same browser workflow applies to that case as well. For dense data, categorical color, accessible labeling, logarithmic scales, publication styling, or any formal statistical analysis, use a dedicated plotting package and retain the source dataset. The tool is also local: parsing, coordinate calculation, SVG creation, preview, and download stay in the current browser tab, so nothing is uploaded when you paste your two Excel columns into the input.
Troubleshooting Common Setup Issues
Most problems with the workflow come from the Excel side, not the chart side. Cells formatted as Text will appear in the paste but fail parsing and inflate the invalid count. Hidden rows in Excel copy through to the paste and produce stray invalid or zero-looking entries. Currency symbols, percent signs, and parentheses for negatives all need to be removed or reformatted before pasting; the parser accepts a leading minus sign but not $1,000 or (1,000). Trailing spaces after a number also break the strict two-value check, so a quick find-and-replace for the tab character and surrounding whitespace saves time on large columns.
Overlapping points can hide one another in the preview, especially when identical pairs repeat. Each circle carries its exact formatted values as an SVG text title, but overlapping circles hide lower elements and their text titles do not expose coordinates for points hidden underneath, so verify the valid point count and revisit the source data when points repeat or cluster. Because the export is a vector file, you can also scale it up in any vector editor without losing detail when you need to see individual circles in a dense cluster.