프랑크푸르트 국민의회(독일어: Frankfurter Nationalversammlung)는 독일을 자유주의적으로 통일하려는 시도였던 1848년 독일 혁명으로 설치된 입헌 기관으로서, 1848년 5월 18일부터 1849년 5월 31일까지 프랑크푸르트의 파울 교회에서 열렸다. 빈 체제로 성립된 독일 연방은 프랑스 혁명의 여파로 확산된 자유주의와 민족주의가 추구하던 민족국가와는 거리가 멀었고, 1848년 프랑스 2월 혁명을 촉매제로 독일에서도 3월 혁명이 일어나 통일 국가 형성 운동이 힘을 얻게 된다. 독일 연방의 연방의회(Bundestag)는 1848년 3월 말과 4월 초 사이에 연방투표법(Bundeswahlgesetz)을 결의하여 독일 주민들이 국민의회를 선출할 수 있도록 하였고, 독일 최초로 자유 선거를 통해 의회가 구성된다. 국민의회는 곧 건국될 통일 독일을 위해 미리 설치된 입법부로서 기능하였으며, 제국법률(Reichgesetz)을 마련하였다. 1848년 6월 28일에는 중앙권력법을 통해 통일 독일을 위해 미리 설치된 행정부로서 임시 중앙 권력을 설립하였다. 또한 혁명의 양대 과제였던 자유주의와 민족주의 실현을 위하여 통일 국가의 헌법 마련 작업을 하였다.
국민의회는 길고 격한 논쟁 끝에, 의회 민주주의의 원칙에 기초하여 작성된 프랑크푸르트 국가헌법(Frankfurter Reichsverfassung)을 1849년 3월 28일 가결했다. 이 헌법은 1848년 3월 혁명 전야기(포어메르츠, Vormärz)에 1815년 이후의 반동적인 메테르니히 체제에 반대하여 일어난 자유주의와 민족국가 운동의 본질적 요구를 반영한 것이었다. 프랑크푸르트 헌법은 기본권체제를 규정하였다는 점이 특히 중요하며, 또한 세습황제를 정점으로 하는 입헌 군주제 도입 역시 계획하였다. 헌법은 대부분의 개별 독일 국가들과 프로이센의 양원에서 승인되었으나, 프로이센 왕은 이를 거부했으며 바이에른, 하노버, 오스트리아 같은 거대한 개별국가들 역시 헌법을 승인하지 않았다. 오스트리아는 체코와 헝가리 등 당시 합스부르크 왕가가 지배하던 영역을 오스트리아 단일국가로 묶는 새 헌법을 발표함으로써 통일 독일 국가에서 사실상 제외되었다.
프랑크푸르트 국민의회와 그 결과물인 프랑크푸르트 헌법은 프로이센 왕 프리드리히 빌헬름 4세가 그에게 추대된 독일 황제의 자리를 거부하면서 최종적으로 좌절되었다. 프로이센과 오스트리아는 그 해 5월 국민의회의 자국대표에게 의석을 포기하라고 명령했으며, 혁명을 노골적인 폭력으로 짓밟았다. 다른 국가들도 이에 따랐고, 국가헌법 운동(Reichsverfassungskampagne)은 실패로 끝났다. 계속되는 의석 포기는 국민의회 의원들의 수를 줄였고, 결국 몇몇 좌파 의원만이 남게 되었다. 1849년 5월 말 남은 의원들은 슈투트가르트로 옮겨 잔부의회를 만들었으나, 별 성과를 거두지 못한 채 6월 18일 뷔르템베르크 왕국 군대에 해산당했다.
혁명의 실패는 독일 자유주의의 패배를 의미했으며, 이는 근대 독일 역사에서 중요한 전환점이 되었다. 그러나 헌법의 본질적 부분은 20세기에 이어져 1919년 바이마르 공화국 헌법과 1949년 독일연방공화국 기본법의 밑바탕이 되었다.