Blog · October 22, 2026

How to track your OPT unemployment days: the SEVP Portal, your school, a spreadsheet or an app

Only DHS's record in SEVIS is official. SEVP says SEVIS counts each day without employer information from your Actual OPT Start Date, and your DSO can see that count. For your own count, list every qualifying job and count each calendar day from your EAD start date that no job covers: 90 allowed, 150 in total with STEM OPT.

Summarized from official sources, checked October 22, 2026. Official pages change; follow the linked source if it differs from this summary.

This page compares the ways to keep track of OPT and STEM OPT unemployment days: what each one counts from, whether it's official, how much work it takes and where it falls short.

It doesn't repeat the counting rules in depth. Those are in the OPT unemployment days calculator, How OPT unemployment days are counted (part-time weeks, trips, cap-gap, a pending STEM application) and What happens if you go over 90 days.

Not legal advice. This article summarizes official U.S. government sources. It is not legal or immigration advice. EADly is not a law firm and is not affiliated with USCIS, DHS, ICE or SEVP. Confirm your situation with your DSO or a qualified immigration attorney. Last checked October 22, 2026. Each source's own date is in the Sources list.

The methods compared

MethodWhat it counts fromOfficial?EffortLimits
SEVIS, through your DSOThe employer information in your SEVIS record, from your Actual OPT Start DateYes. It's DHS's recordAsk your DSOShows only what was reported. A missing or misdated job shows as unemployment
SEVP PortalYour authorizations and the employer dates reported for themThe official reporting tool. It shares data with SEVISLog inThe help pages and 2024 user guide don't mention an unemployment count
Your school's processWhatever your school collects: a form, email or web pageA way to report to your DSO, not a countVariesAsk your school what, if anything, it shows you
Your own spreadsheetYour EAD dates and the job dates you type inNoMedium: you build it and keep it currentTyping or formula mistakes. No link to SEVIS
EADly appThe EAD dates and jobs you saveNoLow once your dates are savedNo SEVIS connection. Reports nothing. Only as complete as the jobs you save
EADly web calculator or open-source scriptDates you enter each timeNoLow, but nothing is savedCounts dates only. No reminders or history

The rule every method is counting against: on post-completion OPT, no more than 90 days of unemployment in total. With a 24-month STEM extension, no more than 150 days "during a total OPT period," including the post-completion OPT period (8 CFR 214.2(f)(10)(ii)(E)).

The official record: SEVIS and your DSO

  • How SEVIS counts. SEVIS uses employer data to "look back to the Actual OPT Start Date for that period of OPT" and "count each day without employer information." For STEM OPT, the count includes days accrued on post-completion OPT (SEVIS Help Hub, Unemployment Counter).
  • The counter. SEVIS shows days allowed, accrued and remaining for the active OPT or STEM OPT period (same page). That page is written for school officials. SEVIS also gives DSOs an alert list of accrued unemployment days for students on OPT or STEM OPT (SEVIS Help Hub, F-1 OPT).
  • You can't open SEVIS yourself. "Students cannot access SEVIS." (SEVIS Help Hub, SEVIS and the SEVP Portal)
  • Who decides. SEVP's OPT guidance says a DSO "is not responsible for calculating unemployment time," and "DHS maintains responsibility for determining whether a student has violated his or her status by exceeding the permissible limit" (§7.4.3, SEVP Policy Guidance 1004-03). ICE says this 2010 guidance "remains in effect," except where its 17-month STEM content conflicts with the 24-month STEM rule (ICE, Practical Training).

SEVIS is only as accurate as the employer data in it. "A student whose record lacks employer information is considered unemployed," and employer dates outside your actual OPT dates make you appear "as unemployed" (SEVIS Help Hub, F-1 OPT). After you report a change, DSOs have 21 days to update SEVIS (SEVIS Help Hub, Add, Edit, Delete OPT Employer).

Questions to ask your DSO:

  • What does SEVIS show for my employers and their dates?
  • What does the unemployment counter show: days allowed, accrued and remaining?
  • Does anything need correcting?

What the SEVP Portal shows you

  • What it's for. Students on post-completion OPT can update addresses, phone numbers and employer information, and "monitor their employment authorization." The portal "shares information with SEVIS but does not give students direct access to SEVIS" (SEVP Portal Overview).
  • The Edit Employment page. It lists each employment authorization with its SEVIS-assigned number, type, dates of employment and number of employers. Expanding one shows your employers and their dates. If the authorization details are wrong, contact your DSO (Update Employer Information; SEVP Portal Student User Guide).
  • View History. It shows changes to your portal record, with the old and new values (Navigate the SEVP Portal).
  • No unemployment count described. The portal help pages and the 2024 Student User Guide we checked don't mention an unemployment count, so we can't say whether students see one. Ask your DSO for the SEVIS figure.

What it's useful for: checking that every job is listed with the right start and end dates, since those dates drive the SEVIS count. Students can change contact and employment information "up to 15 days after the end date" of their OPT (SEVIS and the SEVP Portal). STEM OPT students can't add an employer in the portal. A new employer goes to the DSO on a new Form I-983 (Update Employer Information). Field-by-field help is in EADly's SEVP Portal guide.

Your school's process

  • SEVP's guidance says a student "should consult with his or her DSO about the preferred method of reporting changes." SEVP recommends email, "as it provides both evidence of reporting and the date reported," and says "some schools may provide other electronic means (such as a Web page)" (§7.3.2, SEVP Policy Guidance 1004-03).
  • DSOs "cannot limit a student's access to the portal," but they can require students to use it (SEVIS and the SEVP Portal).
  • The same guidance says to keep "a record of all reports made to the DSO and the method by which the reports are made" (§7.3.2).

A school form or email is how you report to your DSO. Whether your school also shows you a count is up to the school, so ask your international office.

A spreadsheet: a simple method that matches the rule

Build these rules in:

  1. Start on the "Valid From" date on your EAD. "OPT authorization begins on the employment start date shown on the student's EAD." Days before it don't count (§7.1.6, SEVP Policy Guidance 1004-03).
  2. Count every calendar day without qualifying work. "Each day (including weekends)" without qualifying employment counts (same section).
  3. Treat a job's first and last days as days worked. This is how the EADly app, calculator and script count.
  4. List only qualifying jobs. On post-completion OPT, the job must relate to your degree, and you must work "at least 20 hours per week." A variable schedule should "average out to at least 20 hours per week" within a month (§7.1.5). On STEM OPT, you must work at least 20 hours a week "by each qualifying STEM OPT employer" (USCIS Policy Manual, Vol. 2, Pt. F, Ch. 5).
  5. Stop at today, or at your authorization end date if that's earlier.
  6. Keep one running total. The STEM limit of 150 includes the days used on post-completion OPT, so don't start a new sheet at zero for STEM OPT.

The layout and formulas

Put headings in row 1, enter dates as dates, list jobs in date order, and leave the end date blank for a job you still have. These formulas work in Excel and Google Sheets, because subtracting one date from another gives a number of days. Format column D as a number, not a date.

RowAB: StartC: EndD: Unemployment days
2OPT EAD "Valid From"03/01/2026
3Job 104/06/202607/17/2026=MAX(0,B3-B2) gives 36
4Job 208/03/2026(blank: still working)=MAX(0,B4-C3-1) gives 16
5Count through10/22/2026=IF(C4="",0,MAX(0,B5-C4)) gives 0
6Total=SUM(D3:D5) gives 52
  • D3 counts the days from your EAD start to the day before your first job.
  • D4 counts the gap between two jobs. The -1 keeps the old job's last day and the new job's first day as days worked. Add one row like this for each new job.
  • D5 counts the days after your last job ended, through the count-through date. It's 0 while you're still working.
  • Days left: =90-D6, or =150-D6 once your STEM OPT has started.
  • Overlapping jobs: enter them as one period, from the earlier start to the later end, so the gap formulas stay right.

This example is fictional. Ana's OPT EAD is valid from Sunday, March 1, 2026. Her first job runs from Monday, April 6 to Friday, July 17. Her second starts Monday, August 3, and she's still there. Counting through October 22, 2026:

  • 36 days before the first job (March 1 to April 5);
  • 16 days between jobs (July 18 to August 2, weekends included);
  • 52 days used, 38 left of 90.

The open-source counter below gives the same result for these dates.

Where a spreadsheet falls short: it only knows what you type. It can't see SEVIS, it won't remind you, and one wrong date or formula changes the answer. It also can't tell you whether a job qualifies.

EADly: what it does and doesn't do

EADly is a private, local-first app for iPhone and Android. For unemployment days, it:

  • counts days used and left from the EAD dates and jobs you save. It counts every calendar day, weekends included, from your OPT EAD start date through today (or your OPT or STEM OPT end date, if earlier) that no saved field-related job covers. A job's start and end dates count as days worked.
  • moves the limit to 150 when the STEM OPT start date you saved arrives, or after your OPT end date while a STEM OPT application you filed by that date is pending, for up to 180 days (8 CFR 274a.12(b)(6)(iv)). Days already counted stay in the total.
  • saves every F-1 job (OPT, STEM OPT and CPT) on the free plan, so the count can include all of them.
  • shows an Unemployment Forecast card with days used and left on a date you pick, such as "What if your job ends on…".
  • includes unemployment checkpoints in its deadline alerts. Device delivery isn't guaranteed, so check the app too.
  • keeps a dated record of what you reported, in Quick Actions → Reporting & SEVP.

What it doesn't do: EADly has no connection to SEVIS or the SEVP Portal and can't see your official record. It doesn't report anything to your DSO, SEVIS or USCIS, and saving a job in EADly doesn't report it. It counts dates. It doesn't decide whether a job qualifies or whether you are in status. Its count is only as complete as the jobs you save.

Get EADly free on the App Store or Google Play.

The free calculator and the open-source counter

  • OPT unemployment days calculator. It runs in your browser, and nothing you enter is sent, saved or tracked. That also means you enter your dates each time. It follows the same counting rules as the app.
  • Open-source counter. A small Python and JavaScript script (MIT license, with tests) in our post on how the days are counted. It counts the same way, so you can use it to check a spreadsheet.

Which method should you use?

Any of them can keep a running count, and none of them replaces the official record. Whatever you choose:

  • count from your EAD start date and include every job;
  • check what's reported, in the SEVP Portal or with your DSO, whenever a job starts or ends;
  • ask your DSO what SEVIS shows, especially as your count gets close to the limit, and ask them to correct anything that doesn't match.

If you're near or past the limit, see What happens if you go over 90 days and talk to your DSO or an immigration attorney.

Common questions

Can I see my unemployment days in the SEVP Portal?

The portal shows your employment authorizations and the employer dates reported for them. The portal help pages and 2024 Student User Guide we checked don't mention an unemployment count. SEVIS has one, described on pages for school officials, so ask your DSO what it shows.

Is my own count official?

No. SEVIS is DHS's record, and DHS decides whether a student exceeded the limit. Your own count is a check. If it differs from SEVIS, ask your DSO which reports or dates need fixing.

How do I count OPT unemployment days in a spreadsheet?

Start on your EAD's "Valid From" date. Count every calendar day, weekends included, that no qualifying job covers, treating each job's first and last days as days worked. Stop at today or your authorization end. Compare the total with 90, or 150 in total once STEM OPT starts.

Do weekends count as unemployment days?

Yes. SEVP's 2010 guidance says "each day (including weekends)" without qualifying employment counts.

Does the count start over on STEM OPT?

No. The 150-day STEM limit includes the days used during post-completion OPT.

Does EADly report my job to my DSO or SEVIS?

No. EADly has no connection to SEVIS or the SEVP Portal. You still report through the portal or your DSO.

Sources

All checked October 22, 2026. The date in brackets is the date each page or document showed.

This article summarizes official U.S. government sources and is not legal or immigration advice. EADly is not a law firm and is not affiliated with USCIS, DHS, ICE or SEVP.

More guides