diff --git a/helios/election_urls.py b/helios/election_urls.py
index 7d00dd6522dfd93850234c3f98322e7c5faaa3e6..f63ff5845e8d0cb212a353f896b3ab27dcb6c008 100644
--- a/helios/election_urls.py
+++ b/helios/election_urls.py
@@ -16,6 +16,9 @@ urlpatterns = patterns('',
     (r'^/schedule$', one_election_schedule),
     (r'^/archive$', one_election_archive),
 
+    # badge
+    (r'^/badge$', election_badge),
+
     # adding trustees
     (r'^/trustees/$', list_trustees),
     (r'^/trustees/view$', list_trustees_view),
diff --git a/helios/views.py b/helios/views.py
index 91c28ec42b16622f18444ddcfe59173a2442f7fa..4760474065afca672010ec22da98921589e8220f 100644
--- a/helios/views.py
+++ b/helios/views.py
@@ -192,6 +192,11 @@ def one_election_schedule(request, election):
 def one_election(request, election):
   return election.toJSONDict()
 
+@election_view()
+def election_badge(request, election):
+  election_url = get_election_url(election)
+  return render_template(request, "election_badge", {'election': election, 'election_url': election_url})
+
 @election_view()
 def one_election_view(request, election):
   user = get_user(request)