{"id":19030168,"url":"https://github.com/statico/csvhacker","last_synced_at":"2025-07-24T09:37:23.943Z","repository":{"id":40503875,"uuid":"263435100","full_name":"statico/csvhacker","owner":"statico","description":"🛠 A tool to quickly view, filter, map, and reduce CSV/TSV files in the browser. Shareable links for easy collaboration with non-engineers.","archived":false,"fork":false,"pushed_at":"2023-10-24T23:50:34.000Z","size":9857,"stargazers_count":8,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-01T11:13:53.954Z","etag":null,"topics":["csv","csv-export","csv-import","csv-viewer","datagrid","react","tsv"],"latest_commit_sha":null,"homepage":"http://csvhacker.statico.io/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/statico.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-05-12T19:40:42.000Z","updated_at":"2024-07-16T09:56:20.000Z","dependencies_parsed_at":"2025-04-17T13:03:17.895Z","dependency_job_id":null,"html_url":"https://github.com/statico/csvhacker","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/statico/csvhacker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/statico%2Fcsvhacker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/statico%2Fcsvhacker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/statico%2Fcsvhacker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/statico%2Fcsvhacker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/statico","download_url":"https://codeload.github.com/statico/csvhacker/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/statico%2Fcsvhacker/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266822334,"owners_count":23989824,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-24T02:00:09.469Z","response_time":99,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["csv","csv-export","csv-import","csv-viewer","datagrid","react","tsv"],"created_at":"2024-11-08T21:16:46.487Z","updated_at":"2025-07-24T09:37:21.354Z","avatar_url":"https://github.com/statico.png","language":"JavaScript","readme":"# csvhacker\n\n## Goals\n\n- static web site\n- drag and drop importing of CSV files\n- fast and efficient viewing of large (~80MB) CSV files\n- cyberchef style UI for filters, all client side\n- xlsx import\n- csvfix utils\n- csv to long format\n- csv diff util\n- save files to drive using JS API\n\n## Roadmap\n\n1. [x] Base project with Tailwind, Next.js\n1. [x] Auto-deploy to csvhacker.statico.io\n1. [x] Load CSV data from URL\n1. [x] Load CSV data from file quickly and responsively\n1. [x] Filter basics: toolbox \u0026 drag and drop\n1. [x] Serialize filters to URL\n1. [x] Virtualized and fast table rendering\n1. [x] Drag \u0026 drop\n1. [x] Configurable filters - head, tail\n1. [x] Save to CSV\n1. [x] Save to XLSX\n1. [x] Input options\n1. [x] Output options\n1. [x] Test with various data sources\n1. [x] Debounce setUrlState\n1. [x] Filters: find, exclude\n1. [x] Filters: pick (columns)\n1. [x] Filters: edit\n1. [x] Filters: rmnew, trim, upper, lower\n1. [x] Filters: split\n1. [x] Preserve header option\n1. [x] Filters: reduce (and add state variable to custom)\n1. [x] Filters: sort\n1. [x] Filters: date format\n1. [x] Sticky header row\n1. [x] Debounce input processing\n1. [x] URLs don't paste well in Slack\n1. [x] File or URL modal\n1. [ ] Tooltips\n1. [ ] UI/UX pass\n1. [ ] XLSX import\n1. [x] Better grid implementation\n1. [ ] Resizable sidebar (and keep state)\n1. [ ] Keep column size state in sidebar\n1. [ ] Hijack Cmd-F to insert a find filter instead of searching the doc\n1. [ ] Make raw data viewing smarter? (monspace mode? show spaces?)\n1. [ ] Final pass on README \u0026 docs\n1. [ ] Upgrade React \u0026 everything to get rid of experimental\n1. [ ] Google Sheets import/export\n\n## To Fix Later\n\n- Next.js experimental mode\n- Experimental `react` and `react-dom` deps\n- Recoil.js UNSTABLE usage\n- Recoil.js effects requires setTimeout() in initializer\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstatico%2Fcsvhacker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstatico%2Fcsvhacker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstatico%2Fcsvhacker/lists"}