UPWK · XBRL financial data
Upwork financial statements, every fiscal year
The same tables from 6 filings, lined up. Matched by XBRL tag: renamed lines keep their history.
How these numbers work
- Every number comes from the company's XBRL financial data filed with the SEC, and each one links to its filing.
- Lines are matched by XBRL tag, so a line renamed between filings keeps its history.
- * marks a quarter worked out from the filing totals: the 10-K year minus the first three quarters, or a year-to-date total minus the earlier one. Fourth-quarter earnings per share is fourth-quarter net income over the fourth-quarter weighted shares.
- 0 means a filing states zero; a dash (—) means no filing states that number.
- “year only” means the 10-K gives the full year but not the quarters needed to work out the fourth. A worked-out quarter of revenue, cost of revenue or operating cash flow more than twice the company's largest quarter of the two years before is shown this way too.
- Gross profit is shown as the company reports it; a worked-out quarter must equal revenue less cost of revenue for that quarter, or it is a dash.
- Operating income can be above gross profit when the company books other operating income between the two, shown on its own line.
- Shares outstanding come from each filing's cover page, as of the date printed there.
- Quarters are fiscal: Q2 FY27 is the second quarter of the company's fiscal 2027.
Income statement
CSVFiscal years (UPWK's year ends in late December)
| In millions of dollars | Dec 31, 2020 | Dec 31, 2021 | Dec 31, 2022 | Dec 31, 2023 | Dec 31, 2024 | Dec 31, 2025 |
|---|---|---|---|---|---|---|
| Revenue from contracts with customers | 374 | 503 | 618 | 689 | 769 | 788 |
| Cost of revenue | 3 | — | — | — | — | — |
| Cost of goods and services sold | 104 | 136 | 160 | 170 | 174 | 175 |
| Gross profit | 269 | 367 | 458 | 519 | 595 | 613 |
| Research and development | 83 | 119 | 155 | 177 | 209 | 186 |
| General and administrative | 72 | 113 | 124 | 119 | 129 | 147 |
| Total operating expenses | 292 | 422 | 551 | 530 | 530 | 484 |
| Operating income (loss) | (22) | (54) | (93) | (11) | 65 | 129 |
| Interest income | — | — | 8 | 24 | 28 | 27 |
| Interest expense | 1 | 2 | 4 | — | — | — |
| Other income (expense) | 0 | 0 | 8 | 60 | 25 | 24 |
| Income tax expense (benefit) | 0 | 0 | 1 | 2 | (125) | 38 |
| Net income (loss) | (23) | (56) | (90) | 47 | 216 | 115 |
| Earnings per share, basic USD per share | (0.19) | (0.44) | (0.69) | 0.35 | 1.61 | 0.87 |
| Earnings per share, diluted USD per share | (0.19) | (0.44) | (0.69) | 0.06 | 1.52 | 0.84 |
| Weighted average shares, basic millions of shares | 119 | 127 | 131 | 135 | 134 | 132 |
| Weighted average shares, diluted millions of shares | 119 | 127 | 131 | 137 | 143 | 141 |
Balance sheet
CSVFiscal years (UPWK's year ends in late December)
| In millions of dollars | Dec 31, 2020 | Dec 31, 2021 | Dec 31, 2022 | Dec 31, 2023 | Dec 31, 2024 | Dec 31, 2025 |
|---|---|---|---|---|---|---|
| Cash and cash equivalents | 94 | 187 | 129 | 80 | 306 | 294 |
| Marketable securities | 76 | 498 | 557 | 470 | 316 | 378 |
| Accounts receivable | 47 | 67 | 65 | 103 | 75 | 76 |
| Prepaid and other current assets | 9 | 17 | 18 | 18 | 18 | 21 |
| Total current assets | 361 | 930 | 931 | 883 | 911 | 951 |
| Property and equipment, net | 28 | 21 | 22 | 27 | 30 | 44 |
| Right-of-use asset | 20 | 11 | 8 | 4 | 6 | 5 |
| Goodwill | 118 | 118 | 118 | 118 | 121 | 149 |
| Total assets | 529 | 1,081 | 1,080 | 1,038 | 1,212 | 1,300 |
| Accounts payable | 6 | 5 | 8 | 5 | 6 | 8 |
| Current portion of long-term debt | 8 | 0 | — | — | 0 | 360 |
| Total current liabilities | 199 | 234 | 248 | 293 | 268 | 650 |
| Long-term debt | 3 | 561 | 564 | 356 | 358 | 0 |
| Lease liability, non-current | 21 | 17 | 11 | 6 | 10 | 10 |
| Total liabilities | 230 | 822 | 831 | 656 | 636 | 669 |
| Retained earnings (accumulated deficit) | (195) | (251) | (341) | (294) | (78) | 37 |
| Total stockholders' equity | 299 | 260 | 249 | 381 | 575 | 630 |
| Total liabilities and equity | 529 | 1,081 | 1,080 | 1,038 | 1,212 | 1,300 |
| Common shares outstanding (cover page) millions of shares | 125 | 129 | 132 | 137 | 135 | 130 |
Cash flows
CSVFiscal years (UPWK's year ends in late December)
| In millions of dollars | Dec 31, 2020 | Dec 31, 2021 | Dec 31, 2022 | Dec 31, 2023 | Dec 31, 2024 | Dec 31, 2025 |
|---|---|---|---|---|---|---|
| Net income (loss) | (23) | (56) | (90) | 47 | 216 | 115 |
| Stock-based compensation | 26 | 54 | 76 | 74 | 68 | 65 |
| Depreciation and amortization | — | — | 8 | 9 | 15 | 26 |
| Net cash from operating activities | 22 | 11 | 7 | 27 | 154 | 248 |
| Purchases of property and equipment | 6 | 1 | 1 | 1 | 4 | 6 |
| Net cash from investing activities | (4) | (429) | (69) | 88 | 138 | (137) |
| Share repurchases | — | — | 0 | 0 | 100 | 136 |
| Net cash from financing activities | 55 | 538 | 6 | (114) | (82) | (138) |
| Net change in cash | 73 | 120 | (57) | 1 | 209 | (27) |
Compare with peers
SIC 7374 and related industry codes, similar size. Each row is the latest quarter reported.
How peers are chosen
- SIC 7374 and related industry codes with public float (or, where float is missing, quarterly revenue) between 0.2x and 5x the company's.
- Each row is the latest quarter the company has reported, named in the Quarter column; when that filing is a 10-K, it is the fourth quarter, never the full year.
- Runway shows only for companies burning cash with under $10B of public float.
- * marks a quarter worked out from the filing totals: for a 10-Q, the year-to-date total less the earlier one.
| Company | Cash ($M) | Revenue, quarter ($M) | Operating cash flow, quarter ($M) | Shares outstanding | Runway | Quarter |
|---|---|---|---|---|---|---|
| Upwork | 228 | 186 | 66* | 125.8M | — | 10-QSep 30, 2026 |
| Jamf Holding | 547 | 183 | 66* | 133.2M | — | 10-QSep 30, 2025 |
| DigitalOcean Holdings | 666 | 321 | 161* | 118.0M | — | 10-QSep 30, 2026 |
| Blackbaud | 36 | 293 | 142* | 45.0M | — | 10-QSep 30, 2026 |
| RUM Group | 203 | 40 | (50)* | not reported | 4.1 quarters | 10-QJun 30, 2026 |
| CarGurus | 122 | 251 | 95* | not reported | — | 10-QJun 30, 2026 |
| Innodata | 240 | 92 | 127* | 34.4M | — | 10-QJun 30, 2026 |
| Netscout Systems | 553 | 210 | 51 | 72.7M | — | 10-QJun 30, 2026 |
| Appian | 121 | 203 | 12* | 71.8M | — | 10-QJun 30, 2026 |
Not investment advice. Not affiliated with the U.S. SEC.