Rank Rows in CSV Files Online
Add a rank column to CSV files based on any column's values. Choose RANK, DENSE RANK, or ROW NUMBER, with optional partitioning — runs entirely in your browser.
How to rank Rows in CSV files
- Drop your file onto the upload area. It is loaded into the in-browser engine and the first 200 rows are shown.
- Choose the Sort by column and a direction: Highest first (the default) or Lowest first.
- Optionally pick a Partition by column so ranking restarts at 1 in each group, and change the output column name from rank if you like.
- Pick a rank method: RANK (gaps after ties: 1, 1, 3), DENSE RANK (no gaps: 1, 1, 2) or ROW NUMBER (always unique: 1, 2, 3). Click Add Rank Column.
- The rank column is added as the first column. Check the preview, then download in the same format you uploaded.
Your file is processed locally in your browser and is never uploaded. The free limit is 50 MB per file; larger files work if your device has the memory for them.
Worked example
A warehouse tracks how many orders each picker completed on the early and late shifts. The supervisor wants a leaderboard for each shift, and two early-shift pickers finished level.
Input (CSV)
picker,shift,orders_picked
Maya,Early,14
Tom,Early,9
Ines,Early,14
Kofi,Late,11
Lena,Late,7
Raj,Late,12Settings
- Sort by column: orders_picked
- Direction: Highest first
- Partition by: shift
- Rank method: RANK
- Output column name: rank
Result
| rank | picker | shift | orders_picked |
|---|---|---|---|
| 1 | Maya | Early | 14 |
| 1 | Ines | Early | 14 |
| 3 | Tom | Early | 9 |
| 1 | Raj | Late | 12 |
| 2 | Kofi | Late | 11 |
| 3 | Lena | Late | 7 |
Ranking restarts for each shift. Maya and Ines both picked 14, so both are ranked 1, and RANK skips 2, so Tom is 3. With DENSE RANK Tom would be 2. With ROW NUMBER one of the tied pair would get 2, and which one is not fixed. Here the rows came back grouped by shift, but output row order is not guaranteed. Sort afterwards if order matters.
Working with CSV files
Ranking follows the type each column was given when the CSV loaded. A numeric column ranks by value. If a column that looks numeric was loaded as text, because of one "n/a" or a stray unit, it ranks character by character, so "10" comes before "9". Text also ranks by character code, so capital letters sort ahead of lower case: "Zeta" ranks before "alpha" in Lowest first order. Use Cast Column Types or Convert Case first if that matters. The Sort by list shows every column, not only numeric ones, so you can also rank by a date or a name. Values such as 2.50 and 2.5 load as the same number and tie.
Empty fields load as NULL and always rank last, in both directions. With Highest first, a blank score gets the worst rank, not the best. The rank column is written as the first field of every line in the downloaded CSV. Scripts that read CSV columns by position rather than by header name will need adjusting.
Frequently Asked Questions
Why does my CSV rank put 10 before 9?
The column was loaded as text, so it is ranked character by character. Check the column type in the preview. Remove whatever non-numeric values are in it, or use Cast Column Types, then rank again.
Where do blank CSV values end up in the ranking?
Blanks are NULL and rank last whichever direction you choose, so they get the highest rank numbers.
What is the difference between RANK, DENSE RANK and ROW NUMBER?
RANK gives ties the same number and skips the next ones (1, 1, 3). DENSE RANK gives ties the same number with no gap (1, 1, 2). ROW NUMBER gives every row a unique number (1, 2, 3), and the order between tied rows is not fixed.
Can I rank by more than one column, for example to break ties?
No. The tool ranks by one Sort by column, optionally within one Partition by column. For multi-column ordering, use the SQL Query tool with RANK() OVER (ORDER BY a DESC, b ASC).
How do I keep only the top 3 in each group?
Rank with a partition, then use Filter to keep rows where the rank is 3 or less. Top N per Group does both steps in one go.
Related Tools
Get Top N Rows from CSV Files Online
Extract the top N rows per group from CSV files directly in your browser. Get the top 5 products per category, highest scores per team, or any ranked subset — no upload required.
Filter CSV Files Online
Filter rows in CSV files by column value, directly in your browser. Your data stays on your device.
Sort CSV Files Online
Sort CSV files by any column, ascending or descending, directly in your browser.
Rank Rows in Excel Files Online
Add a rank column to Excel files based on any column's values. Choose RANK, DENSE RANK, or ROW NUMBER, with optional partitioning — runs entirely in your browser.
Rank Rows in Parquet Files Online
Add a rank column to Parquet files based on any column's values. Choose RANK, DENSE RANK, or ROW NUMBER, with optional partitioning — runs entirely in your browser.
Rank Rows in JSON Files Online
Add a rank column to JSON files based on any column's values. Choose RANK, DENSE RANK, or ROW NUMBER, with optional partitioning — runs entirely in your browser.
CSV Viewer Online
View and inspect CSV files directly in your browser. Browse rows, check column names and data types — no upload required, your data stays on your device.
Convert CSV to Parquet Online
Convert CSV files to Parquet format directly in your browser. No upload required — your data never leaves your device.