How this works: this page parses R's own serialization format (the binary layout saveRDS() and save() write, serialization format versions 2 and 3 — everything R has written by default since R 2.4) directly in your browser tab, including the gzip compression R applies by default. The file is read with the File API and never uploaded anywhere.
A data frame's columns become CSV columns, with factor columns expanded to their level labels and R's NA rendered as a blank cell. A plain vector exports as one column; a matrix exports as a grid, respecting R's own row/column layout.
Lists, nested data structures, S4 objects, environments, and functions aren't flattened to CSV — a list's top-level named elements are shown so you can pick a data frame or vector inside it, but a list-within-a-list isn't expanded further. Some R objects use an internal "ALTREP" optimization (for example a column created directly from 1:n); the common cases (compact integer/real sequences) are handled, but an unusual one may be reported as unsupported — run x <- as.vector(x) on that column before saving if you hit this.
Troubleshooting
What's the difference between .RData/.rda and .rds?
save() writes a .RData or .rda file that can hold several named objects at once (a whole workspace); saveRDS() writes a .rds file holding exactly one object. This page reads both: a workspace lists every object it contains so you can pick one, and a single-object .rds file (if it's itself a list) does the same with that list's contents.
An object shows as "list" and isn't clickable
CSV is a flat, two-dimensional format, so a list containing other lists (or a mix of unrelated objects) doesn't map onto it directly. This page shows one level of a list's contents so you can find the data frame or vector inside it; a nested list inside that isn't expanded further.
An object shows as "unsupported"
S4 objects, environments, closures (functions), complex numbers, and a handful of R's internal "ALTREP" optimizations for lazily-computed vectors aren't supported for CSV export. For an ALTREP case specifically, running x <- as.vector(x) (or as.integer()/as.double()/as.character()) on that object before saving usually resolves it.
My file won't open at all
This page reads the standard XDR-format serialization R writes by default. If the file was saved with saveRDS(x, file, compress="bzip2") or compress="xz", re-save it with compress="gzip" (or just compress=TRUE, the default) and try again — gzip is the only compression this page decodes.
Prefer the command line?
For a .RData/.rda workspace, use load("file.RData") instead, which brings every saved object into your R session by its original name.