Home › Device & Internet Tests › Online Serial Plotter

Online Serial Plotter

Graph live numbers from an Arduino, ESP32, Raspberry Pi Pico or any USB-to-serial device right in your browser. Print comma, space or label:value separated readings and watch them as colored lines; pause to scroll back, zoom, and save the data as CSV.

Last updated:

Demo signal

Plot pasted data (no device needed)
Last raw lines

  
Advertisement
Advertisement

How to use the Online Serial Plotter

  1. Print numbers from your sketch, one reading per line, for example Serial.print(a); Serial.print(','); Serial.println(b);.
  2. Close other serial apps such as the Arduino IDE Serial Monitor, because only one program can use a port at a time.
  3. Pick the baud rate that matches Serial.begin() and click Connect serial port, then choose your board in the browser's list.
  4. Watch the lines draw in real time. Click a legend item to hide a line, or switch the Y axis to a fixed range.
  5. Pause and zoom to inspect a spike: drag the chart or use the slider to scroll back, and the Zoom buttons (or Ctrl + mouse wheel) to change how many points are shown.
  6. Download CSV to open the recorded samples in a spreadsheet, or Download PNG to save the chart.

Example Arduino sketch for the serial plotter

Any program that prints numbers followed by a newline will plot. This short sketch sends two analog readings and their average as labeled values:

void setup() {
  Serial.begin(115200);
}

void loop() {
  int a = analogRead(A0);
  int b = analogRead(A1);
  Serial.print("A0:");  Serial.print(a);
  Serial.print(",A1:"); Serial.print(b);
  Serial.print(",avg:"); Serial.println((a + b) / 2.0);
  delay(20);   // about 50 lines per second
}

On an ESP32 or Raspberry Pi Pico running MicroPython, print(a, b, sep=",") works the same way.

Accepted line formats

Line sent by the deviceResult in the plotter
512One line named Value 1
512,300,-12.5Three lines (Value 1, 2, 3)
512 300 or tab separatedTwo lines; spaces, tabs, commas and semicolons all work
temp:21.5,hum:40Two lines named temp and hum
x=0.12 y=-0.98 z=9.81Three lines named x, y and z
pitch roll (words only)Header: names the following unlabeled columns
Booting...Ignored (shown only in Last raw lines)
1.2e-3Scientific notation is supported

Tips for smooth live plots

  • Pick a fast baud rate such as 115200 when you send many values; at 9600 baud only about 960 characters per second fit through the link.
  • Add a small delay (10 to 50 ms) in your loop. Hundreds of lines per second are fine, but a few dozen are easier to read.
  • Keep the label names short and the same on every line, so each value stays on its own colored line.
  • Use a fixed Y range (for example 0 to 1023 for a 10-bit ADC) when auto scaling makes small noise look huge.
  • Pause before you export if you want the CSV to match exactly what you are looking at.

Frequently asked questions

What data format does the serial plotter understand?

Send one reading per line, ending with a newline (Serial.println). Numbers can be separated by commas, spaces, tabs or semicolons, like 12,34.5,-7. You can also label values as name:value or name=value, for example temp:21.5,hum:40, and each label becomes its own line in the chart. A line that contains only words, such as temp hum, is used as names for the unlabeled columns that follow.

Which browsers support the online serial plotter?

Connecting to a real serial port needs the Web Serial API, which is available in desktop Chrome, Edge and Opera version 89 or newer on a secure https page. Firefox and Safari do not support Web Serial. In those browsers you can still use the demo signal or paste saved serial output to plot it.

Why does the plot show nothing or random garbage?

The most common cause is a baud rate mismatch: the rate selected here must equal the one in Serial.begin() on your board. Also check that each reading ends with a newline, that the USB cable carries data (not charge-only), and that no other program, such as the Arduino IDE Serial Monitor, has the port open.

How many values and samples can it plot?

Each line can hold up to 10 or more values; the first ten get distinct colors. The plotter keeps the most recent 60,000 samples in memory, and when that fills up it drops the oldest 10,000. You can show between 10 and 60,000 points at once; very dense windows are drawn with min/max decimation so short spikes are not lost.

How do I save the plotted data?

Click Download CSV. The file has one row per received line with the sample number, the time in milliseconds since the plot started and one column per series. Missing values are left empty, so the file opens cleanly in Excel, Google Sheets or LibreOffice. Download PNG saves an image of the current chart view.

Is my serial data sent anywhere?

No. The page reads the port directly through your browser and draws the chart locally. Nothing is uploaded, and the browser only lets the page access the specific port you choose in its permission dialog.

How is this different from the Arduino IDE Serial Plotter?

It works the same way, reading newline-terminated numbers, but runs in a browser tab with no install. It adds pausing with scroll back, adjustable window size, fixed or automatic Y range, per-line min/max readouts and CSV export of every sample.

Are all the tools on FreeToolCabin tested for quality and accuracy?

Yes! Every tool on our site undergoes automated Q/A testing in real browser environments to ensure high precision, correct output, and zero errors. If you happen to spot a bug or have a suggestion, please contact us at [email protected] and our team will review it right away.

Related tools

Online Serial MonitorTalk to Arduino, ESP32 and USB serial devices in your browser: log, send, plot and save.MIDI MonitorLog every MIDI message from all inputs: notes, CC, pitch bend, clock and SysEx in hex.Gamepad TesterTest controller buttons, triggers, stick drift and vibration in your browser.Chart MakerMake bar, line, area, pie and doughnut charts from a simple table and download PNG or SVG.Bluetooth Device ScannerFind nearby Bluetooth LE devices and read their services, characteristics and battery level.Internet Speed TestMeasure download, upload, ping and jitter.What Is My IPSee your public IP address and location.Vibration TestTest your phone's vibration motor with short, long, SOS, heartbeat and custom patterns.Battery Status CheckerCheck your battery level, charging state and time to full or empty.What Are My GPS CoordinatesSee your latitude and longitude in decimal and DMS, with accuracy and maps.Online CompassUse your phone as a compass with heading in degrees and cardinal points.Bubble LevelTurn your phone into a spirit level with surface and bar modes.Online ProtractorMeasure any angle on screen or in a photo with a draggable 360° protractor.Browser Feature CheckerTest which Web APIs, CSS features and JavaScript syntax your browser supports.Local Storage InspectorView, edit and clear the cookies, localStorage and other data this site stores in your browser.FPS TestMeasure your browser's live frame rate, 1% lows and frame times, and compare 15-240 FPS.GPU TestSee your graphics card, WebGL and WebGPU support and limits, and run a quick GPU benchmark.CPU BenchmarkTest your processor's single-thread and multi-thread speed in the browser and compare scores.Ping TestCheck your latency, jitter and packet loss to Cloudflare, Google and other servers live.Accelerometer TestCheck your phone's accelerometer and gyroscope with live values, graphs and a tilt ball.Browser Fingerprint TestSee how unique your browser is: canvas, WebGL, audio, font and screen fingerprints, run locally.WebRTC Leak TestCheck if WebRTC exposes your real public or local IP address, even behind a VPN.IPv6 TestTest whether your connection supports IPv6, see your IPv4 and IPv6 addresses and check any site.Sequence Memory TestWatch squares flash in a 3x3 grid and repeat the growing sequence. Track your best level.Visual Memory TestRemember which squares light up as the grid grows. Three lives, levels and score history.Ad Blocker TestCheck if your ad blocker works: bait ad elements and ad/tracker requests, with every result listed.Browser Notification TestCheck notification permission, request it and send test notifications with custom options.Browser Storage TestSee your browser's storage quota and usage, and test localStorage, IndexedDB and cookie limits.Device Info CheckerSee your device's OS, CPU cores, memory, GPU, screen, network, battery and sensors in one report.Gyroscope TestCheck your phone's gyroscope with live rotation readings, a 3D phone model and graphs.WebGPU TestCheck if your browser supports WebGPU, see adapter info, limits and features, and run a GPU benchmark.4K Video Playback TestPlay generated 1080p, 4K or 8K test clips and see decode speed, dropped frames and smoothness.Browser BenchmarkTest your browser's speed: JavaScript, DOM, Canvas, WebGL, JSON and regex scores in one run.Bufferbloat TestMeasure lag under load: idle vs loaded latency, graded A+ to F with a latency chart.Cloud Ping TestPing AWS cloud regions worldwide from your browser and find the lowest-latency data center.Fake Flash Drive CheckerFill a USB drive or SD card with test data and read it back to expose fake capacity and bad memory.GPS SpeedometerLive GPS speed in mph, km/h or knots with max, average, trip distance and HUD mode.Am I Connected to the InternetCheck if your internet really works: tests several servers, latency and captive Wi-Fi portals.Video Codec Support CheckerCheck H.264, HEVC, VP9 and AV1 support at 1080p, 4K, 8K and HDR, with hardware decode hints.What Is My ElevationSee your current elevation above sea level in feet and meters from GPS and terrain data.What Is My Time ZoneSee your time zone, UTC offset, abbreviation and daylight saving status instantly.Are Cookies Enabled TestCheck if cookies, localStorage and sessionStorage work in your browser, with fix steps.Dual N-Back TestWorking memory training: match squares and spoken letters from N steps back, with auto-levels.GPS Route TrackerRecord a walk, run or ride on a map: distance, time, pace, elevation, GPX and KML export.Is JavaScript Enabled TestCheck instantly if JavaScript is enabled, see your JS engine and get how-to-enable steps.Online PedometerCount steps with your phone's motion sensor: distance, calories, cadence and saved sessions.Qibla Direction FinderFind the Qibla from your location: exact bearing to the Kaaba, live phone compass and map path.Reading Speed TestTime how fast you read a passage, answer comprehension questions and compare with adult averages.USB Drive Speed TestMeasure USB flash drive and SD card write and read speed in MB/s, right in your browser.
See all 46 Network, Browser & System Tests →