Free CSV to Access — SQL + VBA macro — no upload

Import CSV into Access
SQL, VBA macro
and wizard guide.

Import CSV into Microsoft Access. CSVShift generates Access SQL with the correct data types (COUNTER, TEXT, LONG, YESNO) and a ready-to-run VBA DoCmd.TransferText macro. Plus a step-by-step Access import wizard guide. Your data never leaves your browser.

Your data never leaves your browser
Access SQL dialect
VBA DoCmd macro
Import wizard guide
Always free
CSV to Microsoft Access  100% client-side
Drop your CSV file here
.csv, .txt or .tsv — generates Access SQL + VBA macro
or paste CSV directly
 Generated

      
Import CSV with the Access wizard

The built-in Access import wizard — no SQL or VBA required for one-off imports.

  1. Open your Access database (.accdb)
  2. Click the External Data tab in the ribbon
  3. Click New Data Source → From File → Text File
  4. Browse to your CSV file, click OK
  5. Select Delimited and click Next
  6. Set delimiter to Comma, check First Row Contains Field Names
  7. Review field data types — change any incorrect ones, click Next
  8. Choose Let Access add primary key or No primary key, click Next
  9. Enter the target table name, click Finish
Access data types — what CSVShift infers

How CSV column values map to Access field types.

Access typeWhen usedMax value
COUNTERAuto-increment primary key (ID field)2,147,483,647
TEXT(n)Short strings — column values up to 255 chars255 chars
MEMOLong text — column values over 255 chars65,536 chars
LONGInteger column — all values are whole numbers±2,147,483,647
DOUBLEDecimal column — all values are floating-point±1.797×10³⁰⁸
YESNOBoolean — all values are true/false/yes/noTRUE / FALSE
DATETIMEDate column — all values match date pattern#MM/DD/YYYY#
Automate with VBA DoCmd.TransferText

For recurring imports — run the macro whenever the CSV updates.

Access VBA — DoCmd.TransferText
Sub ImportCSV() ' Run in Access VBA editor (Alt+F11) DoCmd.TransferText _ TransferType := acImportDelim, _ TableName := "MyTable", _ FileName := "C:\Users\YourName\data.csv", _ HasFieldNames := True End Sub
Paste into a Module in the VBA editor (Alt+F11 → Insert → Module). Call the sub from a button click event or run it with F5. For semicolon/tab-delimited files, save an Import Specification first via the wizard.
When do you need CSV to Access?
Small business data management

Many small businesses use Access as a lightweight database for inventory, customer records and order management. CSV exports from point-of-sale systems, e-commerce platforms and accounting software need to be imported into Access tables for reporting and querying.

Recurring CSV imports

The VBA DoCmd.TransferText macro automates CSV import — assign it to a button or run it from a scheduled task. When the CSV updates daily or weekly, one click imports the new data without going through the import wizard each time.

Legacy system migration

Organisations migrating from spreadsheets or legacy systems to Access need to bulk-import historical CSV data. The generated SQL with correct Access types avoids the import wizard's type inference errors on mixed-format data.

Access + Excel reporting

Access is often used as the backend database with Excel as the reporting front end. Importing CSV data into Access first enables SQL queries, relationships and data validation before the data reaches Excel dashboards.

Related CSV tools
Popular searches
csv to access import csv into access import csv to microsoft access how to import csv into access csv to access database access import csv vba docmd.transfertext csv import csv to access table csv to accdb converter access vba import csv file how to import csv into access automatically microsoft access csv import wizard

Access SQL + VBA
generated in your browser. No upload.

Microsoft Access .accdb is a proprietary binary format (Jet/ACE engine) that cannot be created in a browser. CSVShift generates the next best thing: Access SQL with the correct dialect — COUNTER for auto-increment, YESNO for booleans, MEMO for long text, date literals with # delimiters — and a complete VBA DoCmd.TransferText macro for automated imports.

Access SQL dialect
[Brackets] for identifiers, COUNTER/TEXT/LONG/DOUBLE/YESNO/DATETIME types, # date literals — correct for Access.
VBA DoCmd macro
Ready-to-paste DoCmd.TransferText VBA code with your table name for automated recurring imports.
Import wizard guide
9-step guide for the Access External Data import wizard — no SQL knowledge required.
Free, no conditions
No row limit, no watermark, no account. Funded by display advertising only.
Frequently asked questions
How do I import a CSV file into Microsoft Access?
In Access: External Data tab → New Data Source → From File → Text File → browse to your CSV → Delimited → check First Row Contains Field Names → choose target table → Finish. For automated recurring imports, use the VBA macro CSVShift generates.
How do I automate CSV import into Access with VBA?
Use DoCmd.TransferText acImportDelim, , "TableName", "C:\file.csv", True. Open the VBA editor (Alt+F11), insert a Module, paste the generated macro, and run it with F5.
Why can't CSVShift create a .accdb file directly?
The Microsoft Access .accdb format is a proprietary binary format based on the Jet/ACE database engine — it requires Microsoft's native code to create. No browser-based tool can generate a valid .accdb file. CSVShift generates the best alternatives: Access SQL and a VBA macro.
Is my data safe when generating Access SQL online?
Yes. CSVShift generates the SQL and VBA entirely in your browser. Your CSV is never uploaded to any server.