Get the data

Free. You will be asked to confirm an email address before the files are built — that is the only gate, and it is there so we can tell you when a large export is ready.

Preview the first 100 rows

What this is

OGA040, copybook FLW700A1. One row per RRC field number — 65,826 of them, every one distinct — carrying the field's name, the district it is in, its county code, whether it spans more than one county, and whether the Commission classifies it as OIL, GAS or O & G.

This is the Commission's own answer to "what does this eight-digit field number mean". Three other files in this catalogue carry a field name beside a field number and none of them is that answer: the drilling-permit extract copies a name in beside the number, PDQ keeps its own directory, and the statewide field tape (flf900) keeps a third. This is the published list, and it is the one to settle a disagreement against.

There are disagreements. Measured against production on 2026-08-22: all 115,657 rows of the drilling-permit extract resolve to a row here, and on 25 of the 3,804 distinct field numbers it uses, the name it copied in is not the published one. The permits pipeline strips apostrophes and double quotes, so it writes TOM OCONNOR (4150) where RRC publishes TOM O'CONNOR (4150), and BREEDLOVE B (CLEARFORK) where RRC publishes BREEDLOVE "B" (CLEARFORK). Group a permit count by the name a permit carries and those fields split in two.

The county code, the multi-county flag and the oil/gas classification are here and in none of the other three.

What you can do with it

Decode a field number anywhere it appears — a W-1, a P-4, a completion, a production report, a severance-tax filing — and get back RRC's own spelling of the name rather than a copy of it.

Find every field whose name matches a play or a formation: the field-name filter is a contains match, so SPRABERRY returns all 197 Spraberry field numbers, across Districts 08, 7C and 8A.

Filter the whole directory by district, county, oil/gas classification or the multi-county flag — 4,588 fields cross a county line — and export it as CSV, Excel or Parquet.

Join it to the field rules, the PDQ field directory or the statewide field tape to put a name on rules, allowables and production; all three meet it 1:1 on the field number.

Gotchas

A name is not a key. 65,826 field numbers carry 65,702 distinct names, and 95 names are used by more than one number — SPRABERRY (TREND AREA) is 85279200 in District 7C and 85280300 in District 08. Join on the number.

The manual's claim that "the first five digits of the field number are unique to each field" is not true of the published file: 8,976 of the 21,522 five-digit prefixes carry more than one name. `field_prefix` and `reservoir_no` are the manual's split of the number and are useful for grouping a field's reservoirs, but the key is the whole eight digits.

Field numbers are eight digits with leading zeros and are frequently written without them elsewhere. Both forms are here: `field_no` is the number as an integer, which is what `texas.permits.field_no` and the statewide field tape hold, and `field_no_text` is the published eight-character form, which is what PDQ and the Oracle field-rules export hold. A CHECK constraint refuses any row where the two disagree.

`district` is the designation RRC PRINTS (01-06, 6E, 7B, 7C, 08, 8A, 09, 10), not the internal number. The file itself writes 07B, 08A and 06E; the loader drops the leading zero before a letter so the column joins to the rest of the catalogue. District 6E appears exactly once in 65,826 rows (field 27302001, EAST TEXAS), so a per-district count of it is not evidence of anything. District 8B is correctly absent — the manual reserves it and RRC has never used it.

`county_code` is the three-digit RRC county code, which for onshore Texas is also the county's FIPS code. Only the ODD codes 001-507 appear: the manual's Appendix A also assigns 600-715 to 23 offshore areas and not one of them is in the file. Eleven rows carry 000, which is in no appendix at all — they are the statewide district WILDCAT fields, one per district, and they are not in a county.

The record is 82 bytes on disk, not the 80 the manual states: the copybook's 80-byte card image plus CRLF. If you parse the original yourself, read it at a stride of 82 — 80 divides the file size with a remainder, and a reader that takes the manual at its word desynchronises on the second record and reads every column of every record after it at the wrong offset, without erroring, because every field is fixed-width text.

Two more things the manual gets wrong about the original file, both irrelevant to the tables here and both a trap if you open it yourself. The FILLER at position 65 is sixteen NUL bytes, not the spaces the copybook declares, which is why grep calls the published file binary. And the volume and header labels the manual promises are not there: line 1 is a data record (District 01, field 00002001, O & G WILDCAT), so nothing should be skipped.

FIELD-NUMBER-OLD and FIELD-DATE-CHANGED at positions 53-64 are "no longer maintained" and are zeros on all 65,826 records, so they are not columns here. The loader reports it loudly if RRC ever starts filling them again.

Record layout

11 columns. Byte positions are 1-based and come from the RRC record layout, so you can check our decoding against the original file yourself.

field_names 11 columns

Record layout for field_names — 11 columns, with byte positions
# Column Type Bytes RRC name Meaning Lookup
1 field_no key join integer FIELD-NUMBER The eight-digit RRC field number as a whole number, and the key of this file: 65,826 records, 65,826 distinct values. Stored as an integer because texas.permits.field_no and texas.fl_field.field_no are integers and joining to them is the point of the table; field_no_text beside it keeps the leading zeros. e.g. 85280300
2 field_no_text join char 4-11 FIELD-NUMBER The same number as the eight characters RRC publishes, leading zeros kept -- 00002001, not 2001. This is how the number is printed on a W-1, a P-4 and every RRC query screen, and how PDQ and the Oracle field-rules export key on it. A CHECK constraint refuses the row if it ever stops agreeing with field_no. e.g. 85280300
3 district join text 1-3 FIELD-DISTRICT The district as RRC PRINTS it: 01-06, 6E, 7B, 7C, 08, 8A, 09, 10. The file writes the three-character form 07B, 08A and 06E; the loader drops the leading zero before a letter, reversibly, because texas.fl_field.district_name, texas.field_rules_field.district_code and PDQ all store the unpadded spelling and a column carrying the file's would join to nothing. Numeric districts are untouched. District 6E appears exactly ONCE in 65,826 rows (field 27302001, EAST TEXAS); 8B, which the manual reserves, appears not at all. e.g. 08 RRC district (printed designation)
4 county_code char 12-14 FIELD-COUNTY-CODE The three-digit RRC county code, which for onshore Texas is also the county's FIPS code. 230 distinct values, every one of them an ODD number between 001 and 507 -- the manual's Appendix A also assigns 600-715 to 23 offshore areas and not one appears in the file. Eleven rows carry 000, which is in no appendix: they are the statewide district WILDCAT fields, one per district, which are not in a county. On a field flagged multi_county this is one of the counties, not all of them. e.g. 329 Texas county code
5 multi_county boolean 15 FIELD-MULTI-COUNTIES True where FIELD-MULTI-COUNTIES is '*', meaning the field crosses a county line: 4,588 of 65,826 fields, split 1,968 gas, 1,714 oil and 906 oil-and-gas. county_code still names only one of the counties; the statewide field tape's county segments carry the full list. e.g. true
6 field_class text 16-20 FIELD-CLASSIFICATION How the Commission classifies the field: 'GAS' (31,887 fields), 'OIL' (23,693) or 'O & G' (10,246). Copybook FLW700A1 declares exactly these three and the file carries exactly these three, with the trailing blanks trimmed. Not the same vocabulary as the field-rules export's field_class_code, which writes 'G', 'O' and 'B' over the same three groups. e.g. O & G
7 field_name join text 21-52 FIELD-NAME The field name as RRC publishes it, up to 32 characters and truncated at 32 by the record -- 1,488 names fill all of it, and SPRABERRY (TREND AREA CL. FK. S. runs out of field before it can close its bracket. This is the authoritative spelling: texas.permits carries a copy that has had its apostrophes and double quotes stripped, so it writes TOM OCONNOR where this writes TOM O'CONNOR, on 25 of the 3,804 field numbers it uses. A name is not a key -- 65,826 numbers carry 65,702 distinct names, and 95 names belong to more than one number. e.g. SPRABERRY (TREND AREA)
8 field_prefix char The first five digits of the field number, which the manual calls the field and says are "unique to each field". They are not: 8,976 of the 21,522 prefixes in the published file carry more than one name. Kept because grouping a field's reservoirs is otherwise a substring on every row, but the key is the whole eight digits. e.g. 85280
9 reservoir_no char The last three digits of the field number, which the manual calls the reservoir. 995 distinct values; 15 rows carry 000. field_prefix || reservoir_no is field_no_text on every row. e.g. 300
10 line_no integer 1-based position of the record in the published file, so a row can be traced to its line. EZRRC's, not RRC's: the file has no sequence number. 1 to 65,826 with no gaps, and record 1 is data -- the volume and header labels the manual promises are not in the file. e.g. 55851
11 ingested_at timestamptz When the upstream pipeline last wrote this row. Not an RRC field — it is EZRRC's provenance stamp, and it is what the freshness badge is measured against.

Code lookups used here

Every coded column in this dataset resolves to a real lookup table, so a well code of G can be read as what it actually means.

Texas county code 277 values

Read by county_code

The three-digit county code RRC uses, which is also the county's FIPS code. `canonical_value` carries the full five-digit state plus county FIPS, so a county joins straight to Census geography. There are 254 Texas counties and 277 codes; the extras are offshore areas and administrative entries.

See all 277 codes

Source: Generated from texas.pdq_gp_county

RRC district (printed designation) 14 values

Read by district

The district as the Railroad Commission prints it: 01-06, 6E, 7B, 7C, 08, 8A, 09 and 10, plus 20 for statewide. This is what appears on permits, completions, ST-1 filings and inspection reports. It is not interchangeable with the internal district number. A column holding '11' means District 8A under the internal numbering and nothing at all under this one.

RRC district (printed designation) — 14 codes and their meanings
CodeMeans
01 District 01 — San Antonio RRC District 01, administered from the San Antonio district office.
02 District 02 — San Antonio RRC District 02, administered from the San Antonio district office.
03 District 03 — Houston RRC District 03, administered from the Houston district office.
04 District 04 — Corpus Christi RRC District 04, administered from the Corpus Christi district office.
05 District 05 — Kilgore RRC District 05, administered from the Kilgore district office.
06 District 06 — Kilgore RRC District 06, administered from the Kilgore district office.
6E District 6E — Kilgore RRC District 6E, administered from the Kilgore district office.
7B District 7B — Abilene RRC District 7B, administered from the Abilene district office.
7C District 7C — San Angelo RRC District 7C, administered from the San Angelo district office.
08 District 08 — Midland RRC District 08, administered from the Midland district office.
8A District 8A — Midland RRC District 8A, administered from the Midland district office.
09 District 09 — Wichita Falls RRC District 09, administered from the Wichita Falls district office.
10 District 10 — Pampa RRC District 10, administered from the Pampa district office.
20 District 20 — State Wide RRC District 20, administered from the State Wide district office.

Source: Generated from texas.pdq_gp_district.district_name

What this joins to

The Railroad Commission never states these keys anywhere in the files. They are the reason the data is hard to use, so here they are with the exact columns on both sides.

Oil & Gas Field Name & Numbers joins to PDQ Field Directory on Field number text = Field number — one row here matches one row there.

is the same field as

The published name list and the production system's own field directory are the same 65,826 fields exactly: every row here finds one PDQ row and every PDQ row finds one row here. Both write the number as eight zero-padded characters, so the comparison is made as printed with no cast. They agree completely on what they share, which is itself the finding: the field name is identical on all 65,826 rows and so is the printed district. What each adds is different. PDQ carries the wildcat flag, the H2S flag and the derived rule type, and a SEPARATE county number for the oil and the gas schedule; this file carries one county code, the multi-county flag and the OIL / GAS / O & G classification. On 65,815 of the 65,826 fields the county here matches at least one of PDQ's two (33,721 the oil one, 41,853 the gas one); the eleven that match neither are the statewide WILDCAT rows whose county code is 000.

oil-gas-field-names-numbers.field_no_text = pdq-field-directory.field_no

Oil & Gas Field Name & Numbers joins to Oil & Gas Field Rules on Field number text = Field number — one row here matches one row there.

is governed by the rules for

From a field's published name to the spacing and density rules it is drilled under, on the eight-digit field number, zero-padded identically on both sides so no cast is needed. All 65,826 of the fields in the published list have a rules row. The Oracle export carries 65,836, so ten fields have rules and are not in the name file -- fields RRC has designated since the directory was last cut. That is the same ten the PDQ directory is missing, and it is the number to expect: a rules row with no published name is new, not broken.

oil-gas-field-names-numbers.field_no_text = oil-gas-field-rules.field_number

Oil & Gas Field Name & Numbers joins to Statewide Field Data on Field number — one row here matches one row there.

is the same field as

The published name list and the mainframe's field master (flf900) are the same 65,826 fields, one for one in both directions. Both hold the field number as an INTEGER, so this is the one field join in the catalogue that needs neither a cast nor a pad. The tape agrees with the published list on every row it can be compared on -- the field name is identical on all 65,826, and so is `fl_field.district_name`. The tape is the one to go to for the rules, the allowables, the monthly statistics and the discovery well; this is the one to go to for the county code, the multi-county flag and RRC's own oil/gas classification, which the tape records as a single character over different groupings.

oil-gas-field-names-numbers.field_no = statewide-field-data.field_no

Oil & Gas Field Name & Numbers joins to Drilling Permit Master and Trailer — Daily File (with latitudes and longitudes) on Field number — one row here matches many rows there.

is in the field

A drilling permit names the field it is permitted in by number, and this is the Commission's published name for that number. Exact over the whole table: all 115,657 permit rows resolve, across all 3,804 distinct field numbers they use. Both sides are integers, so no cast and no padding. Worth making even though the permit extract already carries a field_name beside the number, because on 25 of those 3,804 numbers the two disagree. The permits pipeline strips apostrophes and double quotes: it writes TOM OCONNOR (4150) where RRC publishes TOM O'CONNOR (4150), and BREEDLOVE B (CLEARFORK) where RRC publishes BREEDLOVE "B" (CLEARFORK). Group permits by the name they carry and those fields split in two; join here and they do not. This directory also carries the field's county code, its oil/gas classification and whether it crosses a county line, none of which is on the permit.

drilling-permits-daily.field_no = oil-gas-field-names-numbers.field_no

Oil & Gas Field Name & Numbers joins to Drilling Permit Master and Trailer — End of Month File (with latitudes and longitudes) on Field number — one row here matches many rows there.

is in the field

The same join as from the daily file, because the two datasets are two views of the same rolling daf420 extract: all 115,657 rows resolve, over 3,804 distinct field numbers, integer against integer. Use it to put RRC's own field name on a month of permits, and to avoid the 25 numbers where the name copied into the extract has lost its apostrophes and double quotes.

drilling-permits-monthly.field_no = oil-gas-field-names-numbers.field_no

Oil & Gas Field Name & Numbers joins to Gas Annual Report Field Table on District and Field name — rows can match many rows in both directions.

is the field

The annual gas report has no field number, only a name, so this is one of the two routes to one. Matched on the printed district and the exact field name -- both files write RRC's own capitalisation and RRC's own printed district, so neither side needs folding or translating -- 42,125 of the 42,138 annual rows find a published field. The thirteen that do not are the twelve 'DISTRICT TOTAL' rows and the one ' TEXAS TOTALS' row RRC writes into the field-name column. A name is not a key. 95 field names in the directory belong to more than one number, so 42,125 matched rows come back as 42,188, and 63 of the annual rows match more than one field. Check the field number you get before you build on it. The equivalent join to the PDQ field directory returns the same 42,125 for the same reason -- the two directories carry identical names. Take this one when the county code, the multi-county flag or the OIL / GAS / O & G classification is what is wanted.

gas-annual-report-field-table.district = oil-gas-field-names-numbers.district AND gas-annual-report-field-table.field_name = oil-gas-field-names-numbers.field_name

Oil & Gas Field Name & Numbers joins to Oil Annual Report Field Table on District and Field name — rows can match many rows in both directions.

is the field

The oil annual report has no field number either, so it takes the same route as its gas twin: the printed district and the exact field name, no folding and no translation on either side. 33,929 of the 33,943 rows resolve. The fourteen that miss are the thirteen 'DISTRICT TOTAL' lines and the one 'TEXAS TOTAL' line RRC writes into the field-name column -- every row naming an actual field finds one. A name is not a key here either: those 33,929 matched rows come back as 34,017, because 88 of them name a field the directory gives to more than one number in the same district. Group or take distinct rows if you are summing. Measured 2026-08-23, the day texas.oil_annual_field first held all thirteen districts. Until then it had held District 10 alone -- 741 rows for the whole state -- because the loader read RRC's 185-byte District 6E part as an empty file and refused the staged swap that carried the other twelve with it.

oil-annual-report-field-table.district = oil-gas-field-names-numbers.district AND oil-annual-report-field-table.field_name = oil-gas-field-names-numbers.field_name

Where this comes from

Published by
Texas Railroad Commission — the original page
Original format
Fixed-width Columns are byte ranges with no separators, described only in a scanned record layout.
RRC publishes
Updated once a month (Monthly. Available by the 4th working day.)
RRC download link
GoAnywhere MFT
Record layout manual
Our table
texas.field_names

EZRRC is an independent mirror of public-domain data published by the Texas Railroad Commission. It is not affiliated with or endorsed by the RRC. For any legal or regulatory purpose, verify against the official RRC release.