UPWORK, INC
UPWK · Services-Computer Processing & Data Preparation · 123.5M shares · +6%/yr ↑ shares · EDGAR filings ↗
Reference price $8.15 · est. market cap ~$1.0B — last insider sale, 2026-06-18 (estimated from the dated SEC Form 4 price × shares outstanding — not a live quote)
Grade
B74Profitable freelance marketplace with elite FCF and margins, but slowing growth.
Strengths
- Elite cash generation — FCF margin 30.8% (86th), OCF margin 31.5% (93rd), FCF $242.5M
- Strong profitability, no debt — operating margin 16.4% (85th), net margin 14.7%, D/E 0.00
- Good returns — ROE 18.3% (57th)
Risks
- Slow growth — +2.4% (32nd)
- Earnings dipped — net income -46.5% (38th)
- Take-rate and gig-demand sensitivity — per 10-K
Notable findings
- Exec changeRecent 8-K item 5.02 8-K ↗
- Customer concentration~70% of revenue from one customer/distributor — clients, compared to approximately 70% and 69% in 2024 and 2023, respectively, with no other country representing more than 10% of GSV in any such year
- Fund exitedNotable fund(s) exited this quarter: VANGUARD GROUP INC, Bridgewater Associates, LP
- Strong balance sheetStrong balance sheet — $673M cash & investments
- Notable holderHeld by 5 notable fund(s): STATE STREET CORP, FMR LLC, GOLDMAN SACHS GROUP INC +2 more (as of 2026-03-31)
- Insider sellingInsider selling — 17 open-market sale(s) by 5 insider(s) (cluster of 5 insiders, ~$4M, last 6mo) Form 4 ↗
Quarterly revenue
Last 4 quarters · from SEC filings.
Key metrics
Gross margin
77.8%
Operating margin
16.4%
Net margin
14.7%
Return on equity
18.3%
Return on assets
8.9%
ROIC
16.2%
Revenue growth (QoQ)
-1.5%
Net-income growth
-46.5%
Debt / equity
0.0×
Net debt / EBITDA
-4.3×
Current ratio
1.5×
Free cash flow
$242M
EBITDA
$155M
Tangible book value
$444M
Cash & investments
$673M
Stock comp / revenue
8.3%
Insider transactions · last 18 months
| Date | Insider | Type | Shares | Price |
|---|---|---|---|---|
| 2026-06-18 | Gessert Erica | Sell | 9.2K | $8.15 |
| 2026-06-18 | Gessert Erica | Option exercise | 9.7K | — |
| 2026-06-18 | Mekhalfa Sabrina | Option exercise | 3.6K | — |
| 2026-06-18 | Gessert Erica | Option exercise | 8.4K | — |
| 2026-06-18 | Mekhalfa Sabrina | Sell | 1.3K | $8.15 |
| 2026-06-18 | Brown Hayden | Option exercise | 18K | — |
| 2026-06-18 | Brown Hayden | Option exercise | 29K | — |
| 2026-06-18 | Brown Hayden | Sell | 23K | $8.15 |
| 2026-06-04 | BRAMLEY CLAIRE | Grant | 45K | — |
| 2026-06-04 | Steele Gary | Grant | 6.2K | — |
| 2026-06-04 | Steele Gary | Grant | 21K | — |
| 2026-06-04 | EVAN DANA L | Grant | 21K | — |
| 2026-06-04 | KELMAN GLENN | Grant | 6.2K | — |
| 2026-06-04 | KELMAN GLENN | Grant | 21K | — |
| 2026-06-04 | LISSY DAVID H | Grant | 45K | — |
| 2026-06-04 | LISSY DAVID H | Grant | 21K | — |
| 2026-06-04 | HARVEY KEVIN | Grant | 6.2K | — |
| 2026-06-04 | HARVEY KEVIN | Grant | 21K | — |
| 2026-06-04 | LAYTON THOMAS | Grant | 6.2K | — |
| 2026-06-04 | LAYTON THOMAS | Grant | 6.8K | — |
| 2026-06-04 | LAYTON THOMAS | Grant | 21K | — |
| 2026-05-18 | Gessert Erica | Option exercise | 38K | — |
| 2026-05-18 | Gessert Erica | Option exercise | 8.5K | — |
| 2026-05-18 | Gessert Erica | Sell | 22K | $8.66 |
| 2026-05-18 | Kappus Anthony Ray | Option exercise | 5.1K | — |
| 2026-05-18 | Kappus Anthony Ray | Sell | 1.9K | $8.66 |
| 2026-05-18 | Brown Hayden | Option exercise | 15K | — |
| 2026-05-18 | Brown Hayden | Option exercise | 18K | — |
| 2026-05-18 | Brown Hayden | Option exercise | 14K | — |
| 2026-05-18 | Brown Hayden | Sell | 23K | $8.66 |
| 2026-05-18 | Brown Hayden | Sell | 50K | $8.57 |
| 2026-03-19 | Bottoms Dave | Sell | 7.0K | $11.49 |
| 2026-03-18 | Bottoms Dave | Option exercise | 6.0K | — |
| 2026-03-18 | Bottoms Dave | Option exercise | 5.9K | — |
| 2026-03-18 | Bottoms Dave | Sell | 12K | $12.31 |
| 2026-03-18 | Brown Hayden | Sell | 24K | $12.31 |
| 2026-03-18 | Bottoms Dave | Option exercise | 9.0K | — |
| 2026-03-18 | Gessert Erica | Option exercise | 8.4K | — |
| 2026-03-18 | Gessert Erica | Option exercise | 9.7K | — |
| 2026-03-18 | Gessert Erica | Sell | 9.3K | $12.31 |
| 2026-03-18 | Mekhalfa Sabrina | Option exercise | 3.6K | — |
| 2026-03-18 | Mekhalfa Sabrina | Sell | 1.5K | $12.31 |
| 2026-03-18 | Brown Hayden | Option exercise | 18K | — |
| 2026-03-18 | Brown Hayden | Option exercise | 29K | — |
| 2026-02-19 | Bottoms Dave | Sell | 16K | $13.51 |
| 2026-02-18 | Brown Hayden | Option exercise | 9.6K | — |
| 2026-02-18 | Brown Hayden | Option exercise | 18K | — |
| 2026-02-18 | Bottoms Dave | Option exercise | 3.8K | — |
| 2026-02-18 | Bottoms Dave | Sell | 17K | $13.80 |
| 2026-02-18 | Brown Hayden | Sell | 50K | $13.79 |
| 2026-02-18 | Brown Hayden | Option exercise | 7.6K | — |
| 2026-02-18 | Gessert Erica | Option exercise | 38K | — |
| 2026-02-18 | Gessert Erica | Sell | 26K | $13.80 |
| 2026-02-18 | Brown Hayden | Sell | 73K | $13.80 |
| 2026-02-18 | Brown Hayden | Option exercise | 15K | — |
| 2026-02-17 | Brown Hayden | Option exercise | 128K | — |
| 2026-02-17 | Bottoms Dave | Option exercise | 29K | — |
| 2026-02-17 | Gessert Erica | Option exercise | 40K | — |
| 2025-12-19 | Bottoms Dave | Sell | 9.6K | $20.66 |
| 2025-12-18 | Bottoms Dave | Sell | 11K | $20.59 |
| 2025-12-18 | Gessert Erica | Option exercise | 8.4K | — |
| 2025-12-18 | Gessert Erica | Option exercise | 9.7K | — |
| 2025-12-18 | Gessert Erica | Sell | 9.0K | $20.59 |
| 2025-12-18 | Brown Hayden | Option exercise | 18K | — |
| 2025-12-18 | Brown Hayden | Option exercise | 29K | — |
| 2025-12-18 | Bottoms Dave | Option exercise | 5.9K | — |
| 2025-12-18 | Brown Hayden | Sell | 23K | $20.59 |
| 2025-12-18 | Bottoms Dave | Option exercise | 9.0K | — |
| 2025-12-18 | Bottoms Dave | Option exercise | 6.0K | — |
| 2025-11-26 | Brown Hayden | Sell | 175K | $19.43 |
| 2025-11-26 | Brown Hayden | Sell | 100K | $19.44 |
| 2025-11-25 | Brown Hayden | Sell | 75K | $19.78 |
| 2025-11-21 | Steele Gary | Sell | 12K | $17.51 |
| 2025-11-21 | Brown Hayden | Sell | 60K | $18.20 |
| 2025-11-19 | Bottoms Dave | Sell | 1.7K | $18.13 |
| 2025-11-18 | Bottoms Dave | Sell | 1.0K | $17.24 |
| 2025-11-18 | Gessert Erica | Option exercise | 38K | — |
| 2025-11-18 | Gessert Erica | Sell | 9.1K | $16.14 |
| 2025-11-18 | Gessert Erica | Sell | 9.4K | $17.24 |
| 2025-11-18 | Brown Hayden | Option exercise | 9.6K | — |
| 2025-11-18 | Brown Hayden | Option exercise | 7.6K | — |
| 2025-11-18 | Brown Hayden | Option exercise | 15K | — |
| 2025-11-18 | Brown Hayden | Option exercise | 18K | — |
| 2025-11-18 | Brown Hayden | Sell | 12K | $16.14 |
| 2025-11-18 | Brown Hayden | Sell | 13K | $17.24 |
| 2025-11-18 | Bottoms Dave | Option exercise | 3.8K | — |
| 2025-11-18 | Bottoms Dave | Sell | 955 | $16.14 |
| 2025-11-17 | Bottoms Dave | Sell | 561 | $16.45 |
| 2025-09-19 | Brown Hayden | Sell | 20K | $20.00 |
| 2025-09-19 | Bottoms Dave | Sell | 10K | $19.96 |
| 2025-09-18 | Bottoms Dave | Option exercise | 5.9K | — |
| 2025-09-18 | Bottoms Dave | Sell | 11K | $19.16 |
| 2025-09-18 | Gessert Erica | Option exercise | 8.4K | — |
| 2025-09-18 | Gessert Erica | Option exercise | 9.7K | — |
| 2025-09-18 | Brown Hayden | Sell | 20K | $19.00 |
| 2025-09-18 | Brown Hayden | Option exercise | 18K | — |
| 2025-09-18 | Brown Hayden | Option exercise | 29K | — |
| 2025-09-18 | Brown Hayden | Sell | 22K | $19.16 |
| 2025-09-18 | Gessert Erica | Sell | 8.7K | $19.16 |
| 2025-09-18 | Bottoms Dave | Option exercise | 9.0K | — |
| 2025-09-18 | Bottoms Dave | Option exercise | 6.0K | — |
| 2025-09-17 | Brown Hayden | Sell | 20K | $18.00 |
| 2025-08-29 | Bottoms Dave | Sell | 1.7K | $14.95 |
| 2025-08-19 | Marie Olivier | Sell | 1.7K | $13.88 |
| 2025-08-18 | Bottoms Dave | Sell | 2.1K | $13.84 |
| 2025-08-18 | Gessert Erica | Option exercise | 38K | — |
| 2025-08-18 | Gessert Erica | Sell | 19K | $13.84 |
| 2025-08-18 | Bottoms Dave | Option exercise | 3.8K | — |
| 2025-08-18 | Brown Hayden | Option exercise | 9.6K | — |
| 2025-08-18 | Brown Hayden | Option exercise | 7.6K | — |
| 2025-08-18 | Brown Hayden | Option exercise | 15K | — |
| 2025-08-18 | Brown Hayden | Option exercise | 18K | — |
| 2025-08-18 | Brown Hayden | Sell | 26K | $13.84 |
| 2025-08-18 | Marie Olivier | Option exercise | 1.4K | — |
| 2025-08-18 | Marie Olivier | Option exercise | 1.2K | — |
| 2025-08-18 | Marie Olivier | Sell | 941 | $13.84 |
| 2025-08-15 | Brown Hayden | Sell | 60K | $13.76 |
| 2025-08-14 | Marie Olivier | Sell | 1.3K | $14.00 |
| 2025-08-08 | Bottoms Dave | Sell | 9.0K | $12.88 |
| 2025-06-23 | Marie Olivier | Sell | 1.8K | $13.24 |
| 2025-06-20 | Marie Olivier | Sell | 748 | $13.24 |
| 2025-06-18 | Marie Olivier | Option exercise | 1.2K | — |
| 2025-06-18 | Marie Olivier | Sell | 1.9K | $13.50 |
| 2025-06-18 | Gessert Erica | Option exercise | 8.4K | — |
| 2025-06-18 | Gessert Erica | Option exercise | 9.7K | — |
| 2025-06-18 | Gessert Erica | Sell | 9.3K | $13.51 |
| 2025-06-18 | Marie Olivier | Option exercise | 2.6K | — |
| 2025-06-18 | Brown Hayden | Option exercise | 29K | — |
| 2025-06-18 | Brown Hayden | Sell | 24K | $13.51 |
| 2025-06-18 | Bottoms Dave | Option exercise | 9.0K | — |
| 2025-06-18 | Bottoms Dave | Option exercise | 6.0K | — |
| 2025-06-18 | Bottoms Dave | Option exercise | 5.9K | — |
| 2025-06-18 | Bottoms Dave | Sell | 12K | $13.51 |
| 2025-06-18 | Brown Hayden | Option exercise | 18K | — |
| 2025-06-18 | Marie Olivier | Option exercise | 1.4K | — |
| 2025-06-06 | Srinivasan Leela | Sell | 3.3K | $15.36 |
| 2025-06-05 | LAYTON THOMAS | Grant | 3.7K | — |
| 2025-06-05 | KELMAN GLENN | Grant | 25K | — |
| 2025-06-05 | KELMAN GLENN | Grant | 11K | — |
| 2025-06-05 | KELMAN GLENN | Grant | 3.4K | — |
| 2025-06-05 | EVAN DANA L | Grant | 25K | — |
| 2025-06-05 | EVAN DANA L | Grant | 11K | — |
| 2025-06-05 | Srinivasan Leela | Grant | 11K | — |
| 2025-06-05 | Srinivasan Leela | Sell | 6.5K | $15.16 |
| 2025-06-05 | Steele Gary | Grant | 11K | — |
| 2025-06-05 | Steele Gary | Grant | 3.4K | — |
| 2025-06-05 | Vazquez-Ubarri Anilu | Grant | 11K | — |
| 2025-06-05 | LAYTON THOMAS | Grant | 11K | — |
| 2025-06-05 | LAYTON THOMAS | Grant | 3.4K | — |
| 2025-06-05 | HARVEY KEVIN | Grant | 11K | — |
| 2025-06-05 | HARVEY KEVIN | Grant | 3.4K | — |
| 2025-05-20 | Marie Olivier | Sell | 1.7K | $16.41 |
| 2025-05-20 | Bottoms Dave | Sell | 1.6K | $16.41 |
| 2025-05-19 | Brown Hayden | Sell | 5.0K | $16.61 |
| 2025-05-19 | Brown Hayden | Sell | 4.0K | $16.59 |
| 2025-05-19 | Marie Olivier | Sell | 528 | $16.78 |
| 2025-05-19 | Marie Olivier | Sell | 444 | $16.81 |
| 2025-05-19 | Brown Hayden | Sell | 9.6K | $16.56 |
| 2025-05-19 | Bottoms Dave | Sell | 2.1K | $16.66 |
| 2025-05-19 | Gessert Erica | Sell | 20K | $16.56 |
| 2025-05-19 | Brown Hayden | Sell | 7.8K | $16.58 |
| 2025-05-18 | Gessert Erica | Option exercise | 38K | — |
| 2025-05-18 | Brown Hayden | Option exercise | 18K | — |
| 2025-05-18 | Marie Olivier | Option exercise | 1.2K | — |
| 2025-05-18 | Marie Olivier | Option exercise | 1.4K | — |
| 2025-05-18 | Brown Hayden | Option exercise | 9.6K | — |
| 2025-05-18 | Brown Hayden | Option exercise | 7.6K | — |
| 2025-05-18 | Bottoms Dave | Option exercise | 3.8K | — |
| 2025-05-18 | Brown Hayden | Option exercise | 15K | — |
| 2025-05-15 | Marie Olivier | Sell | 3.1K | $17.14 |
| 2025-05-15 | Bottoms Dave | Sell | 1.0K | $17.14 |
| 2025-05-15 | Brown Hayden | Sell | 60K | $17.16 |
| 2025-05-14 | LAYTON THOMAS | Sell | 250K | $17.52 |
| 2025-05-13 | LAYTON THOMAS | Sell | 250K | $17.47 |
| 2025-05-12 | NELSON ELIZABETH A | Sell | 60K | $17.43 |
| 2025-05-12 | Brown Hayden | Sell | 20K | $17.09 |
| 2025-05-07 | Brown Hayden | Sell | 40K | $15.92 |
| 2025-03-19 | Bottoms Dave | Sell | 9.6K | $13.46 |
| 2025-03-19 | Marie Olivier | Sell | 2.6K | $13.46 |
| 2025-03-18 | Marie Olivier | Option exercise | 1.4K | — |
| 2025-03-18 | Marie Olivier | Sell | 1.5K | $13.07 |
| 2025-03-18 | Bottoms Dave | Option exercise | 9.0K | — |
| 2025-03-18 | Bottoms Dave | Sell | 5.4K | $13.07 |
| 2025-03-18 | Marie Olivier | Option exercise | 2.6K | — |
| 2025-03-18 | Gessert Erica | Option exercise | 8.4K | — |
| 2025-03-18 | Gessert Erica | Sell | 4.3K | $13.07 |
| 2025-03-18 | Brown Hayden | Option exercise | 18K | — |
| 2025-03-18 | Brown Hayden | Sell | 9.1K | $13.07 |
| 2025-03-18 | Bottoms Dave | Option exercise | 6.0K | — |
| 2025-03-07 | Brown Hayden | Sell | 60K | $14.20 |
| 2025-02-19 | Marie Olivier | Sell | 1.5K | $17.71 |
| 2025-02-19 | NELSON ELIZABETH A | Option exercise | 75K | $3.67 |
| 2025-02-19 | NELSON ELIZABETH A | Sell | 73K | $17.57 |
| 2025-02-19 | NELSON ELIZABETH A | Sell | 1.9K | $18.01 |
| 2025-02-19 | Bottoms Dave | Sell | 2.2K | $17.69 |
| 2025-02-18 | Brown Hayden | Option exercise | 18K | — |
| 2025-02-18 | Gessert Erica | Option exercise | 38K | — |
| 2025-02-18 | Gessert Erica | Sell | 14K | $16.15 |
| 2025-02-18 | Bottoms Dave | Option exercise | 3.8K | — |
| 2025-02-18 | Bottoms Dave | Sell | 1.5K | $16.15 |
| 2025-02-18 | Brown Hayden | Option exercise | 5.1K | — |
| 2025-02-18 | Brown Hayden | Option exercise | 2.6K | — |
| 2025-02-18 | Brown Hayden | Option exercise | 9.6K | — |
| 2025-02-18 | Brown Hayden | Option exercise | 7.6K | — |
| 2025-02-18 | Brown Hayden | Option exercise | 15K | — |
| 2025-02-18 | Brown Hayden | Sell | 21K | $16.15 |
| 2025-02-18 | Marie Olivier | Option exercise | 1.4K | — |
| 2025-02-18 | Marie Olivier | Option exercise | 1.2K | — |
| 2025-02-18 | Marie Olivier | Sell | 1.1K | $16.15 |
| 2025-02-14 | Marie Olivier | Sell | 335 | $16.48 |
| 2025-01-28 | NELSON ELIZABETH A | Gift | 33K | — |
| 2025-01-28 | NELSON ELIZABETH A | Gift | 33K | — |
| 2025-01-21 | Marie Olivier | Sell | 257 | $16.00 |
| 2025-01-18 | Marie Olivier | Option exercise | 592 | — |
All non-derivative Form 4 activity (SEC), newest first.
Notable events (8-K)
| Date | Items | |
|---|---|---|
| 2026-06-23 | Material agreementDebt obligationExhibits | filing ↗ |
| 2026-06-05 | Exec/director changeShareholder vote | filing ↗ |
| 2026-05-07 | Results2.05Reg FDExhibits | filing ↗ |
| 2026-03-18 | Exec/director change | filing ↗ |
| 2026-02-18 | Other | filing ↗ |
| 2026-02-09 | Results5.03Exhibits | filing ↗ |
| 2025-12-11 | Exec/director change | filing ↗ |
| 2025-11-03 | ResultsExhibits | filing ↗ |
Recent filings
| Form | Filed | Period | Accession |
|---|---|---|---|
| 8-K | 2026-06-23 | 2026-06-23 | 0001627475-26-000039 ↗ |
| 8-K | 2026-06-05 | 2026-06-04 | 0001627475-26-000036 ↗ |
| 10-Q | 2026-05-07 | 2026-03-31 | 0001627475-26-000034 ↗ |
| 8-K | 2026-05-07 | 2026-05-07 | 0001627475-26-000033 ↗ |
| 8-K | 2026-03-18 | 2026-03-12 | 0001627475-26-000018 ↗ |
| 8-K | 2026-02-18 | 2026-02-18 | 0001627475-26-000015 ↗ |
| 10-K | 2026-02-13 | 2025-12-31 | 0001627475-26-000012 ↗ |
| 8-K | 2026-02-09 | 2026-02-03 | 0001627475-26-000005 ↗ |
| 8-K | 2025-12-11 | 2025-12-08 | 0001627475-25-000063 ↗ |
| 10-Q | 2025-11-04 | 2025-09-30 | 0001627475-25-000058 ↗ |
| 8-K | 2025-11-03 | 2025-11-03 | 0001627475-25-000055 ↗ |
| 8-K | 2025-09-03 | 2025-09-03 | 0001627475-25-000052 ↗ |