Open-source project
ustaxes/UsTaxes avatar
ustaxes/UsTaxes

UsTaxes Review: Filing Federal 1040 Without Uploading Personal Data

Tax filing web application

1,682 stars141 forksTypeScriptAGPL-3.0

At a glance

What is it?
UsTaxes is a client-side TypeScript application for preparing Federal 1040 returns, supported schedules, and a limited state return. It suits filers whose documents fit its documented coverage, but its state support and release history require careful review before adoption.
Who is it for?
UsTaxes should be adopted by filers with the listed income documents, schedules, and credits whose situation is fully supported by the source files. It should not be selected for complex state filing or unsupported schedules without reviewing `/src/stateForms/<state>/<relevant form>`.
Can I use it commercially?
Yes, with strict conditions. AGPL-3.0 is a network copyleft licence: if people use a modified version over a network, for example as a hosted service, you must offer them its source code under the same licence.
Is it still maintained?
Yes. The repository received new commits within the last day.
What is it written in?
Mainly TypeScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.

Editorial analysis

UsTaxes Targets Federal 1040 Filing With Local Data Storage

UsTaxes addresses people who want to prepare and file a Federal Form 1040 without sending their personal information to a hosted filing service. The README describes both a browser application at `https://ustaxes.org/` and standalone desktop releases. Its central privacy choice is client-side operation: data entered into the web application is persisted in the site's `localstorage`, and the README states that personal information does not leave the user's computer.

That does not make UsTaxes suitable for every tax situation. The documented scope covers tax years 2020 through 2025, but support is defined by particular income forms, schedules, credits, and state returns rather than by every feature found on Form 1040. The project lists common W-2, interest, dividend, brokerage, retirement, student-loan-interest, and Social Security forms. It also includes forms for capital transactions, health savings accounts, additional Medicare tax, and net investment income tax.

The intended user therefore has a return built from supported documents and can accept a state-filing boundary. People who need a state return outside Illinois, or who have tax situations absent from the documented schedules, need to inspect the implementation rather than assume the Federal 1040 interface covers them.

How UsTaxes Turns Supported Tax Data Into a Filing

The repository layout identifies a React and TypeScript web application, with application code under `src`, JSON schemas under `schemas`, shared data-processing dependencies in `package.json`, and a Tauri integration under `src-tauri`. The documented data flow starts with user-entered tax information. The application persists that information locally through `localstorage`, then uses tax-year logic and supported form data to assemble the Federal return and its schedules.

The README explicitly asks users to report errors in the generated PDF, so PDF generation is part of the practical filing path. The dependencies include `pdf-lib`, while the TypeScript source and schemas provide the application's typed tax model and validation structures. Together, those files indicate a local document-generation workflow rather than a server-oriented submission service. The documentation does not describe an IRS e-file transmission flow, account creation, or remote persistence, so this review does not treat UsTaxes as a remote e-filing portal.

State logic is organized separately. For partially implemented states, the README directs contributors and reviewers to files such as `/src/stateForms/<state>/<relevant form>`. That organization makes coverage inspectable, but it also means the headline Federal support cannot stand in for complete state support.

Supported Forms Define UsTaxes' Practical Filing Boundary

UsTaxes documents support for several common income sources, including W2, 1099-INT, 1099-DIV, 1099-B, 1099-DA, 1098-E, 1099-R, and SSA-1099. The 1099-R coverage is specifically described as covering normal distributions from IRA and pension accounts. This distinction matters because a listed form number does not necessarily imply that every possible value or distribution type on that form is supported.

The return can attach Schedule 1 for the stated Schedule E and 1098-E data, Schedule 2, Schedule 3 for excess FICA tax, Schedule 8812, Schedule 1A, Schedule B, Schedule D, Schedule E, F1040-V, F8949 for uncovered investment transactions, F8889, F8959, and F8960. The documented credits are the credit for children and other dependents and the earned income credit. There is no broad statement that every line, exception, or qualification test has been implemented.

Schedule 1A is associated in the README with new deductions for tips, being elderly, car loans, and other OBBBA provisions. Readers should compare that named scope against their own return before entering tax data. Form coverage is strongest when a filer can map every relevant part of the return to a specifically listed form or schedule. Ambiguous support is a reason to inspect source files or seek an appropriately qualified tax professional, not a gap to fill by assumption.

Illinois Support Is Partial While Nine States Have No Income Tax

State coverage is the largest documented limitation. Illinois is the only state listed under implemented state returns, and its support is explicitly partial for tax year 2021. The README sends readers to `/src/stateForms/Illinois/<relevant form>` for details on unimplemented portions. Even with the newer tax-year inputs listed elsewhere in the project, the state documentation does not claim complete Illinois support across those years.

The project separately lists Alaska, Florida, Nevada, New Hampshire, South Dakota, Tennessee, Texas, Washington, and Wyoming as non-filing states. For people with only wage income in those jurisdictions, the README says the site should be able to file taxes because there is no state-level income tax. That is a narrower statement than full state-return support, and it should not be generalized to self-employment, investment income, or multi-state situations without confirming how those cases affect the filing path.

This makes UsTaxes a poor fit for residents of states whose state forms have not been implemented. It also makes automated or bulk deployment risky: the same application may fit one resident's federal-only situation and fail another resident's expected state workflow. State residency and the source of income need to be established before choosing this application.

Running UsTaxes Locally on Node 20 or Docker

For contributors or local users, the README requires Node 20 and recommends `nvm`. Select the required version in the project directory:

bash
nvm install 20
nvm use 20

The repository documentation then calls for a clean dependency installation followed by the application start command:

bash
npm ci
npm run start

`npm run start` runs `notice.js`, environment setup, project setup, and the development command through `concurrently`. The README does not document the host port used by this direct local route.

A Docker route is documented with Compose. It builds the included image and starts the service:

bash
docker-compose build
docker-compose up

The Compose file maps host port `3000` to container port `3000`. After the service starts, open `http://localhost:3000` in a browser. To stop and remove the containers, use:

bash
docker-compose down

This is a development and self-hosting path, not an IRS submission integration. The desktop application requires the separately documented Tauri environment setup and can be started after the web application dependencies are available:

bash
BROWSER=none npm run desktop

The `BROWSER=none` form prevents an additional browser window from opening. Release executables are built with `npm run desktop-release`, which maps to `tauri build` in `package.json`.

AGPL-3.0 and Tauri Shape Distribution Decisions

UsTaxes uses the AGPL-3.0 license. For users who merely run the published application, the repository facts do not by themselves explain every obligation. For developers who modify the code, distribute it, or offer the covered software over a network, the AGPL's source-code, notice, and licensing conditions need review. This is a license-compliance consideration rather than legal advice, and organizations should examine their exact deployment and distribution model.

The project has two delivery models. The web version is built with React dependencies and relies on browser storage. The desktop version adds Tauri packages and a `src-tauri` directory. The README directs desktop developers to the Tauri environment setup before running `npm run desktop`, because a complete desktop build depends on more than Node packages.

Maintenance activity and release activity should be considered separately. The repository is not archived, and its last push was on 2026-10-15. The listed recent releases are `app-v0.1.24` from 2024-04-07, `app-v0.1.23` from 2023-04-17, and `app-v0.1.22` from 2023-04-12. The repository layout has changed beyond the version shown in `package.json`, which is `0.1.23`, so selecting a deployment should be based on the exact commit and release artifacts rather than assuming that the package version fully identifies current behavior.

UsTaxes Differs From Commercial Filing Through Local-First Operation

A real alternative is a hosted commercial or government filing workflow whose server-side service accepts filing data and handles transmission. The difference is architectural: UsTaxes documents client-side processing and local persistence, while a server-backed service can support account-based submission, centralized updates, and workflows outside the user's browser. Neither approach can be selected solely from that privacy and architecture distinction.

UsTaxes gives the user control over local data storage and offers a desktop path through Tauri. In exchange, its documented coverage is narrower: one partially implemented state return, a selected list of Federal schedules and credits, and a release history whose newest listed release is from 2024. A hosted service may offer broader jurisdiction and form coverage, but it would require accepting its data handling and account workflow. The README does not document comparisons with named services, so the practical alternative is best described by its approach rather than by a specific vendor claim.

The README also does not document rollback, production backup procedures for `localstorage`, incident response, or a compatibility policy for old returns. Those omissions matter when deciding whether the application fits a long-term filing process. Inspect the exact implementation and operational requirements rather than treating the privacy statement as a complete assurance.

Editorial conclusion

UsTaxes should be adopted by filers with the listed income documents, schedules, and credits whose situation is fully supported by the source files. It should not be selected for complex state filing or unsupported schedules without reviewing `/src/stateForms/<state>/<relevant form>`. Verify tax-year coverage and generated PDF output first. The repository's AGPL-3.0 license also requires a separate review of its obligations before distribution or network deployment.

Frequently asked questions

Does UsTaxes support filing federal tax returns?

Yes. The README describes UsTaxes as a free, open-source application for filing the Federal 1040 form, with a web version and a standalone desktop version.

Where does the UsTaxes web application store personal tax information?

The application is strictly client-side and persists data in the site's `localstorage`. The README states that personal information does not leave the user's computer.

Which states can I file with UsTaxes?

Illinois has partially implemented state-return support for tax year 2021. The README also lists nine non-filing states for users who have only wage income: Alaska, Florida, Nevada, New Hampshire, South Dakota, Tennessee, Texas, Washington, and Wyoming.

How do I run UsTaxes locally?

The README specifies Node 20, followed by `npm ci` and `npm run start`. It also documents `docker-compose build` and `docker-compose up`, after which the browser should open `http://localhost:3000`.

Does UsTaxes support every state tax return?

No. The README lists only Illinois under implemented state returns and describes that support as partial. It directs readers to `/src/stateForms/<state>/<relevant form>` for unimplemented portions.

Official sources

  1. License: AGPL-3.0
  2. Project website
  3. README
  4. Releases
  5. ustaxes/UsTaxes on GitHub
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/ustaxes-ustaxes.svg)](https://hysenlabs.com/projects/ustaxes-ustaxes)

Was this useful?